Authors belong to:
- University of LYON http://www.universite-lyon.fr/
- - Léon Bérard cancer center http://www.centreleonberard.fr
+ - Léon Bérard cancer center http://oncora1.lyon.fnclcc.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 CLITKSLICEBYSLICERELATIVEPOSITIONFILTER_H
#define CLITKSLICEBYSLICERELATIVEPOSITIONFILTER_H
/** ImageDimension constants */
itkStaticConstMacro(ImageDimension, unsigned int, ImageType::ImageDimension);
typedef itk::Image<float, ImageDimension> FloatImageType;
+ typedef itk::Image<float, ImageDimension-1> FloatSliceType;
/** Some convenient typedefs. */
typedef typename ImageType::ConstPointer ImageConstPointer;
typedef typename RelPosFilterType::OrientationTypeEnumeration OrientationTypeEnumeration;
/** Input : initial image and object */
- void SetInput(const ImageType * image);
+ virtual void SetInput(const ImageType * image) ITK_OVERRIDE;
void SetInputObject(const ImageType * image);
// Options
- void PrintOptions();
+ void PrintOptions(std::ostream & os = std::cout);
itkGetConstMacro(Direction, int);
itkSetMacro(Direction, int);
- itkGetConstMacro(UniqueConnectedComponentBySlice, bool);
- itkSetMacro(UniqueConnectedComponentBySlice, bool);
- itkBooleanMacro(UniqueConnectedComponentBySlice);
+ itkGetConstMacro(UniqueConnectedComponentBySliceFlag, bool);
+ itkSetMacro(UniqueConnectedComponentBySliceFlag, bool);
+ itkBooleanMacro(UniqueConnectedComponentBySliceFlag);
itkGetConstMacro(IgnoreEmptySliceObjectFlag, bool);
itkSetMacro(IgnoreEmptySliceObjectFlag, bool);
itkBooleanMacro(IgnoreEmptySliceObjectFlag);
- itkGetConstMacro(UseASingleObjectConnectedComponentBySliceFlag, bool);
- itkSetMacro(UseASingleObjectConnectedComponentBySliceFlag, bool);
- itkBooleanMacro(UseASingleObjectConnectedComponentBySliceFlag);
+ 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);
+
+ itkGetConstMacro(VerboseSlicesFlag, bool);
+ itkSetMacro(VerboseSlicesFlag, bool);
+ itkBooleanMacro(VerboseSlicesFlag);
protected:
SliceBySliceRelativePositionFilter();
virtual ~SliceBySliceRelativePositionFilter() {}
- virtual void GenerateOutputInformation();
- virtual void GenerateInputRequestedRegion();
- virtual void GenerateData();
+ virtual void GenerateOutputInformation() ITK_OVERRIDE;
+ virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+ virtual void GenerateData() ITK_OVERRIDE;
ImagePointer input;
ImagePointer object;
ImagePointer m_working_input;
ImagePointer m_working_object;
- bool m_UniqueConnectedComponentBySlice;
+ bool m_UniqueConnectedComponentBySliceFlag;
int m_Direction;
bool m_IgnoreEmptySliceObjectFlag;
- bool m_UseASingleObjectConnectedComponentBySliceFlag;
+ bool m_UseTheLargestObjectCCLFlag;
+ bool m_ObjectCCLSelectionFlag;
+ int m_ObjectCCLSelectionDimension;
+ int m_ObjectCCLSelectionDirection;
+ bool m_ObjectCCLSelectionIgnoreSingleCCLFlag;
+ bool m_VerboseSlicesFlag;
private:
SliceBySliceRelativePositionFilter(const Self&); //purposely not implemented
#ifndef ITK_MANUAL_INSTANTIATION
#include "clitkSliceBySliceRelativePositionFilter.txx"
#endif
-
#endif