医学图像配准工具SimpleElastix和Elastix的使用——Transformix的调用

Transformix是和Elastix配套使用的一个工具,它能将两个图像配准后的形变场应用到另外单独的一个图像上,使其能够获得相同的变换。
下面分别介绍用Elastix在命令窗口调用以及SimpleElastix调用的方法。

一、基于命令行调用Transformix

Transformix是Elastix一起配套的,安装完Elastix后就能够在命令窗口调用Transformix
在这里插入图片描述
调用的代码:

elastix -f exampleinput/CBCT.nii.gz -m exampleinput/CT.nii.gz -out exampleoutput -p exampleinput/parameters_Rigid.txt
transformix -in label_CT.nii.gz -out outputDir -tp TransformParameters.0.txt
//其中label_CT.nii.gz是预配准的图像;
//outputDir 是保存路径
//TransformParameters.0.txt是CBCT和CT用刚性配准后得到的Transform参数文件
二、利用SimpleElastix调用Transformix

代码如下:

# 获得transform
elastixImageFilter = sitk.ElastixImageFilter()
elastixImageFilter.SetFixedImage(sitk.ReadImage(r'.../CBCT_path'))
elastixImageFilter.SetMovingImage(sitk.ReadImage(r'.../CT_path'))
elastixImageFilter.SetParameterMap(sitk.ReadParameterFile(r'.../Parameters_Rigid.txt'))
elastixImageFilter.LogToConsoleOn()
elastixImageFilter.Execute()
sitk.WriteImage(elastixImageFilter.GetResultImage(), r'.../outdir')

# Instantiate SimpleTransformix
transformixImageFilter = sitk.TransformixImageFilter()
# Read Input
transformixImageFilter.SetMovingImage(sitk.ReadImage(r'.../label_path'))
transformixImageFilter.SetTransformParameterMap(elastixImageFilter.GetTransformParameterMap())
# Perform warp
transformixImageFilter.LogToConsoleOn()
transformixImageFilter.Execute()
# Write result image
sitk.WriteImage(transformixImageFilter.GetResultImage(),r'.../outdir')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值