The R package oro.dicom contains data input/output functions for medical imaging data that conform to the Digital Imaging and Communications in Medicine (DICOM) standard, part of the Rigorous Analytics bundle.
The latest version of oro.dicom (0.4.0) contains a substantial update:
- The function subroutines of readDICOMFile() have been re-written from scratch.
- The entire DICOM file is read into R using readBin(what = “raw”) and parsed in a recursive fashion. That is, the DICOM header information is processed in the (group, element) doublets until a sequence header is found. Once a sequence header is found, then the subroutine is called again… and so on and so forth… until the entire DICOM header is parsed. This has reduced the total number of lines of code and, I believe, made the process more easily digestible.
- Assuming a PixelData or SpectroscopyData field is present, the subsequent bytes will be read into a separate R data structure.
Other modifications have taken place, one in particular is the ability of oro.dicom to process spectroscopy data in the DICOM format. I have had requests for this package to write DICOM files as output, but unfortunately I have not found the time myself to add this capability.
The revised code has been tested against a collection of DICOM files and works well. However, only time will tell if the modifications work against the wide variety of DICOM headers one can find. If you have DICOM data that you would like to contribute to the test suite for oro.dicom, please contact me at [email protected] or post messages on this blog.