Inconsistent b-values detected - OASIS data

Dear experts,

I’m trying to run eddy on my data. I never had issues before but it seems that this gradient scheme makes eddy fail:
0 100 100 100 100 100 100 100 100 100 100 250 250 250 250 250 250 250 250 250 250 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500.

This data comes from the OASIS database.

My command line includes “–data_is_shelled”.

I’m using the latest FSL version (6.0.7.22).

Here the full log:

Warning: In a future release the first argument will have to be “diffusion” when using eddy on diffusion data, i.e.
eddy diffusion --imain=‘my_ima’ --acqp=‘my_acqp’ …

Warning: Writing of individual text files will be discontinued in favour of a single .json file in future versions

Reading images
EDDY::EddyUtils::get_groups: Inconsistent b-values detected
EDDY::EddyUtils.cpp::: static bool EDDY::EddyUtils::get_groups(const std::vectorEDDY::DiffPara&, std::vector<std::vector >&, std::vector&, std::vector&): Exception thrown
EDDY::EddyUtils.cpp::: static bool EDDY::EddyUtils::GetGroups(const std::vectorEDDY::DiffPara&, std::vector<std::vector >&, std::vector&): Exception thrown
EDDY::ECScanClasses.cpp::: std::vector<std::vector > EDDY::ECScanManager::GetShellIndicies(std::vector&) const: Exception thrown
EDDY::: Eddy failed with message EDDY::ECScanClasses.cpp::: EDDY::ECScanManager::ECScanManager(const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, double, double, EDDY::ECModelType, EDDY::ECModelType, EDDY::LongECModelType, const std::vector&, const std::vector&, const EDDY::PolationPara&, EDDY::MultiBandGroups, bool): Exception thrown

Is there any suggestion on how to deal with this issue ?

Thank you in advance.
Arnaud

PS: I also submitted the same issue on FSL mailing list.

Hi @abore,

What if you remove the shelled argument from Eddy? Can also consider 3dSHORE.

Best,

Steven

Hi @Steven ,

With or without the parameter I get the same error. I’ll give it a try with 3SHORE but I’m still wondering what is the rationale behind this error.

Best,

Arnaud

@abore Could you show what was the command line sent to eddy?

The lower shells may be too close to each other, you could try to remove then as described here.

Here is the command line:

eddy_cpu --imain=sub-OAS31257_ses-d0097_run-2__dwi_gibbs_corrected.nii.gz --mask=sub-OAS31257_ses-d0097_run-2__b0_bet_mask.nii.gz --acqp=./acqparams.txt --index=./index.txt --bvecs=./non_zero_norm.bvecs --bvals=sub-OAS31257_ses-d0097_dir-PA_run-02_dwi.bval --out=./dwi_eddy_corrected --data_is_shelled --initrand --very_verbose --nthr=12

I tested the same command with cuda.

I can remove “dummy“ shells if needed… I was also wondering since this is public data if anybody had the same issue and/or what they choose to do…

A user here had success with 3dSHORE on OASIS data: QSIPrep eddy failure: “Mismatched DiffStatsVector object” with multi-shell DWI (separate_all_dwis=True)