最近在研究3D-2D比如(CT和X-ray透视)的配准方法,其中很重要的一个大算法就是做DRR(digitally reconstruction radiography),简单的说就是用CT数据实现X-ray的效果,进而和术中X-ray的片子做配准,从而把术前的参数转化到术中。术中X-ray用几张图,从什么角度拍,就各异啦。
简单的介绍一下ITK中的DRR,它可以选择Xray source的角度和位置,通过调整X-ray filter进而达到在3D中把需要的数据投影到2D投影平面上。
![](https://img-blog.csdnimg.cn/20210924090752632.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAU0xpdeKApg==,size_20,color_FFFFFF,t_70,g_se,x_16)
Reference: DRRGenerator: A Three-dimensional Slicer Extension for the Rapid and Easy Development of Digitally Reconstructed Radiographs - Journal of Clinical Imaging Science
第一次简单先介绍一下ITK module library的安装(env:windows 10,linux系统应该没有问题伐)
到这个网址下载对应的ITK 发行版本,这个时间Ver5.3版本源码下载好像不能用把,可以选择其他版本
Download | ITK
本人解压到 C:\ITK4_13_3\InsightToolkit-4.13.3, 再创建一个 C:\ITK4_13_3\bin用于存放编译的binary VS文件。(提醒一下如果保存路径过长Cmake(3.21.2)可能会提示出错,所以我选择直接放在C:\ 下面),configuration过程中勾选(按照user manual来),如果有特定的module请查找user manual -> 2.2.3 Advanced Module Configuration
![](https://img-blog.csdnimg.cn/20210924092016244.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAU0xpdeKApg==,size_20,color_FFFFFF,t_70,g_se,x_16)
我选择的编译平台是VS2017,选择下面打开
![](https://img-blog.csdnimg.cn/20210924092606980.png)
构建ALL_BUILD项目(大概需要漫长的1hr hhhhh.....这个时候不妨选择阅读以下ITK user manual)《 InsightSoftwareGuide-Book1-5.2.1.pdf 》
![](https://img-blog.csdnimg.cn/20210924095418549.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAU0xpdeKApg==,size_20,color_FFFFFF,t_70,g_se,x_16)
Binary创建完后,可以用CMake创建一个简单的ITK项目HelloWorld (如果在C:\ITK4_13_3\bin\Examples 里面没有HelloWorld的CmakeList和源文件.CXX 可以根据User Manual里面的程序来构建)
![](https://img-blog.csdnimg.cn/20210924140708732.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAU0xpdeKApg==,size_20,color_FFFFFF,t_70,g_se,x_16)
第一个HelloWorld ITK项目完成
![](https://img-blog.csdnimg.cn/20210924140815662.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAU0xpdeKApg==,size_15,color_FFFFFF,t_70,g_se,x_16)
下一篇讲一下用 itkRayCastInterpolateImageFunction 来创建3D图像的DRR 2D Image.