Slicer中编写模块-Scriptedcli

前言

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值