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

FIX: ANTs' tools maintenance overhaul #3180

Merged
merged 19 commits into from
Mar 9, 2020

Conversation

oesteban
Copy link
Contributor

This PR:

@codecov
Copy link

codecov bot commented Feb 28, 2020

Codecov Report

Merging #3180 into master will decrease coverage by 0.69%.
The diff coverage is 88.55%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3180      +/-   ##
==========================================
- Coverage   64.88%   64.18%   -0.70%     
==========================================
  Files         299      299              
  Lines       39506    39502       -4     
  Branches     5219     5219              
==========================================
- Hits        25632    25355     -277     
- Misses      12824    13110     +286     
+ Partials     1050     1037      -13     
Flag Coverage Δ
#unittests 64.18% <88.55%> (-0.70%) ⬇️
Impacted Files Coverage Δ
nipype/interfaces/nilearn.py 38.98% <0.00%> (-57.63%) ⬇️
nipype/workflows/__init__.py 47.05% <0.00%> (-52.95%) ⬇️
nipype/utils/spm_docs.py 20.00% <0.00%> (-48.00%) ⬇️
nipype/interfaces/freesurfer/base.py 45.68% <0.00%> (-30.18%) ⬇️
nipype/utils/logger.py 58.46% <0.00%> (-27.70%) ⬇️
nipype/testing/fixtures.py 76.38% <0.00%> (-22.23%) ⬇️
nipype/interfaces/matlab.py 63.91% <0.00%> (-12.38%) ⬇️
nipype/interfaces/spm/base.py 57.66% <0.00%> (-9.67%) ⬇️
nipype/pkg_info.py 75.00% <0.00%> (-6.25%) ⬇️
nipype/interfaces/io.py 50.27% <0.00%> (-6.14%) ⬇️
... and 13 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b75a7ce...4e1d601. Read the comment docs.

@oesteban oesteban mentioned this pull request Feb 28, 2020
17 tasks
@oesteban oesteban added this to the 1.5.0 milestone Feb 28, 2020
@oesteban
Copy link
Contributor Author

oesteban commented Mar 2, 2020

How much testing are we expecting for this @satra, @effigies? Any reasons not to go ahead when all lights are green and merge?

@effigies
Copy link
Member

effigies commented Mar 2, 2020

I was waiting on CI to pass to read through. I'll look tonight or tomorrow morning.

effigies
effigies previously approved these changes Mar 3, 2020
Copy link
Member

@effigies effigies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine. Minor suggestions. Have you checked the generated docs?

nipype/utils/tests/test_imagemanip.py Outdated Show resolved Hide resolved
nipype/interfaces/ants/utils.py Outdated Show resolved Hide resolved
nipype/interfaces/ants/utils.py Outdated Show resolved Hide resolved
nipype/interfaces/ants/utils.py Outdated Show resolved Hide resolved
nipype/interfaces/ants/segmentation.py Outdated Show resolved Hide resolved
Copy link
Member

@effigies effigies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, thought a bit about _list_outputs, and then caught a couple other things.

nipype/interfaces/ants/utils.py Outdated Show resolved Hide resolved
nipype/interfaces/ants/utils.py Outdated Show resolved Hide resolved
nipype/interfaces/ants/utils.py Outdated Show resolved Hide resolved
@effigies effigies dismissed their stale review March 3, 2020 15:12

Discussion needed

@effigies
Copy link
Member

effigies commented Mar 4, 2020

Suggestions proposed on oesteban#10.

@oesteban
Copy link
Contributor Author

oesteban commented Mar 5, 2020

@satra - thumbs up after Chris' suggestions?

Copy link
Member

@effigies effigies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW

@oesteban
Copy link
Contributor Author

oesteban commented Mar 8, 2020

Having issues with N4BiasFieldCorrection:

Traceback (most recent call last):
  File "/home/oesteban/workspace/nipype/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/home/oesteban/workspace/nipype/nipype/pipeline/engine/nodes.py", line 516, in run
    result = self._run_interface(execute=True)
  File "/home/oesteban/workspace/nipype/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
    return self._run_command(execute)
  File "/home/oesteban/workspace/nipype/nipype/pipeline/engine/nodes.py", line 741, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/home/oesteban/workspace/nipype/nipype/interfaces/base/core.py", line 398, in run
    runtime = self._post_run_hook(runtime)
  File "/home/oesteban/workspace/nipype/nipype/interfaces/mixins/fixheader.py", line 132, in _post_run_hook
    _copy_header(inputs[inp], outputs[out], keep_dtype=keep_dtype)
KeyError: 'bias_image'

it seems the mixin is not general enough?

@effigies
Copy link
Member

effigies commented Mar 8, 2020

Oh, I hadn't considered the output file might not exist. Yeah, I think a simple existence check makes sense. I think silent pass-through is fine for a mixin, as it's not responsible to make sure the file exists, only that if the file exists it has the right header.

@oesteban oesteban merged commit f2a5c4b into nipy:master Mar 9, 2020
oesteban added a commit to oesteban/nipype that referenced this pull request Mar 14, 2020
In the last maintenance (nipy#3180) of the interface, we eliminated an
important section of the ``_list_outputs``:

nipy@6979cbd#diff-b6f33a19b0e06b91023416db5faf7323L544-L547

This PR addresses the problem:
```
Execution Outputs
-----------------

* bias_image : <undefined>
* output_image : /home/oesteban/tmp/fmriprep-ds005/fprep-work/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/brain_extraction_wf/inu_n4_final/mapflow/_inu_n4_final0/sub-01_T1w_cor
rected.nii.gz

Runtime info
------------

* cmdline : N4BiasFieldCorrection --bspline-fitting [ 200 ] -d 3 --input-image /oak/stanford/groups/russpold/data/openfmri/ds000005/sub-01/anat/sub-01_T1w.nii.gz --convergence [ 50x
50x50x50x50, 1e-07 ] --output [ sub-01_T1w_corrected.nii.gz, sub-01_T1w_bias.nii.gz ] -r --shrink-factor 4 --weight-image /home/oesteban/tmp/fmriprep-ds005/fprep-work/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/brain_extraction_wf/atropos_wf/copy_xform/09_relabel_wm_maths_xform.nii.gz
* duration : 15.334786
* hostname : dendrite
* prev_wd : /home/oesteban/tmp/fmriprep-ds005
* working_dir : /home/oesteban/tmp/fmriprep-ds005/fprep-work/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/brain_extraction_wf/inu_n4_final/mapflow/_inu_n4_final0
```
(`bias_image` should be `'sub-01_T1w_bias.nii.gz'` given the `cmdline`)
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.

3 participants