]> Creatis software - clitk.git/blobdiff - itk/clitkBooleanOperatorLabelImageFilter.h
Merge branch 'master' into OpenGL2
[clitk.git] / itk / clitkBooleanOperatorLabelImageFilter.h
index f81b4402a14cf2dbcc4f8995bb298e13b2992106..adb7116ea10b2c9aecc332f557ec98c486f921d2 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 CLITKBOOLEANOPERATORLABELIMAGEFILTER_H
 #define CLITKBOOLEANOPERATORLABELIMAGEFILTER_H
@@ -81,7 +81,8 @@ namespace clitk {
     // Set type of operation
     typedef enum {
       And = 0, 
-      AndNot = 1
+      AndNot = 1, 
+      Or = 2
     } OperationTypeEnumeration;
     itkGetMacro(OperationType, OperationTypeEnumeration);
     itkSetMacro(OperationType, OperationTypeEnumeration);
@@ -96,6 +97,9 @@ namespace clitk {
     itkStaticConstMacro(InputImage1Dimension, unsigned int, TInputImage1::ImageDimension);
     itkStaticConstMacro(InputImage2Dimension, unsigned int, TInputImage2::ImageDimension);
     itkStaticConstMacro(OutputImageDimension, unsigned int, TOutputImage::ImageDimension);
+
+    // I dont want to verify inputs information
+    virtual void VerifyInputInformation() { }
     
   protected:
     BooleanOperatorLabelImageFilter();
@@ -105,7 +109,8 @@ namespace clitk {
     virtual void GenerateInputRequestedRegion();
     virtual void GenerateData();
     
-    virtual void ReleaseInputs() { } // Do not release date to keep input in memory and continue ...    
+    // Do not release date to keep input in memory and continue ... 
+    virtual void ReleaseInputs() { } 
     
     Input1ImagePixelType mBackgroundValue1;
     Input2ImagePixelType mBackgroundValue2;
@@ -120,6 +125,7 @@ namespace clitk {
     
     template<class Iter1, class Iter2> void LoopAndNot(Iter1 it1, Iter1 it2, Iter2 ot);
     template<class Iter1, class Iter2> void LoopAnd(Iter1 it1, Iter1 it2, Iter2 ot);
+    template<class Iter1, class Iter2> void LoopOr(Iter1 it1, Iter1 it2, Iter2 ot);
     
   private:
     BooleanOperatorLabelImageFilter(const Self&); //purposely not implemented