-Shahnawaz Ahmed ([email protected])
Dipy is a python library for analysis of diffusion-weighted MRI (dMRI). Diffusion patterns can reveal microscopic details about tissue architecture and is used in clinical as well as neuroscience research. The intra-voxel incoherent motion (IVIM) model describes diffusion and perfusion in the signal acquired with diffusion MRI as :
PR and discussion : dipy/dipy#1110
Blog : http://sahmed95.blogspot.in/
Scipy's leastsq
is used to fit the model and for versions of Scipy > 0.17 least_squares
is used which supports setting of bounds. The decission to use leastsq was taken after a comparison of run time with scipy.optmize.minimize
. The time profiling can be seen in this discussion : http://stackoverflow.com/questions/6779383/scipy-difference-between-optimize-fmin-and-optimize-leastsq.
For noisy data, sometimes non-linear least squares fitting fails and for such cases the results from a linear fit are considered. It will be interesting to see how one can deal with noise in the data and get a more robust fitting.
Future work includes developing multiprocessing capabilities for the current multi_voxel
decorator in Dipy which can be used to fit a model to a large number of voxels simultaneously and hence can act as a simple unified tool to enable multiprocessing for current and future models.