COMP: Switch IOTransformDCMTK test from GDCMImageIO to DCMTKImageIO#6456
COMP: Switch IOTransformDCMTK test from GDCMImageIO to DCMTKImageIO#6456hjmjohnson wants to merge 1 commit into
Conversation
|
| Filename | Overview |
|---|---|
| Modules/IO/IOTransformDCMTK/itk-module.cmake | Removes ITKIOGDCM from TEST_DEPENDS; ITKIODCMTK (already present) covers the new DCMTKImageIO/DCMTKSeriesFileNames requirement. |
| Modules/IO/IOTransformDCMTK/test/itkDCMTKTransformIOResampleTest.cxx | GDCMImageIO/GDCMSeriesFileNames replaced with DCMTKImageIO/DCMTKSeriesFileNames; all three used methods (SetInputDirectory, GetInputFileNames, GetSeriesUIDs) are present in the DCMTK API, and the metadata key format is identical between both IO implementations. |
| Modules/IO/IOTransformDCMTK/test/Baseline/DicomTransformResampledMovingOutputBaseline.mha.cid | CID updated to match the DCMTK-resampled baseline; expected given DCMTKSeriesFileNames sorts by InstanceNumber rather than ImagePositionPatient, yielding different geometry. |
| Testing/Data/content-links.manifest | New CID registered for the regenerated baseline; entry has two spaces instead of one between the CID and the path, inconsistent with every other line in the file and with what upload.py writes. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[itkDCMTKTransformIOResampleTest] --> B[DCMTKSeriesFileNames\nGetInputFileNames / GetSeriesUIDs]
B --> C[ImageSeriesReader\nSetImageIO DCMTKImageIO]
C --> D[fixedReader / movingReader Update]
D --> E[DCMTKImageIO MetaDataDictionary\nFrameOfReferenceUID lookup]
E --> F[DCMTKTransformIO\nSetFrameOfReferenceUID]
F --> G[TransformFileReader Update x2]
G --> H[ResampleImageFilter\nfixed to moving]
H --> I[ImageFileWriter\nresampledMovingOutput]
I --> J[Baseline comparison\nDicomTransformResampledMovingOutputBaseline.mha]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[itkDCMTKTransformIOResampleTest] --> B[DCMTKSeriesFileNames\nGetInputFileNames / GetSeriesUIDs]
B --> C[ImageSeriesReader\nSetImageIO DCMTKImageIO]
C --> D[fixedReader / movingReader Update]
D --> E[DCMTKImageIO MetaDataDictionary\nFrameOfReferenceUID lookup]
E --> F[DCMTKTransformIO\nSetFrameOfReferenceUID]
F --> G[TransformFileReader Update x2]
G --> H[ResampleImageFilter\nfixed to moving]
H --> I[ImageFileWriter\nresampledMovingOutput]
I --> J[Baseline comparison\nDicomTransformResampledMovingOutputBaseline.mha]
Reviews (1): Last reviewed commit: "COMP: Switch IOTransformDCMTK test from ..." | Re-trigger Greptile
itkDCMTKTransformIOResampleTest used GDCMImageIO/GDCMSeriesFileNames to read DICOM series because DCMTKImageIO was not in ITK proper at the time the test was written. PR InsightSoftwareConsortium#6310 ingested ITKIODCMTK; switch the test to use the same reader as the rest of the module. DCMTKSeriesFileNames sorts slices by InstanceNumber rather than ImagePositionPatient, so the output geometry differs from the GDCM baseline. The baseline has been regenerated from DCMTKImageIO output; image content is verified identical (0 error). Resolves InsightSoftwareConsortium#6309
b364926 to
5508aab
Compare
Switch
itkDCMTKTransformIOResampleTestfromGDCMImageIO/GDCMSeriesFileNamesto
DCMTKImageIO/DCMTKSeriesFileNamesnow thatITKIODCMTKis in ITK proper(PR #6310). Removes the unused
ITKIOGDCMtest dependency.Resolves #6309
Baseline regeneration
DCMTKSeriesFileNamessorts slices by InstanceNumber (0020,0013) rather thanImagePositionPatient, so the resampled output has different geometry from the
old GDCM-generated baseline (origin_z −12.5 vs −49.5, spacing_z 0.626 vs 1.0).
Baseline regenerated from DCMTKImageIO output; comparison reports 0 image error.
New CID uploaded to ITKTestingData (commit cb41220 on gh-pages).