]> Creatis software - clitk.git/blobdiff - itk/clitkSliceBySliceRelativePositionFilter.h
Bug: Forgot Macro for itkv4 specific function
[clitk.git] / itk / clitkSliceBySliceRelativePositionFilter.h
index 219f8672d0b0b410052ef4ab9128d4a0b951b462..35b3b8d88afefefa7edba6a1b96eeea29637ffc4 100644 (file)
@@ -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 ImageType>
   class ITK_EXPORT SliceBySliceRelativePositionFilter:
-    public clitk::FilterBase, 
-    public itk::ImageToImageFilter<ImageType, ImageType> 
+    public AddRelativePositionConstraintToLabelImageFilter<ImageType>
   {
 
   public:
     /** Standard class typedefs. */
-    typedef itk::ImageToImageFilter<ImageType, ImageType>   Superclass;
+    typedef AddRelativePositionConstraintToLabelImageFilter<ImageType>   Superclass;
     typedef SliceBySliceRelativePositionFilter              Self;
     typedef itk::SmartPointer<Self>                         Pointer;
     typedef itk::SmartPointer<const Self>                   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