|
1 | 1 | ''' Testing module for fmriprep.workflows.bold.util '''
|
2 | 2 | import pytest
|
3 | 3 | import os
|
| 4 | +from pathlib import Path |
4 | 5 |
|
5 | 6 | import numpy as np
|
6 | 7 | from nipype.pipeline import engine as pe
|
@@ -62,32 +63,33 @@ def test_masking(input_fname, expected_fname):
|
62 | 63 |
|
63 | 64 | # Reconstruct base_fname from above
|
64 | 65 | dirname, basename = os.path.split(input_fname)
|
65 |
| - newpath = os.path.join(os.getenv('FMRIPREP_REGRESSION_REPORTS', '.'), |
66 |
| - os.path.basename(dirname)) |
| 66 | + dsname = os.path.basename(dirname) |
| 67 | + reports_dir = Path(os.getenv('FMRIPREP_REGRESSION_REPORTS', '')) |
| 68 | + newpath = reports_dir / dirname |
67 | 69 | out_fname = fname_presuffix(basename, suffix='_masks.svg', use_ext=False,
|
68 |
| - newpath=newpath) |
69 |
| - os.makedirs(newpath, exist_ok=True) |
| 70 | + newpath=str(newpath)) |
| 71 | + newpath.mkdir(parents=True, exist_ok=True) |
70 | 72 |
|
71 | 73 | mask_diff_plot = pe.Node(ROIsPlot(), name='mask_diff_plot')
|
72 | 74 | mask_diff_plot.inputs.in_mask = expected_fname
|
73 | 75 | mask_diff_plot.inputs.out_report = out_fname
|
74 | 76 |
|
75 |
| - mask_dir = os.path.join(newpath, 'fmriprep_bold_mask') |
76 |
| - save_mask = pe.Node(niu.Function(function=copyfile), name='save_mask') |
77 |
| - save_mask.inputs.copy = True |
78 |
| - save_mask.inputs.newfile = fname_presuffix(basename, suffix='_mask', |
79 |
| - use_ext=True, newpath=mask_dir) |
80 |
| - |
81 | 77 | outputnode = bold_reference_wf.get_node('outputnode')
|
82 | 78 | bold_reference_wf.connect([
|
83 |
| - (bold_reference_wf.get_node('outputnode'), mask_diff_plot, [ |
84 |
| - ('ref_image', 'in_file'), |
85 |
| - ('bold_mask', 'in_rois'), |
86 |
| - ])]) |
| 79 | + (outputnode, mask_diff_plot, [('ref_image', 'in_file'), |
| 80 | + ('bold_mask', 'in_rois')]) |
| 81 | + ]) |
87 | 82 | res = bold_reference_wf.run(plugin='MultiProc')
|
88 | 83 |
|
89 | 84 | combine_masks = [node for node in res.nodes if node.name.endswith('combine_masks')][0]
|
90 | 85 | overlap = symmetric_overlap(expected_fname,
|
91 | 86 | combine_masks.result.outputs.out_file)
|
92 | 87 |
|
93 | 88 | assert overlap > 0.95, input_fname
|
| 89 | + |
| 90 | + mask_dir = reports_dir / 'fmriprep_bold_mask' / dsname |
| 91 | + mask_dir.mkdir(parents=True, exist_ok=True) |
| 92 | + copyfile(combine_masks.result.outputs.out_file, |
| 93 | + fname_presuffix(basename, suffix='_mask', |
| 94 | + use_ext=True, newpath=str(mask_dir)), |
| 95 | + copy=True) |
0 commit comments