Comments (7)
I would suggest a different approach. After running the workflow that exits with errors
- crawl the crashfile directory and identify all crashfiles belonging to each subject analyzed in this run (you might need additional daytime restrictions to avoid capturing crashfiles from historical runs)
- append error information to corresponding subject specific HTML reports report
This way we will be able to capture all errors (not only those coming from Report Capable interfaces). It will also avoid having to deal with the problematic case of a failed node that populates error reportlet that should be send to a datasink (what @oesteban mentioned in #66 (comment)).
from fmriprep.
Actually, the problem of confusing crash files from different subjects and historical runs could be solved, by using a unique temporary crashfile directory for every subject/run.
from fmriprep.
I think this is currently well covered with the new reports.
from fmriprep.
Yep, the problem is that the out_report output trait is never populated: the node fails and, even though a reportlet is generated, the nipype engine will not consider it.
from fmriprep.
The reports should include the content of all generated crashfiles. Here's the code for reading crashfiles: https://github.com/nipy/nipype/blob/master/nipype/scripts/crash_files.py (could be easily adapted with mocking print
).
We briefly discussed adding optional plain text crashfiles to nipype (see nipy/nipype#1184), but I doubt this can happen before the next nipype release (rc1 was just released).
from fmriprep.
In niworkflows for the definition of ReportCapableInterface there is check to see if the interface ran successfully and if not to call _generate_error_report: https://github.com/poldracklab/niworkflows/blob/master/niworkflows/common/report.py#L59
I'm looking into writing the crash information out to the reportlet here. That being said in the reports that we have on afterhours I'm not seeing any instances of the html from _generate_error_report.
from fmriprep.
Closed by #298
from fmriprep.
Related Issues (20)
- Susceptibility distortion correction fails HOT 2
- Track sources with DatasetLinks and BIDS-URIs HOT 4
- Multi-echo reportlet datasinks' source_file not defined in resampling mode HOT 2
- ERROR: Label BA1_exvivo does not exist in SUBJECTS_DIR fsaverage! The fsaverage link probably points to an older freesurfer version HOT 8
- Allow `--derivatives` to be named HOT 1
- Track immediate `Sources` when possible HOT 5
- fMRIprep not running
- poor functional brain mask
- RepetitionTime is not set in Nifti output on multi-echo data HOT 2
- Docker Run with SQLite3 Disk I/O Error
- Config file loading crashes when some array has mixed types
- Applying multiple pairs of PEPOLAR-style field maps with `B0Field*` fails
- Randomly fail when using functions in anat_fit_wf HOT 1
- Crash when using --cifti-output HOT 3
- Despite many sessions for a single subject, the reports did not get separated per session HOT 4
- Consistently getting wrong registration in the same dataset
- Numerical stability testing within series patch releases HOT 1
- subprocess.CalledProcessError: Command '['bids-validator', '/data', '-c', '/tmp/tmp3_xycsud.json']' died with <Signals.SIGABRT: 6>. HOT 1
- boldref-space brain mask appears to be missing from minimal outputs HOT 2
- Failure in FMAP and
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fmriprep.