What would you like to see added in this software?
Summary
When a user explicitly sets --random-seed, the expectation is that the pipeline will produce reproducible, deterministic outputs. However, even when parallelism is fully disabled via --omp-nthreads 1 and --nprocs 1, PETPrep still contains a separate source of randomness in the skull-stripping step that is only pinned by the independent flag --skull-strip-fixed-seed. Without knowing about this interaction, a user who sets --random-seed will still get non-deterministic outputs.
Current behavior
Running with --random-seed 42 --omp-nthreads 1 --nprocs 1 does not guarantee identical outputs across runs. The skull-stripping step introduces additional randomness that varies between executions regardless of the seed and regardless of parallelism settings.
Proposed solution
Automatically enable --skull-strip-fixed-seed whenever --random-seed is explicitly provided. This could be implemented as a conditional default in the argument parser, with a note in the documentation explaining the interaction.
Do you have any interest in helping implement the feature?
No
Additional information / screenshots
No response
What would you like to see added in this software?
Summary
When a user explicitly sets --random-seed, the expectation is that the pipeline will produce reproducible, deterministic outputs. However, even when parallelism is fully disabled via --omp-nthreads 1 and --nprocs 1, PETPrep still contains a separate source of randomness in the skull-stripping step that is only pinned by the independent flag --skull-strip-fixed-seed. Without knowing about this interaction, a user who sets --random-seed will still get non-deterministic outputs.
Current behavior
Running with --random-seed 42 --omp-nthreads 1 --nprocs 1 does not guarantee identical outputs across runs. The skull-stripping step introduces additional randomness that varies between executions regardless of the seed and regardless of parallelism settings.
Proposed solution
Automatically enable --skull-strip-fixed-seed whenever --random-seed is explicitly provided. This could be implemented as a conditional default in the argument parser, with a note in the documentation explaining the interaction.
Do you have any interest in helping implement the feature?
No
Additional information / screenshots
No response