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')
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐