Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
CPBridge authored and sjh26 committed Feb 1, 2024
1 parent 481f858 commit 90a6664
Showing 1 changed file with 10 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,21 +88,21 @@ After discussing with @dclunie and @pieper, we have agreed that a correction pro
- Precisely define what is meant by DimensionOrganizationType of “3D” in the case of the patient coordinate system:
- All planes have the same ImageOrientationPatient. The ImageOrientationPatient shall be factored out into the SharedFunctionalGroupsSequence (and not appear in the PerFramesFunctionalGroupsSequence).
- Planes shall be regularly spaced. The SpacingBetweenSlices must be found in the PixelMeasuresSequences within the SharedFunctionalGroups. All other pixel measures must also be shared between all frames.
- ImageOrientationPatient values shall follow the following rules: the ImagePositionPatient[n+1] at frame n+1 be
- ImageOrientationPatient values shall follow the following rules (using numpy-like indexing):

ImagePositionPatient[n+1] = ImagePositionPatient[n] + SpacingBetweenSlices * NormalVector

ImagePositionPatient[n] + SpacingBetweenSlices * NormalVector
Where NormalVector is a unit vector found as the vector cross product of the two direction cosines:

Where NormalVector is a unit vector found as the vector cross product of the two direction cosines:
NormalVector = ImageOrientationPatient[:3] x ImageOrientationPatient[3:]

NormalVector = ImageOrientationPatient[:3] x ImageOrientationPatient[3:]
Note that this does imply that only one of the two possible ordering of planes is valid.

Note that this does imply that one of the two possible ordering of planes is chosen.

- ImagePositionPatient must be used as the only dimension index.


NOTE: The above DOES NOT allow for the creation of BINARY Segmentations with more than one segment, since the Referenced Segment Number would need to be included as a further dimension index and there would need to be further sets of frames for each segment, which would break the strict spatial ordering. We currently feel that this is okay given that we hope that LABELMAP will become the dominant segmentation, and allowing no further dimensions considerably simplifies things.
- ImagePositionPatient must be used as the only dimension index.

Notes:
- The above DOES NOT allow for the creation of BINARY Segmentations with more than one segment, since the Referenced Segment Number would need to be included as a further dimension index and there would need to be further sets of frames for each segment, which would break the strict spatial ordering. We currently feel that this is okay given that we hope that LABELMAP will become the dominant segmentation, and allowing no further dimensions considerably simplifies things.
- If we are precisely defining "3D" for the patient coordinate system, we should probably give "3D_TEMPORAL" the same treatment. Presumably this would be as above, except that there would some standardized time dimension index too, and a specified ordering of frames along the two dimensions (3d position + time).

# Illustrations

Expand Down

0 comments on commit 90a6664

Please sign in to comment.