我正在尝试使用ITK库和DemonsRegistrationFilter注册两个图像。设置我要注册的两个图像时遇到一些问题。当我编译时,我收到此错误:
ImageType
未在此范围内声明。
我首先想要使用python包装器,但我没有弄清楚如何操作,所以我必须使用c ++进行编码,我并不熟悉。它正在使用模板。如果有人可以帮助或给我一个简单的工作示例,那就太棒了。
此致
阿诺
答案 0 :(得分:1)
由于您对Python绑定感兴趣,您可能会对0.9版本的SimpleITK感兴趣,目前已添加了Demons注册过滤器。您可以在当前的git master上build it yourself或下载打包的nightly version。
这将使您免于一些这些讨厌的C ++模板问题。
答案 1 :(得分:0)
您确定使用cmake正确编译了ITK和您的项目吗?以下是注册http://www.itk.org/Wiki/ITK/Examples/Registration/LandmarkBasedTransformInitializer的示例,但此时您应首先查看的是cmake文件。 或者您可能已在函数内定义了Imagetype,并且您正在另一个函数中使用它。它甚至不是模板的问题,它来自c ++范围。
答案 2 :(得分:0)
如果您已正确构建ITK并使用Hello-World-ITK验证了构建(请参阅itk软件指南的第2.2.1节),那么您需要做的就是在图像中使用ImageType之前定义它-file阅读器/魔滤波器。
所以你需要在程序开头有这样的一行
typedef itk::Image<unsigned char, 3> ImageType; //Pixel type and dimension of your image