nipy icon indicating copy to clipboard operation
nipy copied to clipboard

replication of imaging analysis components

Open satra opened this issue 14 years ago • 1 comments

a nipy script demonstrating each of the following would be very useful. if anybody can point me in the right neighborhood i can create some of these scripts (after next week though).

  • slice-time correction
  • rigid body/affine intra/inter modality registration - demonstrate that forward*inverse is close to identity. nonlinear i think will take some time to achieve in nipy at the level of quality of something like ants/cvs/dartel/irtk (this should be on the backburner)
  • smoothing (isotropic/anisotropic - susan like)
  • tissue segmentation
  • temporal filtering

these can all be compared to existing algorithms from other packages.

the analysis side:

  • model design and estimation (individual level)
  • group level (simple stuff)
    • ttest
    • anova
    • ancova
    • repeated measures an(c)ova
  • clustering (roi definitions based on functional activity)

overall scripts (these should come later - demonstrate each component above first):

  • preprocessing for task-based functional data
  • preprocessing for resting state data (can use the adhd indi dataset)
  • first level processing for task-based functional data
  • group analysis - (just some examples of design construction and estimation) for example what is the nipy equivalent of doing lm(data ~ age*brainvolume) in R

satra avatar Mar 15 '11 03:03 satra

Sounds great Satra! Coming up with such a script would be a huge asset to our own perception of the project...

Some initial tips:

  • slice-timing and motion correction. There is an example script here: https://github.com/nipy/nipy/blob/master/examples/space_time_realign.py Note that I need to re-tune some default parameters in the underlying code to make it faster.
  • affine registration. See the example script: https://github.com/nipy/nipy/blob/master/examples/affine_registration.py I plan to release some non-rigid registration in the next 2-3 weeks but it will then need intensive testing and fine-tuning.
  • tissue segmentation. I implemented Markov random field-based classification in nipy.algorithms.segmentation. I'll provide an example soon. At the moment, I use it on skull-stripped T1 images. To segment raw images, it is necessary to initialize tissue prior probabilities with an atlas, hence the need for non-rigid registration.
  • spatial/temporal smoothing. I am not aware of nonlinear filters in nipy such as anisotropic diffusion, there might be little stuff that goes beyond scipy.ndimage.
  • glm and statistical analysis. I know very little about the brainstat API. This topic, I think, should be thoroughly discussed on the mailing list - see the recent thread I started.

alexis-roche avatar Mar 15 '11 23:03 alexis-roche