1. 写一个滤波器;须清楚 ITK中的流水线机制;知道怎样用迭代器遍历图像;通过数值空间或物理空间
获取特殊像素点。可以通过继承: ImageToImageFilter类来重写自己的ITK滤波器,最简单的情况即是 重载
itkNewMacro sets up the object factory (for reference counted smart pointers)
itkGetMacro and itkSetMacro are used to access private member variables
3.还是没有搞懂 Typedefs, Self Superclass,Pointer ConstPointer这几个东西是做什么用的???
一个特定对象的流水线最大修改时间(Pipeline modified time) 是指其所有上流的数据对象和处理对象中修改时间的最大值。
常用的、可用于继承的ITK滤波器有:
ImageToImageFilter. UnaryFunctorImageFiter, BinaryFunctorImageFilter. ImageFunction MeshToMeshFilter. LightObject。其中使用 ImageToImageFilter产生不同于输入图像的输出图像时,需要重载GenerateOutputInformation.
重载GenerateData()过程中,需要重新分配内存空间,但是 ThreadedGenerateData()则不需要。
5.Streaming Large Data
流水线执行的细节: 通过 process object的Update()方法触发,然后委托到了 DataObject::Update()方法中。
然后 DataObject::Update()方法触发了以下三种方法:
DataObject::UpdateOutputInformation();
DataObject::PropagateRequesetedRegion();
DataObject::UpdateOutputData();
可以在 DataObject::UpdateOutputInformation()的执行过程中,重载 GenerateOutputInformation()方法来生成不同于输入图像的图像信息。
DataObject::PropagateRequesetedRegion()有三种方法:
EnlargeOutputRequestedRegion();
GenerateOutputRequestedRegion();
GenerateInputrRequestedRegion();
可以用来生成不同于输入图像大小的图像区域
获取特殊像素点。可以通过继承: ImageToImageFilter类来重写自己的ITK滤波器,最简单的情况即是 重载
GenerateData(void);和 void PrintSelf(std::ostream& os, Indent indent) const(测试框架中需要用到);
2.
itkNewMacro sets up the object factory (for reference counted smart pointers)
itkGetMacro and itkSetMacro are used to access private member variables
3.还是没有搞懂 Typedefs, Self Superclass,Pointer ConstPointer这几个东西是做什么用的???
一个特定对象的流水线最大修改时间(Pipeline modified time) 是指其所有上流的数据对象和处理对象中修改时间的最大值。
常用的、可用于继承的ITK滤波器有:
ImageToImageFilter. UnaryFunctorImageFiter, BinaryFunctorImageFilter. ImageFunction MeshToMeshFilter. LightObject。其中使用 ImageToImageFilter产生不同于输入图像的输出图像时,需要重载GenerateOutputInformation.
4.UnaryFunctorImageFiter 用于 生成对图像进行函数处理的滤波器 BinaryFunctorImageFilter 用于 两幅图像的操作
重载GenerateData()过程中,需要重新分配内存空间,但是 ThreadedGenerateData()则不需要。
5.Streaming Large Data
流水线执行的细节: 通过 process object的Update()方法触发,然后委托到了 DataObject::Update()方法中。
然后 DataObject::Update()方法触发了以下三种方法:
DataObject::UpdateOutputInformation();
DataObject::PropagateRequesetedRegion();
DataObject::UpdateOutputData();
可以在 DataObject::UpdateOutputInformation()的执行过程中,重载 GenerateOutputInformation()方法来生成不同于输入图像的图像信息。
DataObject::PropagateRequesetedRegion()有三种方法:
EnlargeOutputRequestedRegion();
GenerateOutputRequestedRegion();
GenerateInputrRequestedRegion();
可以用来生成不同于输入图像大小的图像区域