-
Couldn't load subscription status.
- Fork 536
WIP: 4-steps TBSS #152
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
WIP: 4-steps TBSS #152
Conversation
| Hey, I haven't had much time to look too in-depth at this, but looks like a great start. One small suggestions, perhaps change a few of the ImageMaths nodes to use interfaces from the fsl.maths module? (They import in the top level fsl namespace). That might make some of the steps clearer for users who read the workflow to understand what is happening. Will try and take a closer look in the next couple of days. |
| I will have a try. Thanks. |
| This looks really good! Thanks for your contribution. However, to make it really useful for broader audience we need to do two things:
|
| Hi~
|
The test you have written is a step in the right direction, but I think we should be testing something else. At the moment you are testing if our implementation of TBSS gives the same results as a snapshot of FSL TBSS. However what we are really interested is to automatically find when FSL will change something in their procedure. Therefore what we should do is to run TBSS twice - once using original FSL scripts and once using your workflow. |
| I have a branch where I'm working on sprucing up the randomise interface. You should definitely not use flameo with TBSS data. I'll try to get it up and running in the next few days. It's worth pointing out again that, although we should have Randomise fully operational if we're going to claim to support TBSS, it's not actually a component of the FSL tbss scripts. |
| About TEST: Abount Randomise: |
| If I remember correctly, when I wrote that workflow, there's a difference at the skelotonrtzaition stage. FSL derives a brainmask from the data, whereas my workflow just used the MNI-space brainmask. I believe that when I changed the mask node to the way FSL does it, I got data that were identical to FSLs. But it's possible I did that after posting my gist with the TBSS workflow? I'd check into that first. Sorrry for not remembering more precisely. |
| It is probably better to test the itermediate instead of just the final output anyway. |
| As @satra kindly pointed out to me you can use MultipleRegression interface to create design and contrast files for Randomise for final step of TBSS analysis. |
nipype/workflows/fsl/tbss.py Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps in the docstrings, we should just say what happens, instead of asserting that it's the same as in the FSL scripts (which is not always transparent...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you mean that we use an underlying function to take the place?
But I think we just use the tbss_all, tbss1~4 at most, when we use the workflow. And what the user need to know are the inputs and outputs for the tbss_all and individual workflows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I mean, describe the actual data processing that's happening. e.g, for tbss_1_preproc "erodes brain FA images and creates brain masks", etc.
| To @chrisfilo : |
| Yes - I would give it a try. If it's broken we'll fix it. |
| I ran the test but it cost lots of time. 2011-04-21 Xiangzhen Kong 发件人: chrisfilo Yes - I would give it a try. If it's broken we'll fix it.Reply to this email directly or view it on GitHub: |
| The big problem with Randomise is that it has no outputs. I'm working on that, but it's a slow procedure to explore the relationship between command line settings and outputs that get generated since it takes a while to run (and seems not to want to run properly below some number of permutations) :) |
| Hey, Unfortunately, I'm extremely bandwith-limited at the moment and don't have the time to fully test these. Xiangzhen, perhaps you could take a look? |
| These days I have been preparing a report and I have not taken a look at it. |
| Hi, Best, |
| I don't know off the top of my head, but I would assume so. I suppose the easiest thing to do would be to take some T stat values of voxels, convert them to p values manually using one or two tails, and then check whether that matches the p values in the voxel you took took the tstat from. |
| Hi, Michael |
nipype/workflows/fsl/test_tbss.py Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test_tbss workflow works well for all comparisons about two single files, but file lists.
I wonder whether I can use a MapNode here,
Should I merge the file list into one before comparing outputs?
| what's the status of this pull request? |
| So far, I have tested the tbss.py via test_tbss.py. Thanks! |
nipype/workflows/fsl/tbss.py Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is always a warning as following:
/usr/local/neurosoft/lib/python2.6/site-packages/nipype/interfaces/base.py:363: UserWarning: Input project_data requires inputs: threshold, distance_map, data_file
warn(msg)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it cannot know ahead of time that you will set one of those values, so it
simply warns the user. if at runtime you don't set one of those values, you
will get an error.
| @bnucon are you still working on this or do you have the time to update this and make sure it works with the latest nipype? |
| @satra |
| awesome thanks! |
| @satra |
| Is the branch ready for another review? Thanks, |
| Yes. Best, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this also belongs to /examples
Thank Michael firstly.
Separated Michael's sharing code(for TBSS) git://gist.github.com/905015.git into 4 workflows.
Added slicer node into tbss1.
Created a tbss_all workflow by combining 4 workflows.
Added test_tbss.py for testing the workflow.
'to find best target from all images in FA' has not yet been included, but it can satisfy common research process.
Kindly give me your comments.