Purpose

The module Vesselness calculates a multi-scale vesselness measure, i.e., each voxel in the output volume indicates how similar the local structure is to a tube.

Details

The vesselness measure is calculated as a function of the Hessian matrix. Specifically, the eigenvalues λ1 > λ2 > λ3 describe the local neighborhood.

Assuming that we want to detect bright vessels on a dark background, the eigenvalues must have the following relation: λ1 ≈ 0 and 0 >> λ2 ≈ λ3. A vesselness function f(λ1, λ2, λ3) measures how well this condition is fulfilled. Sato et al. uses the following function:

f(λ1, λ2, λ3) = 0 if λ2 ≥ 0,

../../../Modules/ML/MLGaussFiltersStable/mhelp/Images/image001.png

if λ2 < 0 and λ1 < 0,

../../../Modules/ML/MLGaussFiltersStable/mhelp/Images/image003.png

if λ2 < 0 and λ1 > 0.

This measure is also calculated by the ITK module itkHessian3DToVesselnessMeasureImageFilter. The same formula can be used for calculating a 2D vesselness measure. Note that the Sato et al. measure is dependent on the line contrast through the multiplication of λ2. To normalize the vesselness measure across scale, the actual output is scaled with σ2, where σ is the width of the Gaussian function used for calculating the Hessian matrix. For more information on the scaling and the calculation of the Hessian, see the help for the GaussHessian module.

An additional normalized vesselness measure is available for 2D and 3D as follows:

2D:

../../../Modules/ML/MLGaussFiltersStable/mhelp/Images/image006.gif

where B(x;4,4) is the incomplete Beta function with parameters 4 and 4.

3D:

../../../Modules/ML/MLGaussFiltersStable/mhelp/Images/image008.gif

As only ratios of eigenvalues are used to calculate the normalized vesselness measure, it is contrast independent with a range between 0 and 1. The vesselness measure can be calculated over several scales. The maximum vesselness over the scales is then given as output.

Windows

Default Panel

../../../Modules/ML/MLGaussFiltersStable/mhelp/Images/Screenshots/Vesselness._default.png

Input Fields

input0

name: input0, type: Image

Scalar image data

input1

name: input1, type: Image

Scalar mask where all non-zero values mark an object.

Output Fields

output0

name: output0, type: Image

Image with values indicating the vesselness of voxels.

Parameter Fields

Field Index

2D calculation: Bool Use normalized measure: Bool
Auto update: Bool  
Dark vessels: Bool  
Lower Sigma: Double  
Number Of Scales: Integer  
Sigma Unit: Enum  
Update: Trigger  
Upper Sigma: Double  

Visible Fields

Lower Sigma

name: startSigma, type: Double, default: 1

Sets the finest scale. Sigma refers to the Gaussian filters used for estimating the Hessian matrix.

Upper Sigma

name: endSigma, type: Double, default: 2

Sets the coarsest scale. Sigma refers to the Gaussian filters used for estimating the Hessian matrix.

Number Of Scales

name: nbrOfScales, type: Integer, default: 1

Sets the number of scales used for calculating the vesselness.

The sigmas for the scales are evenly distributed between the lower and upper sigmas.

Sigma Unit

name: unit, type: Enum, default: voxel

Defines the unit for sigma.

Values:

Title Name
voxel voxel
mm mm

2D calculation

name: calc2D, type: Bool, default: FALSE

If checked, the module computes the vesselness only on 2D slices (x/y plane).

Use normalized measure

name: normalizedMeasure, type: Bool, default: FALSE

If checked, the normalized vesselness measure is used, otherwise the Sato et al. measure is used.

Dark vessels

name: darkVessels, type: Bool, default: FALSE

If checked, the vessels are assumed dark on a brighter background.

Otherwise, the vessels are assumed bright on a dark background.

Update

name: update, type: Trigger, deprecated name: calcButton

If pressed, the module computes anew.

Auto update

name: autoUpdate, type: Bool, default: FALSE

If checked, the module computes anew on any parameter or input change.