Skip to content

Commit 294937f

Browse files
committed
DOC: Backport documentation for use of AnatomicalOrientation
1 parent 1b746f8 commit 294937f

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

Documentation/docs/migration_guides/itk_5_migration_guide.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -629,4 +629,46 @@ Update scripts
629629

630630
[Utilities/ITKv5Preparation](https://github.com/InsightSoftwareConsortium/ITK/tree/master/Utilities/ITKv5Preparation) directory contains
631631
bash scripts which have been used to update ITK to version 5. These scripts
632-
can assist with updating external code bases to ITK 5 content and style.
632+
633+
634+
635+
Backported ITKv6 features
636+
-------------------------
637+
638+
ITKv6 will prefer itk::AnatomicalOrientation over itk::SpatialOrientation
639+
-------------------------------------------------------------------------
640+
641+
As of v5.4.5 and later, the `itk::AnatomicalOrientation` API is added and supported to facilitate
642+
conversion to the ITKv6 recommended paradigm. The `itk::AnatomicalOrientation` is not available
643+
in v5.4.4 and earlier releases.
644+
645+
The enumeration defined in `itk::SpatialOrientation`, including `itk::SpatialOrientation::CoordinateTerms`,
646+
`itk::SpatialOrientation::CoordinateMajornessTerms`, and `itk::SpatialOrientation::ValidCoordinateOrientations` may be
647+
deprecated in the future. These terms described an orientation of an axis in a coordinate system, by the "from" or
648+
"negative" direction. For example `CoordinateTerms::ITK_COORDINATE_Right` describes an axis moving from the "Right" to
649+
the "Left" side of the body.
650+
651+
This is the opposite of the DICOM `Patient Orientation (0020,0020)` tag.
652+
653+
The `itk::AnatomicalOrientation` class now represents the anatomical orientation. The class can provide a representation
654+
of itself as an unambiguous enumeration, string and a matrix. It provides both a `PositiveEnum` and a `NegativeEnum` for
655+
three letter descriptions of the anatomical orientation, which is ambiguous.
656+
657+
The recommended unambiguous way to define an anatomical orientation is the following:
658+
659+
```cpp
660+
itk::AnatomicalOrientation(itk::AnatomicalOrientation::CoordinateEnum::RightToLeft,
661+
itk::AnatomicalOrientation::CoordinateEnum::AnteriorToPosterior,
662+
itk::AnatomicalOrientation::CoordinateEnum::InferiorToSuperior);
663+
```
664+
665+
The `itk::SpatialOrientation::ValidCoordinateOrientations` enumerations can be explicitly or implicitly converted to the
666+
new `AnatomicalOrientation` object:
667+
668+
```cpp
669+
itk::AnatomicalOrientation orientation = itk::SpatialOrientation::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_RAI;
670+
orientation = itk::AnatomicalOrientation(itk::SpatialOrientation::ValidCoordinateOrientations::ITK_COORDINATE_ORIENTATION_RIP;)
671+
```
672+
673+
The Python wrapping of `itk::AnatomicalOrientation` is not supported in ITKv5 due to conflicts with `itk::SpatialOrientation`
674+
wrapping.

0 commit comments

Comments
 (0)