HessianFilter¶
-
MLModule
¶ genre Kernel
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLFilter2
definition mlFilter2.def keywords Kernel
,vessel
,Frangi
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.
Input Fields¶
Parameter Fields¶
Field Index¶
adjustKernelSize : Trigger |
exampleStartSlice : Integer |
Order : Enum |
adjustSigma : Trigger |
Filter Select : Enum |
Sigma/mm : Float |
adjustValue : Trigger |
Gauss Range/Sigma : Float |
Structure : Float |
Alpha : Float |
getCurrentValues : Trigger |
Use (useVesselnessCrit) : Bool |
Apply : Trigger |
isBright : Bool |
Use (useAlpha) : Bool |
Auto Apply : Bool |
Isotrop : Bool |
Use (useBeta) : Bool |
Beta : Float |
isotropKernelSize : Integer |
Use (useC) : Bool |
Degree : Float |
maxValue : Double |
Vessel Mode : Enum |
Edge Mode : Enum |
minMaxAdjust : Bool |
x : Integer |
enhancementMax : Float |
minValue : Double |
y : Integer |
enhancementMin : Float |
Mode : Enum |
z : Integer |
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 (real size is 2x-1).
y¶
-
name:
yExtension
, type:
Integer
, default:
1
¶ Sets the y-extent of the kernel (real size is 2y-1).
z¶
-
name:
zExtension
, type:
Integer
, default:
1
¶ Sets the z-extent of the kernel (real 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 mm.
Gauss Range/Sigma¶
Auto Apply¶
-
name:
autoApply
, type:
Bool
, default:
FALSE
¶ If checked, the module computes on changes of any field anew.
Use (useVesselnessCrit)¶
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 |
|
||||||
Exponential | Exponential |
|
Alpha¶
-
name:
alpha
, type:
Float
, default:
0.5
, minimum:
0.001
, maximum:
1
¶ Sets a weightening parameter for taking into account the asymetry of eigenvalues (or structure).
The asymmetry measures the ratio EV1 / EV2. For plate like structures holds EV1 << EV2, for blob like and vessel like structures EV1 equals EV2 approximatively.
- 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 weightening parameter for taking into account the blobness of eigenvalues (or structure).
The blobness measures the ratio EV02 / (EV1*EV2). For vessel like structures holds EV0 << EV1 = EV2, for blob like structures holds EV0 = EV1 = EV2 approximatively.
- 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 weightening 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 amount of the parameter Structure has to be chosen empirically, in a way that noisy structure computes to zero vesselness.