Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secondary capture image spatial metadata #167

Merged
merged 4 commits into from Mar 25, 2024
Merged

Conversation

thewtex
Copy link
Contributor

@thewtex thewtex commented Mar 15, 2024

Follow-up to #158

@thewtex thewtex changed the title Sc1 Secondary capture image spatial metadata Mar 15, 2024
@thewtex
Copy link
Contributor Author

thewtex commented Mar 15, 2024

Rebasing on the release branch.

thewtex added a commit to thewtex/ITK that referenced this pull request Mar 15, 2024
Add patches to GDCM for reading pixel spacing, image orientation patient,
image position patient, from DICOM secondary capture datasets in:

  malaterre/GDCM#167

which are based on GDCM `release`.

xref:

- malaterre/GDCM#158
- InsightSoftwareConsortium#4109
- Slicer/Slicer#7089
- InsightSoftwareConsortium#4111
@thewtex thewtex changed the base branch from master to release March 15, 2024 20:11
thewtex added a commit to thewtex/ITK that referenced this pull request Mar 18, 2024
This enables support for reading image orientation patient and image
position patient from DICOM secondary capture images.

This addresses needs such as reading Visibla Human DICOM color images in
3D Slicer:

  NA-MIC/ProjectWeek#875

and reading highdicom derived secondary capture DICOM in ITK-Snap:

  ImagingDataCommons/highdicom#247

The required patch has not yet been merged upstream:

  malaterre/GDCM#167

but is available in ITK-vendored GDCM, so condition enablement on
NOT ITK_USE_SYSTEM_GDCM and provide a warning and pointer on where to
find the patches for package managers and other redistributors that also
the support.
Default to the GetSpacingTagFromMediaStorage, which is Nominal Scanned
Pixel Spacing for Secondary Capture. Only use Pixel Spacing
(0028,0030) when the SecondaryCaptureImagePlaneModule flag has been
enabled on ImageHelper.

Add documentation to Set/GetSecondaryCaptureImagePlaneModule
accordingly.
@malaterre malaterre merged commit 0cca908 into malaterre:release Mar 25, 2024
3 checks passed
@malaterre
Copy link
Owner

Fixed issue with 0609129

thanks

@malaterre
Copy link
Owner

verified using:

gdcminfo --scipm 000198cd-cd88-4760-97d1-21bbea047fff.dcm
[...]
Origin: (0,0,-2192)
Spacing: (0.33,0.33,1)
DirectionCosines: (1,0,0,0,-1,0)
Rescale Intercept/Slope: (0,1)
Orientation Label: AXIAL

@thewtex
Copy link
Contributor Author

thewtex commented Mar 25, 2024

Thank you @malaterre

@dclunie
Copy link

dclunie commented Apr 10, 2024

FYI, this behavior (the optional presence of the ImagePlane Module and accompanying note about relationship of spacing attributes) is now standardized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants