// clitk
#include "clitkFilterBase.h"
+#include "clitkCropLikeImageFilter.h"
// itk
#include <itkPasteImageFilter.h>
typedef itk::Image<float, ImageDimension> FloatImageType;
/** Orientation types */
- typedef enum { AtRightTo = 0, AtLeftTo = 1,
+ typedef enum { RightTo = 0, LeftTo = 1,
AntTo = 2, PostTo = 3,
InfTo = 4, SupTo = 5, Angle = 6
} OrientationTypeEnumeration;
/** Input : initial image and object */
- void SetInput(const ImageType * image);
+ void SetInput(const ImageType * image) ITK_OVERRIDE;
void SetInputObject(const ImageType * image);
// Options
void AddOrientationType(OrientationTypeEnumeration orientation);
void AddOrientationTypeString(std::string s);
void ClearOrientationType();
- void AddAngles(double a, double b);
+ void AddAnglesInRad(double a, double b);
+ void AddAnglesInDeg(double a, double b);
+ double GetAngle1InRad(int i) { return m_Angle1[i]; }
+ double GetAngle2InRad(int i) { return m_Angle2[i]; }
int GetNumberOfAngles();
std::string GetOrientationTypeString(int i) { return m_OrientationTypeString[i]; }
std::vector<std::string> & GetOrientationTypeString() { return m_OrientationTypeString; }
itkSetMacro(CombineWithOrFlag, bool);
itkBooleanMacro(CombineWithOrFlag);
+ itkGetConstMacro(FuzzyMapOnlyFlag, bool);
+ itkSetMacro(FuzzyMapOnlyFlag, bool);
+ itkBooleanMacro(FuzzyMapOnlyFlag);
+
+ itkGetConstMacro(FastFlag, bool);
+ itkSetMacro(FastFlag, bool);
+ itkBooleanMacro(FastFlag);
+
+ itkGetConstMacro(Radius, double);
+ itkSetMacro(Radius, double);
+
+ itkSetMacro(K1, double);
+ itkGetMacro(K1, double);
+
+ typename FloatImageType::Pointer GetFuzzyMap() { return m_FuzzyMap; }
+
// I dont want to verify inputs information
- virtual void VerifyInputInformation() { }
+#if ITK_VERSION_MAJOR <= 4
+ virtual void VerifyInputInformation() ITK_OVERRIDE { }
+#else
+ virtual void VerifyInputInformation() const ITK_OVERRIDE { }
+#endif
+
+ // For debug
+ void PrintOptions();
protected:
AddRelativePositionConstraintToLabelImageFilter();
bool m_InverseOrientationFlag;
bool m_RemoveObjectFlag;
bool m_CombineWithOrFlag;
+ bool m_FuzzyMapOnlyFlag;
+ bool m_FastFlag;
+ double m_Radius;
+ double m_K1;
- virtual void GenerateOutputInformation();
- virtual void GenerateInputRequestedRegion();
- virtual void GenerateData();
+ virtual void GenerateOutputInformation() ITK_OVERRIDE;
+ virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+ virtual void GenerateData() ITK_OVERRIDE;
typedef itk::PasteImageFilter<ImageType,ImageType> PasteFilterType;
+ typedef itk::PasteImageFilter<FloatImageType,FloatImageType> PasteFloatFilterType;
typename ImageType::Pointer working_image;
typename ImageType::Pointer object_resampled;
typename FloatImageType::Pointer relPos;
+ typename FloatImageType::Pointer m_FuzzyMap;
ImagePointer input;
ImagePointer object;