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

QSIPrep should fail when missing critical files #723

Open
araikes opened this issue Apr 7, 2024 · 3 comments
Open

QSIPrep should fail when missing critical files #723

araikes opened this issue Apr 7, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@araikes
Copy link

araikes commented Apr 7, 2024

Summary

We are processing a large database of multishell acquisitions. Occasionally, the bvec/bval files did not transfer with the dataset. If QSIPrep runs on these files, it simply runs without termination. I recognize that this could addressed by due diligence checking, but it's more interesting despite a bids validator error and missing essential files, the processes don't terminate. My sys admin got a hold of me that these images ran for 24+ hours without terminating and also without getting beyond denoising the diffusion.

Additional details

  • QSIPrep version: 0.20.0

What were you trying to do? Preprocess a dataset that includes intermittent files that have missing bvec/bval files

What did you expect to happen? I would expect that if there are no bvec/bval files, either QSIPrep fails immediately or the anatomical pipeline runs and then terminates.

What actually happened? Anatomical runs but then PIDs stay active indefinitely.

Log file attached
QSIprep_log.txt

@araikes araikes added the bug Something isn't working label Apr 7, 2024
@cookpa
Copy link
Collaborator

cookpa commented Apr 10, 2024

Maybe --stop-on-first-crash should be the default?

@mattcieslak
Copy link
Collaborator

I like this idea a lot. I always use this flag when I run qsiprep. Should the flag to use the former default behavior be something like --continue-despite-errors?

@cookpa
Copy link
Collaborator

cookpa commented Apr 10, 2024

I'd vote for keeping the name the same,

parser.add_argument('--stop-on-first-crash', action=argparse.BooleanOptionalAction, default=True)

This allows existing scripts to work with --stop-on-first-crash and also enables --no-stop-on-first-crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants