Diffusion gradient vector field in 3D

Generate in 3D the diffusion gradient vector field as in Xu and Prince 1998


Updated 6 Jan 2014

View License

Generate the diffusion gradient vector field as in Xu and Prince 1998
dgvf_calc is the three dimensional extension of the 2D version described in Equation 12
Xu and Prince 1998,"Snakes, Shapes, and Gradient Vector Flow", IEEE Transactions on Image Processing Vol.7(3)

I: three dimensional image (matrix) (assumed normalized as in I = (I-min(I(:)))/(max(I(:))-min(I(:))));
miu: the smoothing parameter (more smoothing -- higher miu-- for noisy images)
niter: number of iterations
dt: time step
dx, dy,dz: pixel spacing, set all to one for isotropic images

un, vn, wn: the gradient vector field

Example usage:
[un vn wn] = dgvf_calc(I,sqrt(numel(I)), 0.5, 1, 1, 1, 1)

Note: The code was developed with 3d flourescence microscopy images in mind (bright objects against dark background). Enforcement of boundary conditions has been omitted for better performance in this case.

% Author: Dr.Khaled Khairy, Janelia Farm Research Campus, Howard Hughes Medical Institute.June 2011.
Please send corrections or comments to khairyk@janelia.hhmi.org

Cite As

Khaled Khairy (2023). Diffusion gradient vector field in 3D (https://www.mathworks.com/matlabcentral/fileexchange/31994-diffusion-gradient-vector-field-in-3d), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Biomedical Imaging in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

added note to clarify the scope of application.

minor correction to the comments and synchronized variable names with original publication.