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
[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 email@example.com
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
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!