前言
Scriptedcli类型是python语言编写
html文件作为界面
编写界面

关于如何编写界面可以参考Slicer编写界面规则
再选择图中的那个紫色XML Schema
编写处理
在testScriptedcli.py
#!/usr/bin/env python-real
import os
import sys
def main(input, sigma, output):
print("=================")
print(input)
print(sigma)
print(output)
import SimpleITK as sitk
reader = sitk.ImageFileReader()
#input等于文件名字
#通过文件的名字来读取文件
reader.SetFileName(input)
image = reader.Execute()
pixelID = image.GetPixelID()
gaussian = sitk.SmoothingRecursiveGaussianImageFilter()
gaussian.SetSigma(sigma)
image = gaussian.Execute(image)
caster = sitk.CastImageFilter()
caster.SetOutputPixelType(pixelID)
image = caster.Execute(image)
writer = sitk.ImageFileWriter()
writer.SetFileName (output)
writer.Execute (image)
if __name__ == "__main__":
if len (sys.argv) < 4:
print("Usage: testScriptedcli <input> <sigma> <output>")
sys.exit (1)
#sys.argv[1]对应的是<index>0</index>那个变量
#sys.argv[2]对应的是<index>1</index>那个变量
#sys.argv[3]对应的是<index>2</index>那个变量
#在scriptedcli中,界面向算法传递变量的方法就是上面那样的
main(sys.argv[1], float(sys.argv[2]), sys.argv[3])
实验
可以看到print的结果是
=================
#input文件的名字
/tmp/Slicer-jack/HDIG_vtkMRMLScalarVolumeNodeB.nrrd
#sigma的值
1.7
#output文件的名字
/tmp/Slicer-jack/HDIG_vtkMRMLScalarVolumeNodeC.nrrd
这篇博客介绍了如何使用Python的SimpleITK库进行图像处理。通过编写ScriptedCLI,实现了界面交互,用户可以指定输入图像、平滑滤波的sigma值和输出文件名。示例代码展示了读取图像、应用高斯滤波和保存处理后的图像的过程。
2198

被折叠的 条评论
为什么被折叠?



