X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkSliceBySliceRelativePositionFilter.h;h=90a1b2567e8cb4779bd8d9f21bfeeed15478b09e;hb=e98aadd388e8a4e0820459046307acfbba45239c;hp=e17a759b52fb810095fcc8ef3ee494c590e0ad82;hpb=cd0b3ebc56173699e23b90bc911e9caf8b7145c9;p=clitk.git diff --git a/itk/clitkSliceBySliceRelativePositionFilter.h b/itk/clitkSliceBySliceRelativePositionFilter.h index e17a759..90a1b25 100644 --- a/itk/clitkSliceBySliceRelativePositionFilter.h +++ b/itk/clitkSliceBySliceRelativePositionFilter.h @@ -53,6 +53,7 @@ namespace clitk { /** ImageDimension constants */ itkStaticConstMacro(ImageDimension, unsigned int, ImageType::ImageDimension); typedef itk::Image FloatImageType; + typedef itk::Image FloatSliceType; /** Some convenient typedefs. */ typedef typename ImageType::ConstPointer ImageConstPointer; @@ -70,56 +71,37 @@ namespace clitk { void SetInputObject(const ImageType * image); // Options - void PrintOptions(); + void PrintOptions(std::ostream & os = std::cout); itkGetConstMacro(Direction, int); itkSetMacro(Direction, int); - // itkGetConstMacro(ObjectBackgroundValue, PixelType); - // itkSetMacro(ObjectBackgroundValue, PixelType); - // itkSetMacro(OrientationTypeString, std::string); - // itkGetConstMacro(OrientationTypeString, std::string); - - // itkGetConstMacro(ResampleBeforeRelativePositionFilter, bool); - // itkSetMacro(ResampleBeforeRelativePositionFilter, bool); - // itkBooleanMacro(ResampleBeforeRelativePositionFilter); - - // itkGetConstMacro(IntermediateSpacing, double); - // itkSetMacro(IntermediateSpacing, double); - - // itkGetConstMacro(FuzzyThreshold, double); - // itkSetMacro(FuzzyThreshold, double); - - itkGetConstMacro(UniqueConnectedComponentBySlice, bool); - itkSetMacro(UniqueConnectedComponentBySlice, bool); - itkBooleanMacro(UniqueConnectedComponentBySlice); - - // itkGetConstMacro(AutoCropFlag, bool); - // itkSetMacro(AutoCropFlag, bool); - // itkBooleanMacro(AutoCropFlag); - - // itkGetConstMacro(InverseOrientationFlag, bool); - // itkSetMacro(InverseOrientationFlag, bool); - // itkBooleanMacro(InverseOrientationFlag); - - // itkGetConstMacro(RemoveObjectFlag, bool); - // itkSetMacro(RemoveObjectFlag, bool); - // itkBooleanMacro(RemoveObjectFlag); - - // itkGetConstMacro(CombineWithOrFlag, bool); - // itkSetMacro(CombineWithOrFlag, bool); - // itkBooleanMacro(CombineWithOrFlag); + itkGetConstMacro(UniqueConnectedComponentBySliceFlag, bool); + itkSetMacro(UniqueConnectedComponentBySliceFlag, bool); + itkBooleanMacro(UniqueConnectedComponentBySliceFlag); + + itkGetConstMacro(IgnoreEmptySliceObjectFlag, bool); + itkSetMacro(IgnoreEmptySliceObjectFlag, bool); + itkBooleanMacro(IgnoreEmptySliceObjectFlag); + + itkGetConstMacro(UseTheLargestObjectCCLFlag, bool); + itkSetMacro(UseTheLargestObjectCCLFlag, bool); + itkBooleanMacro(UseTheLargestObjectCCLFlag); + + itkGetConstMacro(ObjectCCLSelectionFlag, bool); + itkSetMacro(ObjectCCLSelectionFlag, bool); + itkBooleanMacro(ObjectCCLSelectionFlag); + itkGetConstMacro(ObjectCCLSelectionDimension, int); + itkSetMacro(ObjectCCLSelectionDimension, int); + itkGetConstMacro(ObjectCCLSelectionDirection, int); + itkSetMacro(ObjectCCLSelectionDirection, int); + itkGetConstMacro(ObjectCCLSelectionIgnoreSingleCCLFlag, bool); + itkSetMacro(ObjectCCLSelectionIgnoreSingleCCLFlag, bool); + itkBooleanMacro(ObjectCCLSelectionIgnoreSingleCCLFlag); protected: SliceBySliceRelativePositionFilter(); virtual ~SliceBySliceRelativePositionFilter() {} - // PixelType m_ObjectBackgroundValue; - // OrientationTypeEnumeration m_OrientationType; - // std::string m_OrientationTypeString; - // double m_IntermediateSpacing; - // double m_FuzzyThreshold; - // bool m_ResampleBeforeRelativePositionFilter; - virtual void GenerateOutputInformation(); virtual void GenerateInputRequestedRegion(); virtual void GenerateData(); @@ -128,12 +110,14 @@ namespace clitk { ImagePointer object; ImagePointer m_working_input; ImagePointer m_working_object; - bool m_UniqueConnectedComponentBySlice; + bool m_UniqueConnectedComponentBySliceFlag; int m_Direction; - // bool m_InverseOrientationFlag; - // bool m_RemoveObjectFlag; - // bool m_AutoCropFlag; - // bool m_CombineWithOrFlag; + bool m_IgnoreEmptySliceObjectFlag; + bool m_UseTheLargestObjectCCLFlag; + bool m_ObjectCCLSelectionFlag; + int m_ObjectCCLSelectionDimension; + int m_ObjectCCLSelectionDirection; + bool m_ObjectCCLSelectionIgnoreSingleCCLFlag; private: SliceBySliceRelativePositionFilter(const Self&); //purposely not implemented