Only running qsiprep's reconstruction workflow will still create a qsiprep directory?

A colleague of mine already preprocessed our DTI-data using qisprep. Now the only thing that I want to do is to run the reconstruction + fibertracking workflow (so that I don’t need to run the time consuming preprocessing). For this I am using the --recon_input argument to tell qsiprep where it can find the preprocessed dataset. According to the docs this “option skips qsiprep”. However, I was surprised to find another qsiprep folder in my output directory next to my qsirecon folder. Is this normal behavior? Intuitively I would expect that the qsirecon-worklow simply grabs all the data that it needs but does not save another qsiprep folder. Here’s my script:

#############################################################
## Run qsiprep reconstruction for one subject
#############################################################

# analysis-settings
data_dir_server="/path/to/bids_dataset"
work_dir_server="/path/to/my/cache"
custom_atlases="/path/to/my/custom/atlas"
output_dir_server="/path/to/my/output"
recon_spec_dir="/path/to/my/custom/pipeline"
nthreads=64
omp_nthreads=16
mem_mb=30000

# run qsirecon
singularity run --cleanenv \
-B $custom_atlases:/atlas/qsirecon_atlases \
-B $data_dir_server \
-B $output_dir_server \
-B $recon_spec_dir \
/csp-tools/singularity_images/qsiprep_0.14.3.sif \
$data_dir_server/rawdata $output_dir_server participant \
--recon_input $data_dir_server/derivatives/qsiprep \
--recon_spec $recon_spec_dir/dsi_studio_gqi_with_GlasserTianS1.json \
--output-resolution 1 \
--skip-bids-validation \
--fs-license-file $data_dir_server/derivatives/license.txt \
--work-dir $work_dir_server \
--nthreads $nthreads \
--omp_nthreads $omp_nthreads \
--mem_mb $mem_mb \
--participant_label INDI1W934

Hi @JohannesWiesner,

Does this behavior persist on the most recent release (0.17.0)? Is there anything in the new QSIPrep folder?

Best,
Steven

Haven’t tried it out, but since the data was preprocessed with 0.14.3 I didn’t want to change the version for reconstruction + fibertracking. My current hypothesis is, that somehow caching didn’t work so the recon workflow decides to do the whole preprocessing again?

I don’t think you should be too worried about using different versions for preprocessing and reconstruction. And based on the log output, do you see qsiprep preprocessing steps being repeated?

Hi @JohannesWiesner, the --recon-only flag will prevent qsiprep from re-running the preprocessing. I can also confirm @Steven’s suggestion that you can use different versions for preprocessing and reconstruction. As long as the version used for reconstruction is higher than that of the preprocessing you will be ok.

If you’d like to see what’s happening while qsiprep is running you can add multiple -v flags (I usually add -v -v).