18 #ifndef itkOrientImageFilter_h
19 #define itkOrientImageFilter_h
140 template<
typename TInputImage,
typename TOutputImage >
175 static constexpr
unsigned int InputImageDimension = TInputImage::ImageDimension;
176 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
191 SetGivenCoordinateOrientation(
195 itkGetEnumMacro(DesiredCoordinateOrientation, CoordinateOrientationCode);
196 void SetDesiredCoordinateOrientation(CoordinateOrientationCode newCode);
200 SetDesiredCoordinateOrientation(
210 itkBooleanMacro(UseImageDirection);
211 itkGetConstMacro(UseImageDirection,
bool);
212 itkSetMacro(UseImageDirection,
bool);
216 itkGetConstReferenceMacro(PermuteOrder, PermuteOrderArrayType);
219 itkGetConstReferenceMacro(FlipAxes, FlipAxesArrayType);
256 void GenerateOutputInformation()
override;
258 #ifdef ITK_USE_CONCEPT_CHECKING
264 Self::OutputImageDimension > ) );
273 void PrintSelf(std::ostream & os,
Indent indent)
const override;
278 void GenerateInputRequestedRegion()
override;
281 void EnlargeOutputRequestedRegion(
DataObject *itkNotUsed(output) )
override;
288 bool NeedToPermute();
295 void GenerateData()
override;
298 std::string GetMajorAxisFromPatientRelativeDirectionCosine(
double x,
double y,
double z);
302 bool m_UseImageDirection{
false};
312 #ifndef ITK_MANUAL_INSTANTIATION
313 #include "itkOrientImageFilter.hxx"
void SetGivenCoordinateDirection(const typename TInputImage::DirectionType &GivenDirection)
typename OutputImageType::Pointer OutputImagePointer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
Converts SpatialOrientation flags to/from direction cosines.
TInputImage InputImageType
typename OutputImageType::PixelType OutputImagePixelType
typename InputImageType::PixelType InputImagePixelType
typename PermuterType::PermuteOrderArrayType PermuteOrderArrayType
typename InputImageType::Pointer InputImagePointer
Permute axes and then flip images as needed to obtain agreement in coordinateOrientation codes...
ImageBaseType::DirectionType DirectionType
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
void SetDesiredCoordinateDirection(const typename TOutputImage::DirectionType &DesiredDirection)
std::map< CoordinateOrientationCode, std::string > m_CodeToString
Permutes the image axes according to a user specified order.
void SetDesiredCoordinateOrientationToSagittal()
Flips an image across user specified axes.
typename FlipperType::FlipAxesArrayType FlipAxesArrayType
typename InputImageType::RegionType InputImageRegionType
PermuteOrderArrayType m_PermuteOrder
Base class for filters that take an image as input and produce an image as output.
typename OutputImageType::ConstPointer OutputImageConstPointer
Control indentation during Print() invocation.
ValidCoordinateOrientationFlags
void SetDesiredCoordinateOrientationToCoronal()
std::map< std::string, CoordinateOrientationCode > m_StringToCode
ImageBaseType::RegionType RegionType
#define itkConceptMacro(name, concept)
FlipAxesArrayType m_FlipAxes
typename InputImageType::ConstPointer InputImageConstPointer
void SetDesiredCoordinateOrientationToAxial()
Base class for all data objects in ITK.