Dear Sjoerd,
this is a consequence of a test in eddy to ensure that data is indeed shelled (i.e. not DSI). It looks for things like number of different b-values (shells), minimum number of scans with a given b-value (shell), minimum and maximum proportion of scans within shells etc. If the data doesn’t fulfil these criteria it will be assumed that it is DSI and give the error message you saw.
However, I have come to realise that the way we design our multi shell protocols isn’t universal and that the test might be too harsh sometimes. The more examples of protocols I get from different people the better, because then I can modify my criteria to allow for these.
Jesper
On 20 Oct 2015, at 10:12, Sjoerd Vos <[log in to unmask]> wrote:
> Hi,
>
> I was trying to run the new eddy_openmp on my multi-shell diffusion data, and I got the exception copied below. eddy in v5.0.8 had no problem correcting the same dataset, but I'd like to get the rotated bvecs that v5.0.9 outputs. This exception was irrespective of how my data/bvalues were ordered. For simple single-shell data (extracting the b=0 and b=2500 data from my multi-shell data) the new version works fine. Any suggestions on this issue?
>
> Thanks,
> Sjoerd
>
> Reading images
> Running Register
> Loading prediction maker
> Evaluating prediction maker model
> Calculating parameter updates
> Iter: 0, Total mss = 257.21
> Loading prediction maker
> Evaluating prediction maker model
> Calculating parameter updates
> Iter: 1, Total mss = 229.195
> Loading prediction maker
> Evaluating prediction maker model
> Calculating parameter updates
> Iter: 2, Total mss = 228.106
> Loading prediction maker
> Evaluating prediction maker model
> Calculating parameter updates
> Iter: 3, Total mss = 228.035
> Loading prediction maker
> Evaluating prediction maker model
> Calculating parameter updates
> Iter: 4, Total mss = 227.975
> Running sm.Setb0Reference
> Running sm.PolateB0MovPar
> Running Register
> Loading prediction maker
> Evaluating prediction maker model
> I'm thrown
> terminate called after throwing an instance of 'EDDY::KMatrixException'
> what(): KMatrixException: msg=MultiShellKMatrix::SetDiffusionPar: Data not shelled
> Abort