neurodata / m2g

NeuroData's MRI to Graphs (m2g) - connectome estimation package and pipeline
https://docs.neurodata.io/m2g/
Other
61 stars 35 forks source link

Docker Run gave nothing, not results, no errors too. #178

Closed hahaai closed 5 years ago

hahaai commented 5 years ago

Hi,

This is Lei Ai from the Child Mind Institute. I pulled the docker image and tried to run some dataset (BIDS format), but a few seconds after running the following commands, it 'finished/stopped.', no errors and output.

Command run:

Outsied the docker: docker run -ti --name ndmg_test --rm -v $datain:/home/data bids/ndmg /home/data/ /home/data/outputs participant --participant_label 10001

Goign into the docker and run Inside: docker run -ti -v $datain:/home/data --entrypoint /bin/bash bids/ndmg ndmg_bids /home/data /home/data/output participant --participant_label 10001

$datain is the bids format dataset. I have tried with and without the "--participant_label", there had the same problem.

Thank you very much.

Best, Lei

gkiar commented 5 years ago

Hi Lei,

This is often because the dataset cannot be found. Can you go into the container as you did in your second snippet, and instead run ls /home/data to make sure the data has been mounted?

Thanks, Greg

Greg Kiar gkiar07@gmail.com

On Thu, Nov 1, 2018 at 3:01 PM Lei Ai notifications@github.com wrote:

Hi,

This is Lei Ai from the Child Mind Institute. I pulled the docker image and tried to run some dataset (BIDS format), but a few seconds after running the following commands, it 'finished/stopped.', no errors and output.

Command run:

Outsied the docker: docker run -ti --name ndmg_test --rm -v $datain:/home/data bids/ndmg /home/data/ /home/data/outputs participant --participant_label 10001

Goign into the docker and run Inside: docker run -ti -v $datain:/home/data --entrypoint /bin/bash bids/ndmg ndmg_bids /home/data /home/data/output participant --participant_label 10001

$datain is the bids format dataset. I have tried with and without the "--participant_label", there had the same problem.

Thank you very much.

Best, Lei

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/neurodata/ndmg/issues/178, or mute the thread https://github.com/notifications/unsubscribe-auth/AEqDWGt8ncIQRuPnhDTw3HG2O7nhWLIwks5uq0T9gaJpZM4YIVxQ .

hahaai commented 5 years ago

I did it the first time when it was not working, the actual data was there. Though I only have anatomical and functional data.

I also run the ndmg_demo_dwi, it worked. This demo created one subject data. Then I run this sample subject the same way I run my own data, and it worked!

The sample data is just in bids format and I don’t see any difference with my own dataset. I noticed it has dwi data, so I get another dataset with dwi, but still the same problem.

I did notice that when I first tried, my dataset was not in bids format, and the pipeline complained and gave errors. But once I input BIDS dataset, it has that problem.

Thanks.

ebridge2 commented 5 years ago

Hi @hahaai which docker container are you using? It looks like you are using ndmg which only works with some types of bids-spec'ing, and also does not include functional MRI analysis (diffusion only). Is this correct?

Can you show the result of the following command:

tree -d </path/to/your/bids/data>

as well as the version of the docker container you are using, to confirm my suspicion?

hahaai commented 5 years ago

@ebridge2 Thanks. Here is one of my sample dataset tree.

screen shot 2018-11-01 at 9 06 49 pm

Information about hte docker container. It seems it is a old one. What about the neurodata/ndmg? REPOSITORY TAG IMAGE ID CREATED SIZE

bids/ndmg latest 38f48d5df135 9 months ago 2.04GB

Thank you very much.

gkiar commented 5 years ago

Hi @hahaai, the problem is your dataset has ses spelled incorrectly - there is an extra s in yours. Remove that and it should work fine.

ebridge2 commented 5 years ago

Briefly "sess-#" is not BIDs. Try again with "ses-#". See https://bids.neuroimaging.io/bids_spec.pdf page 47for details onBIDs spec

will type more thorough response when at desktop

On Thu, Nov 1, 2018 at 9:11 PM Lei Ai notifications@github.com wrote:

@ebridge2 https://github.com/ebridge2 Thanks. Here is one of my sample dataset tree. [image: screen shot 2018-11-01 at 9 06 49 pm] https://user-images.githubusercontent.com/7807411/47888304-1bb28380-de1a-11e8-9179-4ae570713d3e.png Information about hte docker container. It seems it is a old one. What about the neurodata/ndmg? REPOSITORY TAG IMAGE ID CREATED SIZE

bids/ndmg latest 38f48d5df135 9 months ago 2.04GB

Thank you very much.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/neurodata/ndmg/issues/178#issuecomment-435238926, or mute the thread https://github.com/notifications/unsubscribe-auth/AIeNW2iOLIqc6SslochDW05-Ko6JSoxdks5uq5uvgaJpZM4YIVxQ .

-- Eric Bridgeford ericwb.me

ebridge2 commented 5 years ago

@hahaai try this:

Pull docker container:

docker pull neurodata/m3r-release:0.1.1

Download/unpack bids data (note you must have aws cli installed):

aws s3 cp --no-sign-request s3://mrneurodata/bids_test.tar.gz ./
tar -xvzf ./bids_data.tar.gz

Run fmri pipeline:

docker run -ti -v </path/local>/BIDs_test:/inputs -v </path/local/out>:/outputs neurodata/m3r-release:0.1.1 /inputs /outputs participant func --stc interleaved --nproc <ncores>

Run dmri pipeline:

docker run -ti -v </path/local>/BIDs_test:/inputs -v </path/local/out>:/outputs neurodata/m3r-release:0.1.1 /inputs /outputs participant dwi --nproc <ncores>

where all items in <> are for you to replace.

ebridge2 commented 5 years ago

Hey @hahaai have you had a chance to take a stab at the above example, and see if the m3r-release:0.1.1 container fixes issues for you? Let me know. Want to close the loop on this this week, if possible.

hahaai commented 5 years ago

Thanks. That worked after changed one thing:

docker run -ti -v </path/local>/BIDs_test:/inputs -v </path/local/out>:/outputs neurodata/m3r-release:0.1.1 /inputs /outputs participant -- modality func --stc interleaved --nproc

Another question, is that possible to do global regression?

ebridge2 commented 5 years ago

Hi @hahaai; yes, I made some changes last week to make it more compliant with BIDs containers since I last posted that comment, one of which was the flag change you found, so I apologize for not updating the issue accordingly!

Re: GSR our goal with ndmg is to produce a consistent pipeline that is effective for all forms of fMRI. Every time a preprocessing step is added, the results are biased for that particular preprocessing method. For instance, if we were to analyze a dataset where a parameter (ie, a registration method that works better for one dataset, but not another, for instance, so we have an option to change around registration protocols included) the results produced between the two datasets can no longer be compared.

When we designed ndmg, our goal was to create a preprocessing pipeline suitable for most datasets as reliably as possible, so that aggregated inference could be performed without the afforementioned issues. When we made the decision to skip over gsr, that decision was made because when analyzing task fMRI, gsr basically destroyed a large component of the signal present using many common task fMRI analysis techniques.

Recently, we are looking at adding a limited suite of command line options (such as whether or not to perform gsr; particularly, we found gsr to perform awesomely for resting state data, so this is why we are considering adding it back), but no decisions have been made yet. Your thoughts of why: to include gsr vs to not include gsr are much appreciated. Stay tuned!