AthenaEPI / dmipy

The open source toolbox for reproducible diffusion MRI-based microstructure estimation
MIT License
96 stars 30 forks source link

should i ignore these warning ? #45

Closed foxet closed 5 years ago

foxet commented 5 years ago

verdict_fit = verdict_mod.fit(acq_scheme, data, solver='mix', use_parallel_processing=True

/home/omnisky/anaconda3/lib/python3.6/site-packages/numpy/core/fromnumeric.py:3118: RuntimeWarning: Mean of empty slice. out=out, **kwargs) /home/omnisky/anaconda3/lib/python3.6/site-packages/numpy/core/_methods.py:78: RuntimeWarning: invalid value encountered in true_divide ret, rcount, out=ret, casting='unsafe', subok=False)

rutgerfick commented 5 years ago

Hi!

That doesn't look like you should ignore it ;-) it's a numpy error that says you're taking the mean of some empty slice of a numpy array (presumably the data).

I can't see the lines of where it failed exactly from what you posted. Is this directly from the verdict example or on your own data?

foxet commented 5 years ago

I used my own data: AND the scheme is as follow:

total number of measurements: 5 number of b0 measurements: 0 number of DWI shells: 5

shell_index |# of DWIs |bvalue [s/mm^2] |gradient strength [mT/m] |delta [ms] |Delta[ms] |TE[ms] 0 |1 |200 |31 |13.4 |20.6 |N/A
1 |1 |500 |49 |13.4 |20.6 |N/A
2 |1 |1000 |69 |13.4 |20.6 |N/A
3 |1 |1500 |85 |13.4 |20.6 |N/A
4 |1 |2000 |98 |13.4 |20.6 |N/A

and i can't found any problem verdict_fit = verdict_mod.fit(acq_scheme, data, solver='mix', use_parallel_processing=True,mask=mask)

foxet commented 5 years ago

图片

And you are right, the parameter maps are nothing but noise

foxet commented 5 years ago

and if i calculate with mask 图片

rutgerfick commented 5 years ago

Thanks for the additional information!

From the acquisition scheme you are showing me I can see two issues:

1: your scheme does not have any b0-measurements. Without getting into too much details, this means we cannot separate the amplitude of the dMRI signal from the shape (the latter of which you are fitting). I will add an issue to explicitly catch this event.

2: your scheme only has 5 measurements, while the VERDICT model (if you directly took the example) has 6 parameters to estimate. In the best possible noiseless case you need at least the same number of measurements as parameters on a 1D signal. This means that the VERDICT maps you will estimate with this 3D scheme are will not be reliable.

To get meaningful results from your data, your only way out is to address both the issues above. Do you have more data than these 5 measurements?

rutgerfick commented 5 years ago

Hi @foxet , can I close this issue?