InsightSoftwareConsortium / InsightSoftwareConsortium/ITK-Wasm

Consider adding dicom package tests that would utilize selected samples from IDC

Open
#1,208 3 comments 0 reactions 2 assignees Claimed by @jcfr View on GitHub
collaboration:idc
Dominant language
Python
Stars
235
Forks
61
Avg merge
4d 19h
Merged PRs (30d)
4

Description

Since all of the IDC data is available in public buckets, with the content available via S3 API or HTTPS, without authentication, it might be good to add regression tests that utilize hand-picked DICOM samples that stress specific aspects of the functionality.

Specific examples that we already ran into, with `SeriesInstanceUID` of a corresponding sample from the current IDC v18 data release:
* large DICOM SEG for TotalSegmentator: `1.2.276.0.7230010.3.1.3.313263360.35955.1706319184.882151`
* CT with `SpacingBetweenSlices` = -4: `1.3.6.1.4.1.32722.99.99.239963936032720978832553442140518002510`
* NM with `SpacingBetweenSlices` = -2: `1.3.6.1.4.1.14519.5.2.1.7009.2403.484725606860278331095617627781`

Given the UID above, the corresponding file(s) can be retrieved in just 2 steps:
1. `$ pip install --upgrade idc-index`
2. `$ idc download `

Other dimensions we may want to consider testing could include various transfer syntaxes, diffusion images from different manufacturers, series with missing slices, series with inconsistent `PixelSpacing` or `ImageOrientationPatient`, gantry tilt, presentation states, various samples that contain attributes that are invalid per standard, but may be encountered "in the wild". I think we should be able to find samples for many situations that need to be regression-tested.

I have not done this myself, but looks like CMake supports such external data sources: https://cmake.org/cmake/help/book/mastering-cmake/chapter/Testing%20With%20CMake%20and%20CTest.html#managing-test-data.

I am happy to help with selection of the relevant samples for the tasks we agree should be tested and answer any questions related to IDC.

I think something like the above has been a dream of @pieper for many years now. I believe we finally can make it come true!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.