feat(io): write Enhanced US Volume DICOM file
Description
Current Dicom Series writer has been updated to call a specialized writer when the SOP class is Enhanced US Volume.
The new writer is ultra-minimalist and almost certainly not 100% DICOM compliant, as it requires, nor checks for mandatory tags to operate. However, all frames of a data::ImageSeries (on Z axis) are saved losslessly in jpeg2000, and Series API allow writing/reading per-frame Image Position Patient/Volume
, Image Orientation Patient/Volume
, and Frame Acquisition Date Time
. Even if the writer doesn't ensure other mandatory tags are present, it is still possible (and desirable) to write them using the Series API with the generated tag name / sop class from sight::data::dicom::Tag and sight::data::dicom::SopClass. Note however that the current API is limited to simple attributes, not the one located in a frame sequence like in Shared Functional Groups Sequence
. For that, some adaptations are required (the same as `Image Position Patient…). This part will be updated later, when required.
Closes #1010 (closed)
How to test it?
- Launch unit tests !
- Modify unit tests (sight/libs/io/dicom/test/tu/WriterTest.cpp) to not delete the written DICOM and try to open it in Slicer / ALiza / Pydicom