2020
2121#include " itkPermuteAxesImageFilter.h"
2222#include " itkFlipImageFilter.h"
23- #include " itkSpatialOrientationAdapter .h"
23+ #include " itkAnatomicalOrientation .h"
2424#include < map>
2525#include < string>
2626
@@ -161,7 +161,7 @@ class ITK_TEMPLATE_EXPORT OrientImageFilter : public ImageToImageFilter<TInputIm
161161 using OutputImageConstPointer = typename OutputImageType::ConstPointer;
162162 using OutputImageRegionType = typename OutputImageType::RegionType;
163163 using OutputImagePixelType = typename OutputImageType::PixelType;
164- using CoordinateOrientationCode = SpatialOrientationEnums::ValidCoordinateOrientations ;
164+ using CoordinateOrientationCode = AnatomicalOrientation ;
165165
166166 /* * Axes permuter type. */
167167 using PermuterType = PermuteAxesImageFilter<TInputImage>;
@@ -189,7 +189,7 @@ class ITK_TEMPLATE_EXPORT OrientImageFilter : public ImageToImageFilter<TInputIm
189189 inline void
190190 SetGivenCoordinateDirection (const typename TInputImage::DirectionType & GivenDirection)
191191 {
192- SetGivenCoordinateOrientation (itk::SpatialOrientationAdapter (). FromDirectionCosines (GivenDirection));
192+ SetGivenCoordinateOrientation (AnatomicalOrientation (GivenDirection));
193193 }
194194
195195 itkGetEnumMacro (DesiredCoordinateOrientation, CoordinateOrientationCode);
@@ -199,7 +199,7 @@ class ITK_TEMPLATE_EXPORT OrientImageFilter : public ImageToImageFilter<TInputIm
199199 inline void
200200 SetDesiredCoordinateDirection (const typename TOutputImage::DirectionType & DesiredDirection)
201201 {
202- SetDesiredCoordinateOrientation (itk::SpatialOrientationAdapter (). FromDirectionCosines (DesiredDirection));
202+ SetDesiredCoordinateOrientation (AnatomicalOrientation (DesiredDirection));
203203 }
204204
205205 /* * Controls how the GivenCoordinateOrientation is determined.
@@ -234,22 +234,25 @@ class ITK_TEMPLATE_EXPORT OrientImageFilter : public ImageToImageFilter<TInputIm
234234 void
235235 SetDesiredCoordinateOrientationToAxial ()
236236 {
237- this ->SetDesiredCoordinateOrientation (
238- SpatialOrientationEnums::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_RAI );
237+ this ->SetDesiredCoordinateOrientation ({ AnatomicalOrientation::CoordinateEnum::RightToLeft,
238+ AnatomicalOrientation::CoordinateEnum::AnteriorToPosterior,
239+ AnatomicalOrientation::CoordinateEnum::InferiorToSuperior });
239240 }
240241
241242 void
242243 SetDesiredCoordinateOrientationToCoronal ()
243244 {
244- this ->SetDesiredCoordinateOrientation (
245- SpatialOrientationEnums::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_RSA );
245+ this ->SetDesiredCoordinateOrientation ({ AnatomicalOrientation::CoordinateEnum::RightToLeft,
246+ AnatomicalOrientation::CoordinateEnum::SuperiorToInferior,
247+ AnatomicalOrientation::CoordinateEnum::AnteriorToPosterior });
246248 }
247249
248250 void
249251 SetDesiredCoordinateOrientationToSagittal ()
250252 {
251- this ->SetDesiredCoordinateOrientation (
252- SpatialOrientationEnums::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_ASL );
253+ this ->SetDesiredCoordinateOrientation ({ AnatomicalOrientation::CoordinateEnum::AnteriorToPosterior,
254+ AnatomicalOrientation::CoordinateEnum::SuperiorToInferior,
255+ AnatomicalOrientation::CoordinateEnum::LeftToRight });
253256 }
254257
255258 /* * OrientImageFilter produces an image which is a different
@@ -286,10 +289,13 @@ class ITK_TEMPLATE_EXPORT OrientImageFilter : public ImageToImageFilter<TInputIm
286289 void
287290 EnlargeOutputRequestedRegion (DataObject * itkNotUsed (output)) override ;
288291
292+ void
293+ VerifyPreconditions () const override ;
294+
289295 /* ** Member functions used by GenerateData: */
290296 void
291- DeterminePermutationsAndFlips (const SpatialOrientationEnums::ValidCoordinateOrientations fixed_orient,
292- const SpatialOrientationEnums::ValidCoordinateOrientations moving_orient);
297+ DeterminePermutationsAndFlips (const CoordinateOrientationCode fixed_orient,
298+ const CoordinateOrientationCode moving_orient);
293299
294300 /* * Returns true if a permute is required. Returns false otherwise. */
295301 bool
@@ -305,22 +311,19 @@ class ITK_TEMPLATE_EXPORT OrientImageFilter : public ImageToImageFilter<TInputIm
305311 GenerateData () override ;
306312
307313private:
308- std::string
309- GetMajorAxisFromPatientRelativeDirectionCosine (double x, double y, double z);
310-
311- CoordinateOrientationCode m_GivenCoordinateOrientation{
312- SpatialOrientationEnums::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_RIP
313- };
314+ CoordinateOrientationCode m_GivenCoordinateOrientation{ AnatomicalOrientation::CoordinateEnum::RightToLeft,
315+ AnatomicalOrientation::CoordinateEnum::InferiorToSuperior,
316+ AnatomicalOrientation::CoordinateEnum::PosteriorToAnterior };
314317 CoordinateOrientationCode m_DesiredCoordinateOrientation{
315- SpatialOrientationEnums::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_RIP
318+ AnatomicalOrientation::CoordinateEnum::RightToLeft,
319+ AnatomicalOrientation::CoordinateEnum::InferiorToSuperior,
320+ AnatomicalOrientation::CoordinateEnum::PosteriorToAnterior
316321 };
317322 bool m_UseImageDirection{ false };
318323
319324 PermuteOrderArrayType m_PermuteOrder{};
320- FlipAxesArrayType m_FlipAxes{};
325+ FlipAxesArrayType m_FlipAxes{ false };
321326
322- std::map<std::string, CoordinateOrientationCode> m_StringToCode{};
323- std::map<CoordinateOrientationCode, std::string> m_CodeToString{};
324327}; // end of class
325328} // end namespace itk
326329
0 commit comments