typedef itk::Image<float, ImageDimension> FloatImageType;
/** Orientation types */
- typedef enum { RightTo = 0, LeftTo = 1,
+ typedef enum { AtRightTo = 0, AtLeftTo = 1,
AntTo = 2, PostTo = 3,
InfTo = 4, SupTo = 5, Angle = 6
} OrientationTypeEnumeration;
void SetInputObject(const ImageType * image);
// Options
- void SetOrientationType(OrientationTypeEnumeration orientation);
- itkGetConstMacro(OrientationType, OrientationTypeEnumeration);
- void SetOrientationTypeString(std::string s);
- itkGetConstMacro(OrientationTypeString, std::string);
-
- void SetAngle1(double a);
- void SetAngle2(double a);
- itkGetConstMacro(Angle1, double);
- itkGetConstMacro(Angle2, double);
-
- itkGetConstMacro(ResampleBeforeRelativePositionFilter, bool);
- itkSetMacro(ResampleBeforeRelativePositionFilter, bool);
- itkBooleanMacro(ResampleBeforeRelativePositionFilter);
+ void AddOrientationType(OrientationTypeEnumeration orientation);
+ void AddOrientationTypeString(std::string s);
+ void ClearOrientationType();
+ void AddAngles(double a, double b);
+ int GetNumberOfAngles();
+ std::string GetOrientationTypeString(int i) { return m_OrientationTypeString[i]; }
+ std::vector<std::string> & GetOrientationTypeString() { return m_OrientationTypeString; }
+
+ itkGetConstMacro(IntermediateSpacingFlag, bool);
+ itkSetMacro(IntermediateSpacingFlag, bool);
+ itkBooleanMacro(IntermediateSpacingFlag);
itkGetConstMacro(IntermediateSpacing, double);
itkSetMacro(IntermediateSpacing, double);
itkSetMacro(AutoCropFlag, bool);
itkBooleanMacro(AutoCropFlag);
- itkGetConstMacro(NotFlag, bool);
- itkSetMacro(NotFlag, bool);
- itkBooleanMacro(NotFlag);
+ itkGetConstMacro(InverseOrientationFlag, bool);
+ itkSetMacro(InverseOrientationFlag, bool);
+ itkBooleanMacro(InverseOrientationFlag);
+
+ itkGetConstMacro(RemoveObjectFlag, bool);
+ itkSetMacro(RemoveObjectFlag, bool);
+ itkBooleanMacro(RemoveObjectFlag);
+
+ itkGetConstMacro(CombineWithOrFlag, bool);
+ itkSetMacro(CombineWithOrFlag, bool);
+ itkBooleanMacro(CombineWithOrFlag);
protected:
AddRelativePositionConstraintToLabelImageFilter();
virtual ~AddRelativePositionConstraintToLabelImageFilter() {}
- OrientationTypeEnumeration m_OrientationType;
- std::string m_OrientationTypeString;
+ std::vector<OrientationTypeEnumeration> m_OrientationType;
+ std::vector<std::string> m_OrientationTypeString;
double m_IntermediateSpacing;
double m_FuzzyThreshold;
PixelType m_BackgroundValue;
PixelType m_ObjectBackgroundValue;
- double m_Angle1;
- double m_Angle2;
- bool m_ResampleBeforeRelativePositionFilter;
+ std::vector<double> m_Angle1;
+ std::vector<double> m_Angle2;
+ bool m_IntermediateSpacingFlag;
bool m_AutoCropFlag;
- bool m_NotFlag;
+ bool m_InverseOrientationFlag;
+ bool m_RemoveObjectFlag;
+ bool m_CombineWithOrFlag;
virtual void GenerateOutputInformation();
virtual void GenerateInputRequestedRegion();
virtual void GenerateData();
- typedef itk::PasteImageFilter<ImageType,ImageType> PadFilterType;
+ typedef itk::PasteImageFilter<ImageType,ImageType> PasteFilterType;
typename ImageType::Pointer working_image;
typename ImageType::Pointer object_resampled;
typename FloatImageType::Pointer relPos;