Skip to content

New CompCor interface #1594

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
17 of 19 tasks
oesteban opened this issue Aug 29, 2016 · 13 comments
Closed
17 of 19 tasks

New CompCor interface #1594

oesteban opened this issue Aug 29, 2016 · 13 comments
Assignees

Comments

@oesteban
Copy link
Contributor

oesteban commented Aug 29, 2016

Create a new interface (under algorithm.misc ?) for the calculation of the Component Based Noise Correction Method (CompCor) on r-fMRI.

The code is already here in nipype:

So this issue would include updating both workflow and example to use the new interface.

@chrisgorgo
Copy link
Member

Big thumbs up!

On Aug 29, 2016 1:47 PM, "Oscar Esteban" [email protected] wrote:

Create a new interface (under algorithm.misc ?) for the calculation of the Component
Based Noise Correction Method (CompCor)
http://dx.doi.org/10.1016%2Fj.neuroimage.2007.04.042 on r-fMRI.

The code is already here in nipype:

So this issue would include updating both workflow and example to use the
new interface.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#1594, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp7nwsvjUgNL5oaNtJqyDBuWOLGBEks5qkxtKgaJpZM4Jvt6N
.

@berleant berleant changed the title New CompCorr interface New CompCor interface Aug 31, 2016
@chrisgorgo
Copy link
Member

It would be a "pure python" interface similar to https://github.com/nipy/nipype/blob/master/nipype/algorithms/icc.py#L25

@satra
Copy link
Member

satra commented Aug 31, 2016

the function implemented in the resting workflow assumes that something else computes the voxel mask over which the PCA is implemented. this allows the a and t pieces to be taken care of by other functions/workflows. for example, fast is used to get the tissue classes. i would keep that separation for this interface. you can then build a sequence of nodes for aCompCor and tCompCor.

@berleant
Copy link
Contributor

are you saying that computing the t mask (top 2% tSTDs) is already implemented somewhere? That would be great

@berleant berleant mentioned this issue Sep 3, 2016
@berleant
Copy link
Contributor

berleant commented Sep 4, 2016

In the paper, after the components are computed, they are applied using a GLM analysis with an AR(1) model for the additive noise component. There are many options in nipype for doing a GLM. The examples above use fsl.FilterRegressor and fsl.GLM, but there is also freesurfer.GLMFit, which has a parameter for using AR1. Which interface is preferred? There is also the option of leaving it up to the user.

@chrisgorgo
Copy link
Member

I would not incorporate applying of the components into this interface -
this step usually combines regressors coming from multiple sources in
addition to CompCor (motion, task design, physiological recordings etc). If
you need this for testing I would go with FSL or something from statmodels.

On Sun, Sep 4, 2016 at 4:52 PM, Shoshana Berleant [email protected]
wrote:

In the paper, after the components are computed, they are applied using a
GLM analysis with an AR(1) model for the additive noise component. There
are many options in nipype for doing a GLM. The examples above use
fsl.FilterRegressor and fsl.GLM, but there is also freesurfer.GLMFit, which
has a parameter for using AR1. Which interface is preferred?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#1594 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAOkp3ieWZjDTYCQXRFQcvZOKz2jERJAks5qm1nIgaJpZM4Jvt6N
.

@berleant
Copy link
Contributor

berleant commented Sep 5, 2016

Oh good, I was leaning that way myself

On Sun, Sep 4, 2016, 5:22 PM Chris Filo Gorgolewski <
[email protected]> wrote:

I would not incorporate applying of the components into this interface -
this step usually combines regressors coming from multiple sources in
addition to CompCor (motion, task design, physiological recordings etc). If
you need this for testing I would go with FSL or something from statmodels.

On Sun, Sep 4, 2016 at 4:52 PM, Shoshana Berleant <
[email protected]>
wrote:

In the paper, after the components are computed, they are applied using a
GLM analysis with an AR(1) model for the additive noise component. There
are many options in nipype for doing a GLM. The examples above use
fsl.FilterRegressor and fsl.GLM, but there is also freesurfer.GLMFit,
which
has a parameter for using AR1. Which interface is preferred?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#1594 (comment), or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/AAOkp3ieWZjDTYCQXRFQcvZOKz2jERJAks5qm1nIgaJpZM4Jvt6N

.


You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
#1594 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABVoRLyu0d7-KtxzjOMl6eQMCu1AKPKBks5qm2DPgaJpZM4Jvt6N
.

@berleant
Copy link
Contributor

berleant commented Sep 7, 2016

In the paper, they find the tSTD "after the removal of low-frequency nuisance terms (e.g., linear and quadratic drift)."

Can I assume, if the input is an already-aligned image, that this processing has already been done? If not, how does one determine the "low-frequency nuisance terms"?

@satra
Copy link
Member

satra commented Sep 7, 2016

@shoshber - in the resting state workflow, the TSNR node takes care of this

@berleant
Copy link
Contributor

berleant commented Sep 7, 2016

ok, I will assume it is already done

@chrisgorgo
Copy link
Member

Have look here:
#1599 (comment)

On Tue, Sep 6, 2016 at 11:24 PM, Shoshana Berleant <[email protected]

wrote:

ok, I will assume it is already done


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#1594 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAOkp7Qttp8Nx-2qQk_PDnz7NtW5snFUks5qnliSgaJpZM4Jvt6N
.

@berleant
Copy link
Contributor

I can't get the example .py file to run (#1616), so I can't test my refactoring.

@berleant
Copy link
Contributor

closed with #1599

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants