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
- 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
// Set type of operation
typedef enum {
And = 0,
- AndNot = 1
+ AndNot = 1,
+ Or = 2
} OperationTypeEnumeration;
itkGetMacro(OperationType, OperationTypeEnumeration);
itkSetMacro(OperationType, OperationTypeEnumeration);
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
+#if ITK_VERSION_MAJOR <= 4
+ virtual void VerifyInputInformation() ITK_OVERRIDE { }
+#else
+ virtual void VerifyInputInformation() const ITK_OVERRIDE { }
+#endif
+
protected:
BooleanOperatorLabelImageFilter();
virtual ~BooleanOperatorLabelImageFilter() {}
- virtual void GenerateOutputInformation();
- virtual void GenerateInputRequestedRegion();
- virtual void GenerateData();
+ virtual void GenerateOutputInformation() ITK_OVERRIDE;
+ virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+ virtual void GenerateData() ITK_OVERRIDE;
- 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() ITK_OVERRIDE { }
Input1ImagePixelType mBackgroundValue1;
Input2ImagePixelType mBackgroundValue2;
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