Difference between revisions of "Projects:fMRIStatisticsSoftwareInfrastructure"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
= fMRI Statistics Software Infrastructure =
 
 
 
  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]], [[Algorithm:MIT|MIT Algorithms]]
 
  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]], [[Algorithm:MIT|MIT Algorithms]]
  
'''Objective'''
+
= fMRI Statistics Software Infrastructure =
  
 
To provide ITK and Slicer based tools for processing fMRI data. Currently, the scope of this effort focuses on the data processing that occurs ''after'' the alignment of the time sequence acquisition. As such, the effort is centered on the statistical analysis of fMRI and includes infrastructure for:
 
To provide ITK and Slicer based tools for processing fMRI data. Currently, the scope of this effort focuses on the data processing that occurs ''after'' the alignment of the time sequence acquisition. As such, the effort is centered on the statistical analysis of fMRI and includes infrastructure for:
Line 12: Line 10:
 
* Segmentation
 
* Segmentation
  
'''Progress'''
+
= Description =
  
 
A new image class, itk::VectorImage, has been developed to represent fMRI data. A VectorImage is an N-dimensional image where each voxel stores a vector of values. Conceptually, VectorImage is similar to a standard itk::Image of itk::VariableLengthVectors (in fact, VectorImage provides a fascade of an Image of VariableLengthVectors). However, VectorImage uses an efficient memory structure which avoids the memory fragmentation that results from storing a VariableLengthVector instance at each voxel.
 
A new image class, itk::VectorImage, has been developed to represent fMRI data. A VectorImage is an N-dimensional image where each voxel stores a vector of values. Conceptually, VectorImage is similar to a standard itk::Image of itk::VariableLengthVectors (in fact, VectorImage provides a fascade of an Image of VariableLengthVectors). However, VectorImage uses an efficient memory structure which avoids the memory fragmentation that results from storing a VariableLengthVector instance at each voxel.
Line 26: Line 24:
 
* [http://hdl.handle.net/1926/159 Probability Distributions Insight Journal Article (pdf and code)], [https://caddlab.rad.unc.edu/MIDAS/bitstream/1926/159/5/Distributions.pdf pdf]
 
* [http://hdl.handle.net/1926/159 Probability Distributions Insight Journal Article (pdf and code)], [https://caddlab.rad.unc.edu/MIDAS/bitstream/1926/159/5/Distributions.pdf pdf]
  
'''Key Investigators'''
+
= Key Investigators =
  
 
* GE (probability distributions, generalized linear model, segmentation): Jim Miller
 
* GE (probability distributions, generalized linear model, segmentation): Jim Miller
Line 32: Line 30:
 
* Kitware (VectorImage): Karthik Krishnan
 
* Kitware (VectorImage): Karthik Krishnan
 
* MIT (segmentation): Polina Golland
 
* MIT (segmentation): Polina Golland
 
'''Links'''
 

Revision as of 17:37, 28 November 2007

Home < Projects:fMRIStatisticsSoftwareInfrastructure
Back to NA-MIC_Collaborations, MIT Algorithms

fMRI Statistics Software Infrastructure

To provide ITK and Slicer based tools for processing fMRI data. Currently, the scope of this effort focuses on the data processing that occurs after the alignment of the time sequence acquisition. As such, the effort is centered on the statistical analysis of fMRI and includes infrastructure for:

  • Data representation
  • Massively univariate processing
  • Hypothesis testing
  • Segmentation

Description

A new image class, itk::VectorImage, has been developed to represent fMRI data. A VectorImage is an N-dimensional image where each voxel stores a vector of values. Conceptually, VectorImage is similar to a standard itk::Image of itk::VariableLengthVectors (in fact, VectorImage provides a fascade of an Image of VariableLengthVectors). However, VectorImage uses an efficient memory structure which avoids the memory fragmentation that results from storing a VariableLengthVector instance at each voxel.

The massively univariate processing of fMRI data involves solving a generalized linear model (GLM) at every voxel under consideration. Previously, Slicer used the GNU Scientific Library (GSL) for solving GLM problems. However, the GNU Scientific Library license is incompatible with the spirit of NA-MIC. The GLM code in Slicer has been ported to use existing components of ITK for solving standard linear algebra problems.

Hypothesis testing is used as a model selection tool in fMRI processing. A new library of probability distributions to support hypothesis testing has been developed and is scheduled to be included in ITK. The new library provides access to the probability density function, cumulative distribution function, and inverse cumulative distribution function for Gaussian, Student-t, and Chi-square distributions. The library can be extended to include other parametric and non-parametric distributions. The probability distribution library has been integrated into Slicer and supplants the use of the GNU Scientific Library. A paper describing the library is available on the Insight Journal.

To combat the massively univariate nature of the above processing, where each voxel is classified independent of its neighbors, neighborhood constraints are employed to refine the initial estimated activation maps. These neighborhood constraints can be posed as a Markov Random Field (MRF) and solved using a variety of methods (iterated conditional modes, mean field annealing, belief propagation, graph cuts). Currently, ITK only provides an iterated conditional modes solver for a Markov Random Field. In our ongoing work, we will be extending ITK to have a broader suite of MRF solvers.

References

Key Investigators

  • GE (probability distributions, generalized linear model, segmentation): Jim Miller
  • Isomics (Slicer integration): Steve Pieper, H Liu
  • Kitware (VectorImage): Karthik Krishnan
  • MIT (segmentation): Polina Golland