Skip to content

ENH: Add support for managing slice orientation presets

Created by: jcfr

This commit generalizes the concept of slice orientation known as Axial, Sagittal and Coronal so that it is possible to add, rename and delete new ones.

Default presets (Axial, Sagittal and Coronal) are associated to a default slice node in the application logic.

Handle orientation as 3x3 because maintaining sliceOrigin information in matrices that are orientation presets is not relevant.

Notes:

(1) Mark Get/SetOrientationReference as protected: These methods are only used internally and could ultimately be removed by refactoring "RotateToVolumePlane()"

(2) Remove unused SetOrientationString: The method is not used in any Slicer extensions.

(3) Explicitly setting the orienation string to "Reformat" is not not needed anymore because "GetOrientation()" or "GetOrientationString()" will return "Reformat" if the SliceToRAS matrix is not one of the preset.

(4) For sake of consistency, in the RenameSliceOrientationPreset, the orientation reference is also renamed.

(5) In "Copy()" method, Orientation and OrientationReference are set after the presets.

(6) Remove unneeded SetOrientationToReformat() function.

Co-authored-by: Jean-Christophe Fillion-Robin jchris.fillionr@kitware.com Co-authored-by: Andras Lasso lasso@queensu.ca

Merge request reports