ImagingDataCommons / highdicom

High-level DICOM abstractions for the Python programming language
https://highdicom.readthedocs.io
MIT License
176 stars 37 forks source link

Fix Parametric Map compliance issues #140

Closed hackermd closed 2 years ago

hackermd commented 2 years ago

I realized that the Parametric Map IOD requires the Modality LUT Transformation step in the grayscale rendering pipeline to be an identity transformation (i.e., it requires Identity Pixel Value Transformation rather than Pixel Value Transformation): https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_A.75.5.html

That also means only unsigned integer values can be stored. They can still be mapped to a different range of "real world" values though using Real World Value Mapping.

Also fixed several other compliance issues.

hackermd commented 2 years ago

@cgorman I added a unit test for Parametric Map that will test the dimension index lookup in case spatial coordinates are not preserved. That part of the code was previously not covered.

I also went ahead and fixed #135.

hackermd commented 2 years ago

@cgorman also realized that #122 was actually not yet implemented. Fixed that and added a unit test.