HessianFilter¶
- MLModule¶
genre
author
package
dll
definition
keywords
Purpose¶
The module HessianFilter calculates the 3x3 Hessian matrix H of second derivatives of the input image.
Details¶
Eigenvalues EV0, EV1, EV2 of H are analyzed and used to define a ‘vesselness’ (likeliness of a voxel to be part of a line shape) by sorting EV0 < EV1 < EV2 and postulating EV0=0, EV1=EV2 < 0 for the center-line voxels of an ideal vessel structure. The degree of accordance with this condition is assessed by a criteria introduced by Frangi et al., introducing the three measures Asymmetry A, Blobness B, and Structure S as functions
fA,B,S (EV0,EV1,EV2; x) -> [0,1]
defining the vesselness
v = fA * fB * fS
with weight parameters x=alpha, beta, Structure for A, B, S, respectively.
v=1 holds for center line voxels of an ideal vessel structure.
The filter is scale-dependent as it is folding the input with the second derivatives of a Gaussian.
Windows¶
_defaultWindow¶
Input Fields¶
input0¶
- name: input0, type: Image¶
Input image for vesselness computation.
input1¶
- name: input1, type: Image¶
Optional mask image. Vesselness values are only computed for voxels corresponding to a mask voxel with a value different than 0.
Output Fields¶
output0¶
- name: output0, type: Image¶
Vesselness image.
Parameter Fields¶
Field Index¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Visible Fields¶
Edge Mode¶
- name: edgeMode, type: Enum, default: PadSrcClamp, deprecated name: EdgeMode¶
Defines how image border should be handled.
Values:
Title |
Name |
|---|---|
NoPad |
NoPad |
PadSrcFill |
PadSrcFill |
PadDstFill |
PadDstFill |
PadDstFillWithOrig |
PadDstFillWithOrig |
PadSrcUndefined |
PadSrcUndefined |
PadDstUndefined |
PadDstUndefined |
PadSrcClamp |
PadSrcClamp |
Filter Select¶
- name: filterSelect, type: Enum, default: Eigenvalues, deprecated name: FilterSelect¶
Defines the applied filter.
Values:
Title |
Name |
Description |
|---|---|---|
Eigenvalues |
Eigenvalues |
Writes the eigenvalues for each voxel into the t dimension of the output image. |
LoG |
LoG |
Writes the trace of H, i.e. (d2/dx2)+(d2/dy2)+(d2/dz2) into the output image. |
Vesselness |
Vesselness |
Writes the vesselness value into the output image. |
Filter Vesselness |
FilterVesselness |
Writes an enhance / damped value with respect to the vesselness into the output image. |
x¶
- name: xExtension, type: Integer, default: 1¶
Sets the x extent of the kernel (the actual size is 2x-1).
y¶
- name: yExtension, type: Integer, default: 1¶
Sets the y extent of the kernel (the actual size is 2y-1).
z¶
- name: zExtension, type: Integer, default: 1¶
Sets the z extent of the kernel (the actual size is 2z-1).
Isotrop¶
Sigma/mm¶
- name: sigma, type: Float, default: 1, minimum: 0.01¶
Sets the sigma scale value of the Gaussian filter in millimeters.
Gauss Range/Sigma¶
Apply¶
- name: apply, type: Trigger¶
When pressed, the module computes the output image anew.
Auto Apply¶
- name: autoApply, type: Bool, default: FALSE¶
If checked, the module computes on changes of any field anew.
Use (useVesselnessCrit)¶
- name: useVesselnessCrit, type: Bool, default: FALSE¶
If checked, the vesselness filter can be calibrated with the parameters
Mode,Order, andDegree. You must setFilter Selectto FilterVesselness to see the effects of this setting.
Degree¶
Mode¶
- name: enhanceMode, type: Enum, default: Enhance¶
Defines the vesselness filter mode.
Values:
Title |
Name |
Description |
|---|---|---|
Enhance |
Enhance |
Enhances the input gray values if a voxel has a full vesselness value of 1000. |
Damp |
Damp |
Dampens the input gray values if a voxel has a minimum vesselness value of 0. |
Order¶
- name: enhanceOrder, type: Enum, default: Exponential¶
Defines the order of the enhancement/dampening function.
Values:
Title |
Name |
Description |
|---|---|---|
Linear |
Linear |
======= ==================================================================
Mode Function
======= ==================================================================
Enhance output(v) = input(v) + Damp output(v) = input(v) + vesselness * |
Exponential |
Exponential |
======= ================================================================================
Mode Function
======= ================================================================================
Enhance output(v) = input(v) * exp(vesselness / ( Damp output(v) = input(v) * (1 - exp( -vesselness / ( |
Alpha¶
- name: alpha, type: Float, default: 0.5, minimum: 0.001, maximum: 1¶
Sets a weighting parameter for taking into account the asymmetry of Eigenvalues (or structure).
The asymmetry measures the ratio EV1 / EV2. For plate-like structures, EV1 << EV2 holds, while for blob-like and vessel-like structures, EV1 approximately equals EV2.
Alpha = 0 : no consideration of asymmetry
Alpha = 1 : maximum consideration of asymmetry
Use (useAlpha)¶
Beta¶
- name: beta, type: Float, default: 0.5, minimum: 0.001, maximum: 1, deprecated name: betha¶
Sets a weighting parameter for taking into account the blobness of Eigenvalues (or structure).
The blobness measures the ratio EV0 / (EV1 * EV2). For vessel-like structures, EV0 << EV1 = EV2 holds, while for blob-like structures, EV0 = EV1 = EV2 approximately holds.
Beta = 1 : no consideration of blobness
Beta = 0 : maximum consideration of blobness
Use (useBeta)¶
Structure¶
- name: c, type: Float, default: 0.001, minimum: 0.001, maximum: 100¶
Sets a weighting parameter for taking into account the overall structure at an image voxel.
Structure measures the amount of EVs in terms of
S = sqr(EV02 + EV12 + EV2 2)
Structure = 0 : no consideration of structure
Structure > 0 : consideration of structure
The value of the parameter Structure must be chosen empirically, ensuring that noisy structures compute to zero vesselness.
Use (useC)¶
Vessel Mode¶
- name: vesselMode, type: Enum, default: Bright¶
Defines whether the algorithm should detect dark or bright structures.
Values:
Title |
Name |
|---|---|
Dark |
Dark |
Bright |
Bright |