21 December 2010

oro.nifti 0.2.4

The R package oro.nifti contains functions for the input/output and visualization of medical imaging data that follow either the ANALYZE, NIfTI or AFNI formats.  This package is part of the Rigorous Analytics bundle.

Orthographic display of structural MRI acquisition from the AFNI data collection (afni_anat1+orig.BRIK).

 
The latest version of oro.nifti (0.2.4) has been submitted to CRAN and is available on R-Forge now.  New features include:
  • Read/write/visualize AFNI data (thanks to contributions by K. Tabelow)
  • writeANALZE and writeNIfTI are now S4 generic functions (suggested by K. Tabelow)
  • Conversion in both directions between fmridata-S3 (from the fmri package) and nifti-S4 classes.
  • Fixed bugs in translateCoordinate (thanks to R. Heckemann)
Please use the mailing list for any suggestions or contact rigorousanalytics@gmail.com.

26 October 2010

DEADLINE EXTENDED -- CFP: Special Issue in JSS for "Magnetic Resonance Imaging in R"

Magnetic Resonance Imaging in R 

The deadline for submission to the Special Issue of the Journal of Statistical Software(JSS - http://www.jstatsoft.org) has been extended to November 14, 2010.


All MRI modalities are welcome, for example, structural MRI, functional MRI, diffusion tensor or diffusion-weighted imaging, perfusion MRI, pharmacological MRI, and others. Topics of interested include, but are not limited to,
  •  New analysis techniques for MRI data and their implementation.
  •  The implementation of established MRI analysis techniques.
  •  The incorporation of third-party open-source medical imaging software with R.
  •  Data management.
  •  (Semi-)Automated techniques for quality control.
  •  Visualization of medical imaging data and/or modelling results.
All papers will be subjected to the peer-review process, and must comply with the Guide for Authors; see http://www.jstatsoft.org for more details.

Please address any comments or inquiries as well as submission of papers to one of the guest editors below.

Sincerely,

Brandon Whitcher and Karsten Tabelow

09 October 2010

oro.nifti 0.2.1

The R package oro.nifti contains functions for the input/output and visualization of medical imaging data that follow either the ANALYZE or NIfTI formats.  This package is part of the Rigorous Analytics bundle.

The latest version of oro.nifti (0.2.1) has been released on CRAN.  New features include:
  • More efficient use of validity checking
  • Added documentation for the ANALYZE 7.5 format (since it doesn't appear at www.mayo.edu)
  • Checks for the bitops package before trying to using it.
Please use the mailing list for any suggestions or contact rigorousanalytics@gmail.com.

oro.dicom 0.2.7

The R package oro.dicom contains functions for the input/output of medical imaging data that conform to the Digital Imaging and Communications in Medicine (DICOM) standard.  This package is part of the Rigorous Analytics bundle.

The latest version of oro.dicom (0.2.7) has been released on CRAN.  New features include:
  • Improved handling of tables derived from DICOM headers; dicomTable()
  • Better validity checking
  • Fixed issues with swapDimensions()
Please use the mailing list for any suggestions or contact rigorousanalytics@gmail.com.

06 July 2010

oro.nifti 0.2.0

The latest version of oro.nifti (0.2.0) has been released on CRAN.  New features include:

  • Reduced overall size of the package by an additional 50%
    • This is a 75% reduction in total from version 0.1.4
  • Four-dimensional acquisitions are now re-oriented and re-sliced appropriately when converting from DICOM to NIfTI
 Please use the mailing list for any suggestions and/or concerns.

01 July 2010

Call for Papers: Special Issue in JSS for "Magnetic Resonance Imaging in R"

We hereby call for the submission of original papers for a Special Issue of the Journal of Statistical Software (JSS - http://www.jstatsoft.org)

Magnetic Resonance Imaging in R

 


planned for Summer 2011. The deadline for submission is October 31, 2010.

All MRI modalities are welcome, for example, structural MRI, functional MRI, diffusion tensor or diffusion-weighted imaging, perfusion MRI, pharmacological MRI, and others. Topics of interested include, but are not limited to,
  •  New analysis techniques for MRI data and their implementation.
  •  The implementation of established MRI analysis techniques.
  •  The incorporation of third-party open-source medical imaging software with R.
  •  Data management.
  •  (Semi-)Automated techniques for quality control.
  •  Visualization of medical imaging data and/or modelling results.
All papers will be subjected to the peer-review process, and must comply with the Guide for Authors; see http://www.jstatsoft.org for more details. Please address any comments or inquiries as well as submission of papers to one of the guest editors below.

Sincerely,

Brandon Whitcher and Karsten Tabelow

Guest editors:

Brandon Whitcher
GlaxoSmithKline Clinical Imaging Centre
Hammersmith Hospital, Imperial College
London, United Kingdom
email: b.whitcher@imperial.ac.uk

Karsten Tabelow
Weierstrass Institute for Applied Analysis and Stochastics
Berlin, Germany
email: karsten.tabelow@wias-berlin.de

10 June 2010

oro.nifti 0.1.5

The latest version of oro.nifti (0.1.5) has been released on CRAN.  New features include:

  • Reduced overall size of the package by 50%
  • Minor improvements; for example, the XML package is no longer required as indicated from the DESCRIPTION file
 Please use the mailing list for any suggestions and/or concerns.

oro.dicom 0.2.6

The latest version of oro.dicom (0.2.6) has been released on CRAN. New features/improvements include:
  • 33% increase in the speed of DICOM file handling
  • Automatic re-orientation/re-slicing of 3D and 4D volumes when converting from DICOM to NIfTI format

Work is underway to incorporate the best features across the different DICOM file-handling programs in multiple R packages.  It's not standardization, but we're on the right path!

10 April 2010

Where do you sit? Author position and the h-index

I was recently introduced to the concept of the h-index and was compelled to find out my own h-index via Scopus.  Numbers don't matter, but discussion with my colleagues turned to the issue of author position.  We quickly decided that there are three important "positions" in the list of authors for a publication: first, last and everywhere else (let's call it the middle).  Three-dimensional plots are never easy to deal with, but the concept of the triangle plot has always stuck in the back of my mind.  Armed with this fine plotting mechanism, and the R language, I decided to attack the output from Scopus.

First things first... here is code to parse the .csv output provided by Scopus and calculate the h-index with a simple plot.


Now to deal with the authorship position we first parse the author list, determine where the author of interest is located and then convert the three categories into percentages. I have neglected to include the code that explicitly constructs the matrix A. Just let A = rbind(A, triax.data) to build it up for each author.

I happen to be the red dot in the triangle plot, with four of my colleagues also represented.  With respect to journals in the field of medical imaging and the like, one would want to have as many first or last author positions as possible and fewer middle positions.  First means you did all the work, last means you're the most senior author and (let's face it) nobody cares if you're anywhere else.

So the question is, where do you sit?

24 March 2010

oro.nifti 0.1.4

The latest release of oro.nifti (0.1.4) has been released on CRAN.  New features include:
  • Added text capability in the (unused) fourth pane in orthographic()
  • A vignette is now included (taken from dcemriS4)

oro.dicom 0.2.5

The latest version of oro.dicom (0.2.5) has been released on CRAN.  New features include:
  • Added "mosaic" capability when creating 3D arrays from DICOM
  • dicomTable() now accepts single DICOM file
  • Better handling of SequenceItem tags when reading in DICOM files
Work is ongoing to provide 4D array creation for both single-file and mosaic acquisitions.

21 March 2010

Converting Siemens MOSAIC

Siemens multi-slice EPI data may be collected as a "mosiac" image; i.e., all slices acquired in a single TR (repitition time) of a functional MRI run are stored in a single DICOM file.  The images are stored in an MxN array of images.  The function create3D() will try to guess the number of images embedded within the single DICOM file using the AcquisitionMatrix field.  If this doesn't work, one may enter the (M,N) doublet explicitly. 



The first image is taken from the raw DICOM file, in mosaic format, and displayed with the default margins [(5,4,4,2)+0.1].



The second image is displayed after re-organizing the original DICOM file into a 3D array and then converting it to NIfTI format. Additional information, using the valid NIfTI header fields descrip and aux_file, have been defined for these data.

Remember, all other Siemens DICOM data are stored as a seperate file for each image (as is the case with the other major MR scanner manufacturers).

16 March 2010

DICOM-to-NIfTI Conversion

Now that the two packages oro.dicom and oro.nifti have been released, we can put them together and perform the much sought after conversion from DICOM format to NIfTI format (entirely in R).  Why?  Because DICOM is the international "standard" for medical imaging data coming off the scanners, but it's not the easiest thing to manipulate on a day-to-day basis.  NIfTI was developed several years ago in order to provide a more user-friendly format for medical imaging data. 

Let's use the ADNI data that served our purposes before. Here is a sagittal MPRAGE acquisition, the data are read in using dicomSeparate() that takes in an entire directory of DICOM files.

The DICOM object is converted into a three-dimensional array using create3D(). Voxel dimensions are obtained from two different DICOM header fields (PixelSpacing and SliceThickness) so this information may be provided to the final DICOM-to-NIfTI conversion into an S4 class. Note, two-byte integers were specified in order to cover the dynamic range of signal intensities of the original MR acquisition.


The first figure provides a "lightbox"perspective of the MPRAGE acquisition, showing all 166 sagittal slices.  There are numerous options for the oro.nifti::image() S4 Method.  What is shown here uses all the default settings.


The second figure provides an "orthographic" representation of the MPRAGE acquisition, showing the mid-axial, mid-coronal and mid-sagittal slices with crosshairs providing a spatial position in each view. 

05 March 2010

oro.nifti 0.1.3

The R package oro.nifti has been released.  Medical imaging data, in NIfTI or Analyze formats, may be input, created from scratch, converted from DICOM (using oro.dicom) and output to a file. 

26 February 2010

oro.dicom 0.2.4

The R package oro.dicom is a major revision, and improvement, on the previous package DICOM.  New features include
  • Increased speed
  • Uploading only header information (for restricted memory)
  • Reading implicit value representations (VR's)
  • Parsing SequenceItem tags (undefined lengths are allowed)
  • Integration with oro.nifti to convert DICOM to NIfTI
Provided below is a straightforward application of the oro.dicom package to an example data set from the ADNI (Alzheimer's Disease Neuroimaging Initiative).

The list object from reading all 166 DICOM files has two fields: header and image. Each hdr element contains the DICOM header fields associated with that file and the corresponding img element contains the PixelData tag.  The first DICOM file contains 312 DICOM header fields. Using extractHeader() one can obtain the value of a DICOM header field in either text or numeric format.


The image above is the mid-sagittal view of this subject from his/her MPRAGE acquisition.