18#ifndef itkOrientImageFilter_h
19#define itkOrientImageFilter_h
141template <
typename TInputImage,
typename TOutputImage>
175 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
176 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
212 itkBooleanMacro(UseImageDirection);
213 itkGetConstMacro(UseImageDirection,
bool);
214 itkSetMacro(UseImageDirection,
bool);
239 this->SetDesiredCoordinateOrientation(
246 this->SetDesiredCoordinateOrientation(
253 this->SetDesiredCoordinateOrientation(
267#ifdef ITK_USE_CONCEPT_CHECKING
319 bool m_UseImageDirection{
false };
324 std::map<std::string, CoordinateOrientationCode> m_StringToCode{};
325 std::map<CoordinateOrientationCode, std::string> m_CodeToString{};
329#ifndef ITK_MANUAL_INSTANTIATION
330# include "itkOrientImageFilter.hxx"
Base class for all data objects in ITK.
Flips an image across user specified axes.
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
Base class for filters that take an image as input and produce an image as output.
TInputImage InputImageType
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType InputImagePixelType
typename InputImageType::RegionType InputImageRegionType
Control indentation during Print() invocation.
Permute axes and then flip images as needed to obtain agreement in coordinateOrientation codes.
void SetDesiredCoordinateOrientationToAxial()
void GenerateInputRequestedRegion() override
void EnlargeOutputRequestedRegion(DataObject *) override
void SetDesiredCoordinateOrientationToCoronal()
void SetDesiredCoordinateOrientationToSagittal()
void SetGivenCoordinateOrientation(CoordinateOrientationCode newCode)
typename FlipperType::FlipAxesArrayType FlipAxesArrayType
void SetDesiredCoordinateOrientation(CoordinateOrientationCode newCode)
void GenerateOutputInformation() override
void SetDesiredCoordinateDirection(const typename TOutputImage::DirectionType &DesiredDirection)
std::string GetMajorAxisFromPatientRelativeDirectionCosine(double x, double y, double z)
void PrintSelf(std::ostream &os, Indent indent) const override
typename OutputImageType::ConstPointer OutputImageConstPointer
void SetGivenCoordinateDirection(const typename TInputImage::DirectionType &GivenDirection)
typename PermuterType::PermuteOrderArrayType PermuteOrderArrayType
void DeterminePermutationsAndFlips(const SpatialOrientationEnums::ValidCoordinateOrientations fixed_orient, const SpatialOrientationEnums::ValidCoordinateOrientations moving_orient)
void GenerateData() override
~OrientImageFilter() override=default
Permutes the image axes according to a user specified order.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Converts SpatialOrientationEnums to/from direction cosines.
ValidCoordinateOrientations
@ ITK_COORDINATE_ORIENTATION_ASL
@ ITK_COORDINATE_ORIENTATION_RIP
@ ITK_COORDINATE_ORIENTATION_RAI
@ ITK_COORDINATE_ORIENTATION_RSA
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::DirectionType DirectionType
ImageBaseType::RegionType RegionType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....