18#ifndef itkAnatomicalOrientation_h 
   19#define itkAnatomicalOrientation_h 
   21#include "ITKCommonExport.h" 
   23#ifndef ITK_FUTURE_LEGACY_REMOVE 
   60#ifndef ITK_FUTURE_LEGACY_REMOVE 
   85  template <CoordinateEnum VPrimary, CoordinateEnum VSecondary, CoordinateEnum VTertiary>
 
  436#ifndef ITK_FUTURE_LEGACY_REMOVE 
  441#  if defined(ITK_LEGACY_REMOVE) && !defined(ITK_LEGACY_SILENT) && !defined(ITK_WRAPPING) 
  442  [[deprecated(
"Use the AnatomicalOrientation::FromEnum type instead.")]]
 
  467  [[nodiscard]] std::string
 
  471  [[nodiscard]] std::string
 
  492  [[nodiscard]] PositiveEnum
 
  498  [[nodiscard]] NegativeEnum
 
  504  [[nodiscard]] CoordinateEnum
 
  510  [[nodiscard]] CoordinateEnum
 
  516  [[nodiscard]] CoordinateEnum
 
  522  [[nodiscard]] std::array<CoordinateEnum, 3>
 
  528  static constexpr bool 
  531    const uint8_t AxisField = ~1; 
 
  532    return (
static_cast<uint8_t
>(a) & AxisField) == (
static_cast<uint8_t
>(b) & AxisField);
 
 
  536  friend ITKCommon_EXPORT std::ostream &
 
  553  static const std::map<PositiveEnum, std::string> &
 
  558  static const std::map<std::string, PositiveEnum> &
 
 
  565ITKCommon_EXPORT std::ostream &
 
  569ITKCommon_EXPORT std::ostream &
 
  574ITKCommon_EXPORT std::ostream &
 
  577ITKCommon_EXPORT std::ostream &
 
 
Representations of anatomical orientations and methods to convert between conventions.
@ PosteriorToAnterior
to front - 0b0100
@ AnteriorToPosterior
to back
@ SuperiorToInferior
to foot
@ InferiorToSuperior
to head - 0b1000
typename ImageBase< Dimension >::DirectionType DirectionType
std::string GetAsNegativeStringEncoding() const
CoordinateEnum GetSecondaryTerm() const
constexpr AnatomicalOrientation(PositiveEnum toOrientation)
std::array< CoordinateEnum, 3 > GetTerms() const
static constexpr uint32_t m_OrientationValue
constexpr AnatomicalOrientation(NegativeEnum fromOrientation)
static constexpr unsigned int Dimension
AnatomicalOrientation(const DirectionType &d)
NegativeEnum GetAsNegativeOrientation() const
CoordinateMajornessTermsEnum
static constexpr bool SameOrientationAxes(CoordinateEnum a, CoordinateEnum b)
DirectionType GetAsDirection() const
Return the direction cosine matrix for the orientation.
static constexpr unsigned int ImageDimension
static PositiveEnum ConvertDirectionToPositiveEnum(const DirectionType &dir)
Return the closest orientation for a direction cosine matrix.
CoordinateEnum GetPrimaryTerm() const
constexpr AnatomicalOrientation(CoordinateEnum primary, CoordinateEnum secondary, CoordinateEnum tertiary)
Initialize with CoordinateEnum's from separate axes.
static DirectionType ConvertPositiveEnumToDirection(PositiveEnum)
Return the direction cosine matrix for a orientation.
std::string GetAsPositiveStringEncoding() const
PositiveEnum GetAsPositiveOrientation() const
static const std::map< std::string, PositiveEnum > & GetStringToCode()
Return the global instance of the map from string to orientation enum.
static const std::map< PositiveEnum, std::string > & GetCodeToString()
Return the global instance of the map from orientation enum to strings.
CoordinateEnum GetCoordinateTerm(CoordinateMajornessTermsEnum cmt) const
static std::string ConvertStringEncoding(std::string str)
CoordinateEnum GetTertiaryTerm() const
static AnatomicalOrientation CreateFromNegativeStringEncoding(std::string str)
static AnatomicalOrientation CreateFromPositiveStringEncoding(std::string str)
Matrix< SpacePrecisionType, VImageDimension, VImageDimension > DirectionType
ValidCoordinateOrientations
std::ostream & operator<<(std::ostream &os, const itk::DOMNode &object)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)