Skip to content
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

Moving user documentation from main homepage to nipype_tutorial - Pull Request #77

Merged
merged 10 commits into from
May 13, 2018

Conversation

miykael
Copy link
Owner

@miykael miykael commented Apr 30, 2018

This PR is a new attempt of moving the user documentation from the main Nipype homepage, to the nipype_tutorial. Changes are based on what was discussed in #37.

I went through all the documents in https://github.com/nipy/nipype/tree/master/doc/users and either integrated them in already existing notebooks or created new notebooks. To see the notebooks that were added or changed, see the two commits 9f8a7b8 and 91c372b.

This PR will take care of issue #3 and issue #28

@miykael
Copy link
Owner Author

miykael commented Apr 30, 2018

Conserning the three WIP notebooks:

nipype_cmd
Is the nipype_cmd documentation still relevant? I haven't used the nipype_cmd command yet, but it seems it needs the installation of nipype via apt install python-nipype. Will there not be a conflict if I first install nipype via conda/pip and than via apt?

Saving Workflows and Nodes to a file (experimental)
The example in the Saving Workflows and Nodes to a file (experimental) documentation, currently leads to two errors. As it is labeled as "experimental", shall I excluded it from the nipype_tutorial?

Resource Scheduling and Profiling with Nipype
Running an example of the Resource Scheduling and Profiling with Nipype documentation currently leads to some errors. I will further investigate why it doesn't work.

@miykael
Copy link
Owner Author

miykael commented May 6, 2018

Datalad issue seems to be solved, thanks to datalad/datalad#2472 (comment).

@miykael
Copy link
Owner Author

miykael commented May 8, 2018

@djarecka, @satra - this PR adds all Nipype user docs from the main homepage. It would be ready to merge. Do you want to validate it?

The only open questions are the three WIP's mentioned in the previous comment.

@djarecka
Copy link
Collaborator

djarecka commented May 8, 2018

Thank you @miykael for moving the docs!!

Unfortunately I've never used any of the "features" you had question about. I'm guessing that if you never used it, then it's very likely that this is not commonly used and maybe we shouldn't include it in the tutorial. If @satra wants to keep the docs, then I can help debugging to see what leads to the errors.

If you want me to test any specific notebook, you can point me to it.

@satra
Copy link
Contributor

satra commented May 8, 2018

nipype_cmd is now under nipypecli - i think there should be a section on nipypecli

@djarecka - can we write a test (in nipype) that checks for saving say the example workflows? also the example should be updated or fixed if it fails.

@miykael - the resource scheduling and profiling should work fine. perhaps the example needs to be updated. cpac, mriqc, fmriprep uses this extensively. @oesteban may be able to take a quick look.

@miykael
Copy link
Owner Author

miykael commented May 8, 2018

The nipypecli section was added with this notebook. It seems very short, as the original page was also very short. Perhaps we should extend the example with some use case.

About the examples, we currently have testing to make sure that all the notebooks pass. Do you mean tests to verify that the output created (i.e. niftis etc.) are correct?

The "resource scheduling and profiling" notebook was updated to the docker image, but the profiler seems to have an issue with the workflow structure nonetheless:

More info about the errors If you run the workflow, you will get the following error:
/opt/conda/envs/neuro/lib/python3.6/site-packages/nipype/utils/profiler.py in log_nodes_cb(node, status)
    142         'name': node.name,
    143         'id': node._id,
--> 144         'start': getattr(node.result.runtime, 'startTime'),
    145         'finish': getattr(node.result.runtime, 'endTime'),
    146         'duration': getattr(node.result.runtime, 'duration'),

AttributeError: 'list' object has no attribute 'startTime'

The problem is, that node.result.runtime is a list of Bunch and not just a Bunch variable. So, node.result.runtime[0].startTime would give me the desired start time.

If @oesteban knows a solution, that would already be great. But I will also look into the implementation of the profiler in cpac, fmriprep and mriqc.

@miykael
Copy link
Owner Author

miykael commented May 13, 2018

Merging this issue, to have the new content on the website.

I will open a new issue to handle the three WIP notebooks about nipypecli, saving workflows and the "resource scheduling and profiling".

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

Successfully merging this pull request may close these issues.

None yet

3 participants