2009 Summer Project Week Statistical Toolbox
Key Investigators
- Robarts Research/UWO: Diego Cantor
Objective
The objective of this project is to build a statistical toolbox for brain images, and integrate this toolbox into Slicer. Current tools such as SurfStat and SPM allow to run statistical experiments in two levels. The first level corresponds to a single subject study where the progression of a disease, the effect of a drug or the functional activation (fMRI) is analyzed over time. The second level corresponds to cross-sectional studies where multiple subjects are compared using designs such as ANOVA and T-tests in all its varieties.
The proposal is then to construct a third level where single-subject or multiple-subject experiments can be carried out using information from multiple modalities simultaneously. In such environment, every subject has a set of images(anatomical MR, functional MR, PET data, etc...) and the statistics are taken on vectors. Each vector is composed by the respective intensities in the image set.
Approach, Plan
Due to the complexity of this toolbox the plan is to break it down in several releases or milestones.
In general terms I plan to use:
- TinyXML for the XML processing
- VNL (the one available in ITK) for matrices processing
- Boost shared pointers for smart pointers
- Some undetermined thread library for asynchronous processing (linear regression stuff...)
Any suggestion to change these libraries is more than welcome.
First Milestone
- The images should be spatially normalized and registered to an atlas
- The experiments are read/written using XML
- Trilinear interpolation is used when the images in the set have different resolutions
- There are not covariates
- The only test available is a T^2 Hotelling test comparing all subjects against the mean
- Uncorrected p-values are available
- When the dimension is 1. The T^2 test is reduced to a regular t-test and this is verifiable
- The integration with Slicer is resolved
Second Milestone
- Summary statistics are available (Global/local)
- Extent threshold is available
- Family-wise p-values are available
- Two-sample T^2 test is available
- Likelihood Ratio Test is available
Third Milestone
- Precalculated T-maps and F-maps can be compared
- Global and local statistic plots are available
- Confidence intervals for the mean are available
Fourth Milestone
- Principal Component Analysis is available
Progress
This is a long-term project. Right now I am working on the first milestone. I expect to learn about the Slicer architecture (modules, gui, event handling, processing threads, etc..) during the programming week so the posterior releases are developed entirely into Slicer.