Neuroimaging common objects brainstorming
Here might be a central place to brainstorm about all the objects we might need, in the hope of getting a clean set of neuroimaging objects and API
Feel free to add/change/split/merge/comment/compile/document/usercase/whatever, this is what a wiki is for :-)
Maybe we'll have seperate pages, but for now, i'll put everything here.
See also BasicObjects for a clean Brainstat object description, while i mostly intend this page for brainstorming and discussing
This is blabber work in progress :-)
Images/Volume objects
See AimsObjects for summary of aims.Volume object.
See BasicObjects for BrainSTAT version, and some thoughts on combining the two.
all: memory mapping question: does numpy support memory map ?
Clustering objects
Parcels, ie. group of voxels. List of them? some geometrical parameters ? clustering/parcellation: the output of parcellation can be list of ROIs (subject specific) but also densities (gaussian mixture) cf Bertrand's code
Region of interest objects
How to represents it, so we can easily manipulate it and computer interesting datas on it, like mean, max.. maybe even interactively (as in IPython with pylab and pyAnatomist) example of such:
manually drawed ROI..
voxels value during time course..
voxels inside of a defined cube, or sphere..
all the voxels along a sulci..
area of a projected-on-mesh functionnal activation..
One the very basic level, this would include at least a list of voxels :-)
Brainstat has an source:BrainSTAT/BrainSTAT/Base/ROI.py file (TODO: read more about it :-)
Referentials and transformations objects
What kind of object are referentials, and transformatins ? Plans so far :
Referential has an unique identifier When loading a new referential, it asks for the transformation between the two (No need to create manually the referential and link the loaded datas with it)
Transformation are objects allowing to pass from one point to another. How to apply it on objects ? May it want to computer interpolations ?
Brainstat defines objects of type Dimension, Coordinate (defined in source:BrainSTAT/BrainSTAT/Base/Dimension.py) and Warp, defined in source:BrainSTAT/BrainSTAT/Base/Warp.py. There is a summary of how these fit together in BasicObjects.
Maybe we would like to add features.
We have many problems regarding referentials objects. Some tags missing, no real standard, apps incompatibilities. We'd like to clean that mess
fMRI Model
See FffObjects for summary of fff model.
See source:BrainSTAT/BrainSTAT/fMRIstat/Design.py for BrainSTAT version
Benjamin:
I need to have a common starting-timestamp referential defined, in order to easily manage different Time datas (fMRI acquired signal T0, design matrix T0, runtime paradigm execution T0...)
Contrasts
symbolic (highlevel) representation or numeric (vector) ? TODO...
HRF (Hemodynamic function) objects
could be either
- model (eg spm model), (parametric functions)
- basis functions
- hrf estimated from data
more
Sigraph objects ?
PyAnatomist? objects ?
Visualisation of any object ?
jb: each object should have a visu method
Yann noticed that Brainstats attach a viewer to the object, which is inconvenient when several views of the object are involved. We should use a better MVC pattern IMHO. Thus viewer objects.
test procedure, thresholds
- RFT techniques
- non parametric
- robusts
Add others ;)
