X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkSliceBySliceRelativePositionFilter.h;h=35b3b8d88afefefa7edba6a1b96eeea29637ffc4;hb=9829cfe09b2a21088c096da730290b343a7fb52d;hp=219f8672d0b0b410052ef4ab9128d4a0b951b462;hpb=38786c4da19b87319bbe3cecc145e3d1771d10da;p=clitk.git diff --git a/itk/clitkSliceBySliceRelativePositionFilter.h b/itk/clitkSliceBySliceRelativePositionFilter.h index 219f867..35b3b8d 100644 --- a/itk/clitkSliceBySliceRelativePositionFilter.h +++ b/itk/clitkSliceBySliceRelativePositionFilter.h @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ + ===========================================================================**/ #ifndef CLITKSLICEBYSLICERELATIVEPOSITIONFILTER_H #define CLITKSLICEBYSLICERELATIVEPOSITIONFILTER_H @@ -33,13 +33,12 @@ namespace clitk { template class ITK_EXPORT SliceBySliceRelativePositionFilter: - public clitk::FilterBase, - public itk::ImageToImageFilter + public AddRelativePositionConstraintToLabelImageFilter { public: /** Standard class typedefs. */ - typedef itk::ImageToImageFilter Superclass; + typedef AddRelativePositionConstraintToLabelImageFilter Superclass; typedef SliceBySliceRelativePositionFilter Self; typedef itk::SmartPointer Pointer; typedef itk::SmartPointer ConstPointer; @@ -69,34 +68,28 @@ namespace clitk { /** Input : initial image and object */ void SetInput(const ImageType * image); void SetInputObject(const ImageType * image); - + // Options + void PrintOptions(); itkGetConstMacro(Direction, int); itkSetMacro(Direction, int); - itkGetConstMacro(ObjectBackgroundValue, PixelType); - itkSetMacro(ObjectBackgroundValue, PixelType); - - itkSetMacro(OrientationType, OrientationTypeEnumeration); - itkGetConstMacro(OrientationType, OrientationTypeEnumeration); - 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(IgnoreEmptySliceObjectFlag, bool); + itkSetMacro(IgnoreEmptySliceObjectFlag, bool); + itkBooleanMacro(IgnoreEmptySliceObjectFlag); + + itkGetConstMacro(UseASingleObjectConnectedComponentBySliceFlag, bool); + itkSetMacro(UseASingleObjectConnectedComponentBySliceFlag, bool); + itkBooleanMacro(UseASingleObjectConnectedComponentBySliceFlag); protected: SliceBySliceRelativePositionFilter(); virtual ~SliceBySliceRelativePositionFilter() {} - int m_Direction; - PixelType m_ObjectBackgroundValue; - OrientationTypeEnumeration m_OrientationType; - double m_IntermediateSpacing; - double m_FuzzyThreshold; - bool m_ResampleBeforeRelativePositionFilter; - virtual void GenerateOutputInformation(); virtual void GenerateInputRequestedRegion(); virtual void GenerateData(); @@ -105,6 +98,10 @@ namespace clitk { ImagePointer object; ImagePointer m_working_input; ImagePointer m_working_object; + bool m_UniqueConnectedComponentBySlice; + int m_Direction; + bool m_IgnoreEmptySliceObjectFlag; + bool m_UseASingleObjectConnectedComponentBySliceFlag; private: SliceBySliceRelativePositionFilter(const Self&); //purposely not implemented