Skip to content

Commit bf0475b

Browse files
authored
Merge pull request #240 from nipreps/fix/239
FIX: Add ``.bidsignore`` file writing
2 parents 21254d2 + a06286b commit bf0475b

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

dmriprep/cli/run.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,23 +163,24 @@ def main():
163163
config.execution.participant_label,
164164
config.execution.output_dir,
165165
config.execution.run_uuid,
166-
config=load('config/reports-spec.yml'),
166+
config=load('reports-spec.yml'),
167167
packagename='dmriprep',
168168
)
169-
write_derivative_description(
170-
config.execution.bids_dir,
171-
config.execution.dmriprep_dir,
172-
dataset_links=config.execution.dataset_links,
173-
)
174-
write_bidsignore(config.execution.dmriprep_dir)
175-
169+
# Report errors in report generation immediately
176170
if failed_reports:
177171
msg = (
178172
'Report generation was not successful for the following participants '
179173
f': {", ".join(failed_reports)}.'
180174
)
181175
config.loggers.cli.error(msg)
182176

177+
write_derivative_description(
178+
config.execution.bids_dir,
179+
config.execution.output_dir,
180+
dataset_links=config.execution.dataset_links,
181+
)
182+
write_bidsignore(config.execution.output_dir)
183+
183184
sys.exit(int((errno + len(failed_reports)) > 0))
184185

185186

File renamed without changes.

dmriprep/utils/bids.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@
3737

3838
from dmriprep.data import load as load_data
3939

40+
DEFAULT_BIDS_IGNORE = {
41+
'*.html',
42+
'logs/',
43+
'figures/', # Reports
44+
'*_xfm.*', # Unspecified transform files
45+
'*.surf.gii', # Unspecified structural outputs
46+
# Unspecified diffusion outputs
47+
'*_dwiref.nii.gz',
48+
}
49+
4050

4151
@cache
4252
def _get_layout(derivatives_dir: Path) -> BIDSLayout:
@@ -252,5 +262,9 @@ def validate_input_dir(exec_env, bids_dir, participant_label, need_T1w=True):
252262
print('bids-validator does not appear to be installed', file=sys.stderr)
253263

254264

265+
def write_bidsignore(deriv_dir, bids_ignore=DEFAULT_BIDS_IGNORE):
266+
(Path(deriv_dir) / '.bidsignore').write_text('\n'.join(bids_ignore) + '\n')
267+
268+
255269
def _get_shub_version(singularity_url):
256270
return NotImplemented

0 commit comments

Comments
 (0)