Dwifslpreproc -continue option

Dear Rob,

I am trying to run dwifslpreproc with -continue option. It seems to be skipping the dirstat command and failing (screenshot below) on the len(shell_bvalues)==len(shell_asymmetries) + 1 check (line 297 of dwifslpreproc) even though that condition would be met if the dirstat command was run. Is there an option to make sure dirstat command runs through even when using the -continue option?


A little bit of context on why I need to use the -continue option. I am using local condor setup to launch a batch of jobs running dwifslpreproc. The topup/applytopup portion seems to use less memory and only a single cpu while eddy_openmp can use multiple cpus and needs more memory. If I request cpus and memory sufficient for eddy_opemp upfront then I am not able to get optimal throughput. My strategy is to first request only a single CPU and small amount of memory to get as many topups running at the same time as possible and let the eddy_openmp part of dwifslpreproc fail on out-of-memory error. Then re-launch dwifslpreproc with -continue scratch eddy_in.nii option requesting more cpus and memory. I did use -nocleanup option for the first launch.

Your help and advice on getting the -continue option working properly or any other way of getting maximal throughput using dwifslpreproc (because of the inherent differences in the throughputs of topup and eddy_openmp) would be greatly appreciated! I am currently not able to share the sample data since that would require me to include only skull-stripped data and organize about 8 Gb of data. But if that’s something you would need to help me, I will work on making that available. Please let me know.

Thanks in advance for your help!
Sincerely,
Nagesh