Giter VIP home page Giter VIP logo

cmp's People

Contributors

1d99net avatar chrisgorgo avatar cwis avatar oesteban avatar unidesigner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmp's Issues

multiple scales

we provide the different scales. these have to be included as parameters. it should be possible to have different scales, i.e. parcellations to run.
this implies that it has to be included in the configuration. idea:

  • provide a graphml file edgeless that contains nodes that represent the intensitity values in the volumes, and additional information (node name, url, color etc.)
  • need to add parcelated atlas (freesurfer?). do we need volume based, and/or surface based?

change format of old pipeline format. use data from connectome file converter to know the brain region mappings.

email notification

after each module execution, send an email to the specified receipient.

matlab legacy

check that we missed nothing: e.g.
what about ordred_3parcels.mat / new_order_mai.mat ?

raw_step5

Apply the REGISTRATION TRANSFORM to the output of FreeSurfer (WM+GM)"

step4_registration_applyToTractoMasks.py and fillInHoles.matlab

What does it do?

Linear vs non-linear registration

Alessandro
In my trials, I found that non-linear registration can help a lot, since many EPI distortions occur very close to the frontal part of the CC. If not properly corrected, these distortions can lead to lots of fibers lost.

Actually, computation time incresases a lot depending in the case...maybe what we can do is first correct the images for EPI distortion and then register with linear registration...do you think that may work?

Alessandro
The problem is "how to correct EPI distortions?" I mean, if you have some field-maps you can do that (actually, I don't know how...but it's possible). In our case I used the registration itself by exploiting an additional T2 image

[email protected]
there's a paper I found in ISMRM... Wu, MICCAI 2008 ... it seems quite good...but still neither I i dont now how to correct the EPI distortion in a kind of 'automatic way'

[email protected]
And talking about EPI and some other artifacts. Has I'm working with baby images, most of the time I have big issues with the movement of the patient...(black hole in the mosaic). For avoiding this, there's a software apparently really good...RESTORE who performs a robust Tensor Fitting to avoid Goshting in images of mosaic. Is from the group of Carlo Pierpaoli. I havent got time to check it out, but maybe we can consider the idea of having a look to it and find if we can profit

[email protected]
DIFF_PREP - software for image resampling, motion, eddy current distortion and susceptibility induced EPI distortion corrections, and for re-orientation of data to a common space...is from Carlo Pierpaoli group...literally, it is a: 'software for image resampling, motion, eddy current distortion and susceptibility induced EPI distortion corrections, and for re-orientation of data to a common space'.
CHECK IT OUT IN: http://www.nitrc.org/projects/tortoise/html.ie6

apply to tracto mask

is this an issue?

These datasets MUST BE in the space/orientation of the 'T1' dataset, and after ######
the script they'll be in the space/orientation of 'DSI_b0_resampled' dataset. ######

statistic output

to generate automatically after the processing,
e.g. network statistics, variablity in subjects, between timepoints

how to make cmt stateful

know which module was already processed.
successfully or not.
check output files existing. (rename temporary file trick)

deployment idea

byte-code. you can bug-report. if you want to contribute a new module, behaviour. ask for collaboration and grant access to the code (without the core).

create gui

as a thin layer on top of the mapping script

cff converter

write it using cfflib in the end.
generate meta.cml.

check raw_step5

check with ale if for non-linear registration mode the matrix copying is correct.
use 'T1-TO-T2.mat'?

skip whitematter mask hole filling

after discussion with alia, we should consider removing the automated wm mask correction based on gfa parameters. users should not be forced to use this approach.

rsfmri module

based on patrics script (stored in scratch/rsfmri) we could produce functional correlations.
but first we need a processing module for rsfmri data:
register fmri to b0, since we have roi to b0, we can compute roi-based averages for time series generation.

Corpus Callosum White Matter

Alessandro, me and [email protected]:

I proposed a small trick for that. I used the FA map to include in the WM mask all the misclassified voxels; for instance, I included all voxels labeled as "GM" and with FA>0.3, because actually they probably are "WM" instead. Then, I checked that the boundary between WM-GM matched as before. This trick helped, but of course THIS IS NOT "the solution".

[email protected]
great...FYI in case of children and newborn this threshold must be reduced at least at FA>0.1 :P the FA values are much smaller than the case of adult brain

Alessandro, me and [email protected]:
Ok. So we could make it parametric allowing people to specify it and interactively see the results! :)

[email protected] and me:
yes, I think is the best think to do...and is not so difficult, I guess...I know that i'm the only one that works with children and newborns, but giving the possibility of 'personalize' this parameter can be usefull for all of us

[email protected]:
The FA value (0:0.1, 0:1, 0:10, 0:100, 0:1000) depends on the version of DTK (diffusion toolkit). I have different data with different FA values depending on what version of DTK I used for the processing.

step1 flirt

linear transformation matrix looks quite different!
fs 5.0 issue?
no log output. why?

c++ program

not rely on environment variables setting!
check trackfile headers

freesufer 5.0 - insula

Patric: Just thinking about the pipeline, I was thinking that at the same time we are integrating the new freesurfer we should add the insula in the connection matrix, which is really a missing part in the current status. Insular would be one ROI at level 66 and be many randomly organized ROIs at level 1000. For the intermediate, we just need to group iteratively in a way that ROIs are as compact as possible. If you need any help for the grouping just let me know. For the generation of the small ROIs use Xavier's partition process.

FreeSurfer parcellation on original T1 or registrered T1

[email protected],
Well here I suppose that it would be better on the registered T1 if you have a whole brain coverage of the diffusion data, which is my case (44 slices). But of course if you have data where some slices are missing (in Alessandros case), it's better to do it the other way. This could be something we add to the new pipline as an option (whole brain do this if not do that.....)

ROI files

ROI files don't match between different resolutions: if you overlap them, you can see they differ in several regions

Folder structure

  • It could be useful to have only one folder for each subject, which contains all the that the pipeline worked on (e.g. Freesurfer data, cmt data etc). I found annoying to have the data sparse in different parts of the hard-disk.

I think it can be solved, for example, by having a variable in which one can specify the project he is working on (stroke, epilepsy etc). Then, we will have a big folder containing one subfolder-per-project. Inside this folders, there will be subfolder for patients data, and inside these we could have three folder:

  • rawdata: which will contain all the DICOM rawdata, the one converted to NIFTI and all the registration stuff (additional data (e.g. T2), tranformations matrix, warping etc ).
  • freesurfer: which will contain all data produced by freesurfer. I think this would only require to set the variable $SUBJECTS appropriately.
  • cmt: which will contain all data produced by the pipeline (fsmask_1mm, ROI_HR_th, fiber-tracking data files, connection matrixes etc). I think this would only require to set the variable $CMT_SUBJECTS appropriately

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.