nipy / nipype

Workflows and interfaces for neuroimaging packages
https://nipype.readthedocs.org/en/latest/
Other
748 stars 530 forks source link

rsfmri questions #1064

Closed mb3152 closed 7 years ago

mb3152 commented 9 years ago

New to nipype, and just want to make sure I understand what is going on.

How does the normalization on this script work? Is it a combination of ANTs and Freesurfer? How do I change the number of iteration for ANTs? i.e., what should this line ideally be, if time is not that big of an issue? reg.inputs.number_of_iterations = [[10000, 11110, 11110]] * 2 + [[100, 30, 20]]

What steps are done on the surface, and what are done on the volume?

Is it possible to get the data into average fs_LR32k mesh?

Thank you!

satra commented 9 years ago

How does the normalization on this script work? Is it a combination of ANTs and Freesurfer?

it uses bbregister from freesurfer to register the median functional image to the freesurfer recon and then normalizes the structural from freesurfer using ants to mni space. then it combines those registrations into a single interpolation step. this combined warp is then used to map the mindboggle atlas to the individual functional space (to extract volume ROI timecourses - i use it mostly for the subcortical structures). also the freesurfer transform is used to generate aparc+aseg time courses and for resampling the timeseries onto the fsaverage4/5/6 (this is the target subejct choice) surfaces.

What steps are done on the surface, and what are done on the volume?

in this script, almost everything is done on the volume and then resampled on to the surface.

Is it possible to get the data into average fs_LR32k mesh?

theoretically yes, but i don't recollect if fs_LR32k has a mapping to fsaverage. if it does then it should be as simple as adding fs_LR32k to your freesurfer subjects dir and specifying fs_LR32k as your target surface.

mb3152 commented 9 years ago

Is smoothing done on the surface?

Okay great, thank you. How easy would it be to extract ROI time courses from multiple atlases? Do I just need them in 2mm iso in MNI space?

satra commented 9 years ago

smoothing is done on the surface, but you have to be careful as to which streams you choose. there is a smoothed volume stream as well as an unsmoothed stream (the one called bandpass).

https://github.com/nipy/nipype/blob/master/examples/rsfmri_vol_surface_preprocessing_nipy.py#L741

both of these streams get sampled to surface and the surf_fwhm is used to smooth the data on the surface.

to use a different atlas at least in MNI space, a couple of things need to be changed (the atlas file and the set of indices).

https://github.com/nipy/nipype/blob/master/examples/rsfmri_vol_surface_preprocessing_nipy.py#L857

the reason we use the mindboggle template and atlas, is that they were created from the same transformations.

mb3152 commented 9 years ago

Okay, great, thanks.

How would I determine the set of indices?

satra commented 9 years ago

whatever the indices are in the atlas.

mb3152 commented 9 years ago

Okay, so if my atlas file is labeled by intensity from 1 to 300, I would just replace it with range(1,301)?

Also, how long should spacetime_realign take? Mine has been hanging for about an hour. I have an hour of EPI data. Is that normal?

satra commented 9 years ago

spacetime realign is memory and cpu hungry and takes a while. for an hour worth of data, it's going to take a bit of time. spacetimerealign questions would be best asked on the nipy-devel mailing list (@alexis-roche) can provide some tune-up suggestions perhaps.

mb3152 commented 9 years ago

Okay, thanks for all your help! I will just submit it to SGE and be patient :+1:

mb3152 commented 9 years ago

Also, was I correct about the indices for the atlas?

satra commented 9 years ago

yes - you were correct about your atlas.