29 December 2013

oro.dicom 0.4.0

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 rigorousanalytics@gmail.com or post messages on this blog.

oro.nifti 0.4.0

Okay, so it's been quite a while since I provided an entry associated with oro.nifti.  That doesn't mean things haven't moved on... they have.  Let's just say I've been occupied.  One of the biggest changes to oro.nifti recently has been the "audit trail" is not turned off by default.  If you want to take advantage of this feature you must explicitly turn it on using the commands

R> options("niftiAuditTrail" = TRUE)
R> enableAuditTrail()

This modification was a consequence of severing the dependence on the XML package, since it was only required if one wanted to keep track of the operations performed during the data analysis (it is now only suggested).  Please see the vignette for more information about the audit trail feature.  Otherwise, minor improvements have been made and updates so that the package works with the most current version of R (3.0.2 at the time of this blog entry).  

Please use the mailing list at r-forge.r-project.org or contact rigorousanalytics@gmail.com with any suggestions.