Gradient vector flow (GVF)
This algorithm is builds advection force fields for deformable models. It addresses both the "capture range" and "concavity" problems of traditional deformable models. The gradient vectors of an input scalar volume are computed and propagated using a diffusion process. GVF is an important aspect of the CRUISE pipeline [2].
Input Types
This algorithm is applicable on 3D (or 4D) images.
GVF Input Parameters
Method
Generalized (default): algorthm uses a multi-grid implementation (can propagate vectors further in fewer iterations than the original).
Original: the original implementation as described in reference [1].
Volume
If the input is a 3D scalar volume, the gradient vectors will be computed and diffused.
If the input is a vector (4D) volume with 3 components, the input vectors will be diffused.
Lambda
The "regularization" parameter:
A large lambda will produce a smoother vector field (useful for noisy images).
Default: 0.2
Max iterations
The maximum number of iterations of flow to perform:
Decreasing this number will make the algorithm complete in less time, but vectors will not flow as far from edges.
Default: 200
Normalize Vectors
If this flag is checked, the output field will have its vectors normalized to unit magnitude at every voxel.
Default: false
GVF Outputs
Vector Field
The gradient vector flow field:
A 4D volume with 3 components in the 4th dimension corresponding to the x, y, and z components of the vector at every voxel.
Example Usage
Example input images.
![]()
Input scalar volume
Output images
![]()
GVF field (x component)
![]()
GVF field (y component)
![]()
GVF field (z component)
References
[1] C. Xu and J. L. Prince, "Snakes, shapes, and gradient vector flow," IEEE Trans. Imag. Proc., vol. 7, no. 3, pp. 359-69, Jan. 1998.
[2] X. Han, D. L. Pham, D. Tosun, M. E. Rettmann, C. Xu, and J. L. Prince, "CRUISE: cortical reconstruction using implicit surface evolution.," NeuroImage, vol. 23, no. 3, pp. 997-1012, 2004.