Open source tools
If you are interested in implementing support for the DICOM objects demonstrated in DICOM4QI, a number of open source tools and toolkits are available to serve as reference or helper imlementations:
- DCMTK (https://dcmtk.org): C++ toolkit that provides API abstractions for reading and writing DICOM SEG, PM, SR-TID1500 and TR. DCMTK also includes a number of useful command line tools to support reuse of DICOM content:
- dcmqi (https://github.com/qiicr/dcmqi): C++ library and command line tools to support conversion between DICOM SEG, PM, SR-TID1500 and non-standard representations. dcmqi is also wrapped within the QuantitativeReporting extension of 3D Slicer and MITK.
- MeVisLab (https://www.mevislab.de/): modular framework for image processing research and development that includes support for DICOM SEG and PM.
- fs2dicom (https://github.com/corticometrics/fs2dicom): Python tool based on dcmqi to support conversion of FreeSurfer output into DICOM
- PixelMed Java DICOM toolkit (https://www.pixelmed.com/dicomtoolkit.html): Java library that provides APIs and abstractions for the SEG, PM, SR DICOM objects
- dicom3toolkit (https://www.dclunie.com/dicom3tools.html): C++ library and a collection of command line tools for working with DICOM objects; importantly, includes
dciodvfy, which is the only validator known to us that can be used to evaluate standard coformance of the object types evaluated in DICOM4QI
- pydicom (https://github.com/pydicom/pydicom): Python library for working with DICOM. Includes implementation of unpacking for DICOM SEG single bit packed PixelData buffer.
- pyradiomics (https://github.com/Radiomics/pyradiomics): Python library for extracting radiomics features from images. Includes support of extracting features directly from DICOM images accompanied by DICOM SEG segmentations, and storing the result as a DICOM SR-TID1500 instance, as implemented in this script.