k-Wave Toolbox
k-Wave Toolbox Previous   Next

vesselFilter

Frangi's 3D vessel filter

Syntax

I_out = vesselFilter(I_in, grid_spacing, scales)
I_out = vesselFilter(I_in, grid_spacing, scales, ...)

Description

vesselFilter filters a 3D image using Frangi's vessel filtering algorithm [1-3]. The algorithm works by calculating the Hessian matrix (containing second order gradients) at each image voxel. The eigenvalues of this matrix are then ordered and used to classify whether the voxel is part of a vessel. The algorithm is performed over multiple scales by convolving the input image with a Gaussian of the given input scales. The final output is taken as the maximum of the vessel filtered image across all scales.

An example of applying the vessel filter to a photoacoustic image of blood filled tubes is given below [3].

References:
[1] A. F. Frangi, W. J. Niessen, K. L. Vincken, M. A. Viergever (1998) "Multiscale vessel enhancement filtering," MICCAI, pp. 130-137.
[2] R. Manniesing, M.A. Viergever, W.J. Niessen (2006) "Vessel enhancing diffusion: A scale space representation of vessel structures," Med. Image Anal. 10, pp. 815-25.
[3] T. Oruganti, J. Laufer, B. E. Treeby (2013) "Vessel filtering of photoacoustic images," Proc. of SPIE, vol. 8581, p. 85811W-1.

Inputs

I_in

3D image data to filter

grid_spacing

[dx, dy, dz] in [m]

scales

array of scales to use [m]

Optional Inputs

Optional 'string', value pairs that may be used to modify the default computational settings.

Input Valid Settings Default Description

'alpha'

(numeric scalar)

0.5

Value of sensitivity parameter for metric that distinguishes between plate-like and other structures (vessel-like or ball-like).

'beta'

(numeric scalar)

0.5

Value of sensitivity parameter for metric that distinguishes between ball-like and other structures (vessel-like or plate-like).

'c'

(numeric scalar)

1

Value used to scale the sensitivity parameter for the noise metric (the sensitivity parameter itself is calculated automatically based on the magnitudes of the eigenvalues).

'gamma'

(numeric scalar)

0

Normalisation factor for scale-space derivatives.

'DisplayUpdates'

(boolean scalar)

true

Boolean controlling whether command line updates are displayed.

'Plot'

(boolean scalar)

false

Boolean controlling whether a maximum intensity projection of the vessel filtered image at each scale is displayed.

'ColorMap'

(MATLAB colormap)

flipud(gray)

Colour map to use if 'Plot' is set to true.

Outputs

I_out

vessel filtered image

See Also

interpftn, smooth


© 2009-2014 Bradley Treeby and Ben Cox.