TextureFilter

MLModule

genre

Filters

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLFilter2

definition

mlFilter2.def

see also

ExtendedConvolution, Compass, Convolution, Roberts

keywords

TextureFilterOp, Convolution, Average, variance, correlation, inverse, difference, moment, sum, entropie, contrast, homogeneity, occurrence, matrix, run, length, percentage, short, long, emphasis, skewness, kurtosis, grey, level, non-uniformity

Purpose

The module TextureFilter provides a variety of texture filters.

Most of them work with a co-occurrence matrix (CCM). The neighbor of a voxel is considered with the help of a kernel. The values of the kernel are not significant; only the size of the kernel is important. It is possible to create a kernel in the user interface or to use a kernel from another module and connect it to the kernel input field.

Usage

It is necessary to create a kernel directly through the user interface or by connecting from another module to the Kernel Input field. If the kernel is provided from another module, empty fields will be filled up with the value given in Fill Value. Note that the values of the kernel are not important; only the extension of the kernel is.

In most filter modes, it makes no sense to use a circular kernel or similar configurations where values of the kernel are not defined, so the filling of undefined values will happen automatically.

It is possible to choose between different filter modes. All except for the Average Filter, the Contrast Filter, and the Deviation Filter work with a special matrix. In these cases, it is necessary to choose a scale factor with Scale Select and a co-occurrence matrix. Note that a scale factor of 256 and higher takes very long to calculate, and the results may be non-satisfactory.

For run-length matrix-based filters, it is also necessary to select which neighbor shall be considered (field Neighbour Select).

Windows

Default Panel

../../../Modules/ML/MLFilter2/mhelp/Images/Screenshots/TextureFilter._default.png

Input Fields

input0

name: input0, type: Image

Original scalar input image.

Output Fields

output0

name: output0, type: Image

Filtered output image.

Parameter Fields

Field Index

Adjust min and max Values: Bool

Edge Mode: Enum

Neighbour Select: Enum

Adjust Values: Trigger

extentInput: Bool

neighbourSelectOn: Bool

Apply: Trigger

Fill Value: Double

noFilter: Bool

Auto Apply: Bool

Filter Select: Enum

referenceExtentMode: Enum

borderHandling: Enum

Get Current Values: Trigger

Scale Select: Enum

c Coordinate: Integer

Input Select: Enum

scaleSelectOn: Bool

Current Selected Filter: String

Kernel Info: String

t Coordinate: Integer

Deviance: Double

Kernel Input: String

u Coordinate: Integer

devianceOn: Bool

maxDistance: Integer

x Coordinate: Integer

Distance: Integer

maxValue: Double

y Coordinate: Integer

distanceOn: Bool

minValue: Double

z Coordinate: Integer

Visible Fields

Fill Value

name: fillValue, type: Double, default: 0

Sets the fill value for undefined kernel values.

Edge Mode

name: edgeMode, type: Enum, default: PadSrcClamp

Defines the edge mode for kernel operations.

See Kernel for more details.

Values:

Title

Name

​No Pad

​NoPad

​Pad Src Fill

​PadSrcFill

​Pad Dst Fill

​PadDstFill

​Pad Dst Fill With Orig

​PadDstFillWithOrig

​Pad Src Undefined

​PadSrcUndefined

​Pad Dst Undefined

​PadDstUndefined

​Pad Src Clamp

​PadSrcClamp

Kernel Input

name: kernelInput, type: String

Sets an external kernel as a string.

Kernel Info

name: kernelInfo, type: String, persistent: no

Shows information about the current kernel.

Input Select

name: inputSelect, type: Enum, default: use Extent Input

Defines from where the kernel input is set.

Values:

Title

Name

Description

​Kernel Input

​use Kernel Input

​The kernel extent is set by the kernel string in Kernel Input.

​Extent Input

​use Extent Input

​The kernel extent is set explicitly with x Coordinate to u Coordinate.

Filter Select

name: filterSelect, type: Enum, default: No Filter

Defines which filter the module will use.

Values:

Title

Name

Description

​No Filter

​No Filter

​The output image is an identical copy of the input image.

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/original.jpg

​Average (simple)

​Average (simple)

​.. image:: Images/TextureFilterImages/average.jpg

​Contrast (simple)

​Contrast (simple)

​.. image:: Images/TextureFilterImages/contrast.jpg

​Deviation (simple)

​Deviation (simple)

​.. image:: Images/TextureFilterImages/deviation.jpg

​Skewness (simple)

​Skewness (simple)

​.. image:: Images/TextureFilterImages/skewness.jpg

​Kurtosis (simple)

​Kurtosis (simple)

​.. image:: Images/TextureFilterImages/kurtosis.jpg

​Homogeneity(asm) (Co-ocurrence Matrix)

​Homogeneity(asm) (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/homogeneity.jpg

​Contrast (Co-ocurrence Matrix)

​Contrast (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/contrast_matrix.jpg

​Correlation (Co-ocurrence Matrix)

​Correlation (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/correlation.jpg

​Variance (Co-ocurrence Matrix)

​Variance (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/variance.jpg

​Inverse Difference Moment (Co-ocurrence Matrix)

​Inverse Difference Moment (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/inverse_difference_moment.jpg

​Sum Average (Co-ocurrence Matrix)

​Sum Average (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/sum_average.jpg

​Sum Entropie (Co-ocurrence Matrix)

​Sum Entropie (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/sum_entropie.jpg

​Sum Variance (Co-ocurrence Matrix)

​Sum Variance (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/sum_variance.jpg

​Entropie (Co-ocurrence Matrix)

​Entropie (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/entropie.jpg

​Difference Variance (Co-ocurrence Matrix)

​Difference Variance (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/diff_variance.jpg

​Difference Entropie (Co-ocurrence Matrix)

​Difference Entropie (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/diff_entropie.jpg

​Measures of Correlation1 (Co-ocurrence Matrix)

​Measures of Correlation1 (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/Measures1.jpg

​Measures of Correlation2 (Co-ocurrence Matrix)

​Measures of Correlation2 (Co-ocurrence Matrix)

​.. image:: Images/TextureFilterImages/Measures2.jpg

​Short Runs Emphasis (Run Length Matrix)

​Short Runs Emphasis (Run Length Matrix)

​.. image:: Images/TextureFilterImages/shortRuns.jpg

​Long Runs Emphasis (Run Length Matrix)

​Long Runs Emphasis (Run Length Matrix)

​.. image:: Images/TextureFilterImages/longRuns.jpg

​Grey Level Nonuniformity (Run Length Matrix)

​Grey Level Nonuniformity (Run Length Matrix)

​Squares the number of runs per gray level interval and divides the sum of the squares by the total number of runs. If the distribution of runs is even over all gray levels, this function gets its lowest value.

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/greyLevel.jpg

​Run Length Nonuniformity (Run Length Matrix)

​Run Length Nonuniformity (Run Length Matrix)

​Squares the number of runs with run-length l and divides the sum of the squares by the total number of runs. If the distribution of runs is even over all run-lengths, this function gets its lowest value.

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/runLength.jpg

​Run Percentage (Run Length Matrix)

​Run Percentage (Run Length Matrix)

​This function sets the absolute number of runs in relation to the maximum number which is possible if all runs have the length 1. This maximum number corresponds with the number of considered image points. This function gets its lowest value for textures with overwhelming rectilinear structures.

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/runPercentage.jpg

​Small Number Emphasis (NGLDM)

​Small Number Emphasis (NGLDM)

​(neighboring gray level dependence matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/SmallNumberEmphasis(Ngldm).jpg

​Large Number Emphasis (NGLDM)

​Large Number Emphasis (NGLDM)

​(neighboring gray level dependence matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/LargeNumberEmphasis(Ngldm).jpg

​Number Nonuniformity (NGLDM)

​Number Nonuniformity (NGLDM)

​(neighboring gray level dependence matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/NumberNonuniformity(Ngldm).jpg

​Second Moment (NGLDM)

​Second Moment (NGLDM)

​(neighboring gray level dependence matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/SecondMoment(Ngldm).jpg

​Entropie (NGLDM)

​Entropie (NGLDM)

​(neighboring gray level dependence matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/Entropie(Ngldm).jpg

​Coarseness (NGTDM)

​Coarseness (NGTDM)

​(neighboring gray tone difference matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/Coarseness(Ngtdm).jpg

​Contrast (NGTDM)

​Contrast (NGTDM)

​(neighboring gray tone difference matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/Contrast(Ngtdm).jpg

​Busyness (NGTDM)

​Busyness (NGTDM)

​(neighboring gray tone difference matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/Busyness(Ngtdm).jpg

​Complexity (NGTDM)

​Complexity (NGTDM)

​(neighboring gray tone difference matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/complexity(ngtdm).jpg

​Texture Strength (NGTDM)

​Texture Strength (NGTDM)

​(neighboring gray tone difference matrix based filter)

../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/TextureStrength(ngtdm).jpg

Scale Select

name: scaleSelect, type: Enum, default: factor   16

Defines the number of bins for internal computation. Only available for non-trivial filters.

All gray values of the input images are sorted to the number of bins defined here.

The more bins, the longer the computation takes, but the better the result will be.

Values:

Title

Name

​ 8

​factor 8

​ 16

​factor 16

​ 32

​factor 32

​ 64

​factor 64

​ 128

​factor 128

​ 256

​factor 256

​ 512

​factor 512

​1024

​factor 1024

​2048

​factor 2048

​4096

​factor 4096

Neighbour Select

name: neighbourSelect, type: Enum, default: 0 Degree (x+,y)

Defines which neighboring voxels of the current voxel are taken into account.

Only available for non-trivial filters.

Values:

Title

Name

Description

​0 Degree (x+,y)

​0 Degree (x+,y)

​The right neighbor of the considered value will be used for matrix calculation (x+,y).

​45 Degree (x+,y+)

​45 Degree (x+,y+)

​The right upper neighbor of the considered value will be used for matrix calculation (x+,y+).

​90 Degree (x,y+)

​90 Degree (x,y+)

​The upper neighbor of the considered value will be used for matrix calculation (x,y+).

​135 Degree (x-,y-)

​135 Degree (x-,y-)

​The upper left neighbor of the considered value will be used for matrix calculation (x-,y-).

​use Average of All 2D

​use Average of All 2D

​The average of the 2D results will be calculated.

​Upper (x,y,z+)

​Upper (x,y,z+)

​The neighbor in the z direction of the considered value will be used for matrix calculation (x,y,z+).

​Upper Right (x+,y,z+)

​Upper Right (x+,y,z+)

​The neighbor in the x and z direction of the considered value will be used for matrix calculation (x+,y,z+).

​Upper Head (x,y+,z+)

​Upper Head (x,y+,z+)

​The neighbor in the y and z direction of the considered value will be used for matrix calculation (x+,y,z+).

​use Average of All 3D

​use Average of All 3D

​The average of the 3D results will be calculated.

​use Average of All

​use Average of All

​The average of the 2D and 3D results will be calculated.

Distance

name: distance, type: Integer, default: 1, minimum: 1, maximum: :field:`maxDistance`

Sets the radius around a current voxel in which values are considered for the computation.

Only available for NGLDM and NGTDM based algorithms.

Deviance

name: deviance, type: Double, default: 0, minimum: 0, maximum: 50

Sets the difference value of a neighboring voxel to the current voxel value to be considered in a computation.

Only available in NGLDM based algorithms.

x Coordinate

name: xCoordExt, type: Integer, default: 3, minimum: 1, maximum: 100

Sets the extent of the kernel in the x direction.

y Coordinate

name: yCoordExt, type: Integer, default: 3, minimum: 1, maximum: 100

Sets the extent of the kernel in the y direction.

z Coordinate

name: zCoordExt, type: Integer, default: 1, minimum: 1, maximum: 100

Sets the extent of the kernel in the z direction.

c Coordinate

name: cCoordExt, type: Integer, default: 1, minimum: 1, maximum: 100

Sets the extent of the kernel in the c direction.

t Coordinate

name: tCoordExt, type: Integer, default: 1, minimum: 1, maximum: 100

Sets the extent of the kernel in the t direction.

u Coordinate

name: uCoordExt, type: Integer, default: 1, minimum: 1, maximum: 100

Sets the extent of the kernel in the u direction.

Apply

name: apply, type: Trigger

When pressed, the module computes the output image anew.

Auto Apply

name: autoApply, type: Bool, default: TRUE

If checked, all changes to any field cause the module to compute anew.

Adjust min and max Values

name: minMaxAdjust, type: Bool, default: FALSE

If checked, the minValue and maxValue can be set manually.

minValue

name: minValue, type: Double, default: 0

Sets the minimum value of the output image manually.

maxValue

name: maxValue, type: Double, default: 0

Sets the maximum value of the output image manually.

Get Current Values

name: getCurrentValues, type: Trigger

When pressed, the minValue and maxValue are automatically filled by the according values of the output image.

Adjust Values

name: adjustValue, type: Trigger

When pressed, the output image is computed anew, and the fields minValue and maxValue are being updated.

Current Selected Filter

name: currentFilter, type: String, persistent: no

Shows information about the currently selected filter.

Hidden Fields

borderHandling

name: borderHandling, type: Enum, default: PadSrcClamp

Values:

Title

Name

​No Pad

​NoPad

​Pad Src Fill

​PadSrcFill

​Pad Dst Fill

​PadDstFill

​Pad Dst Fill With Orig

​PadDstFillWithOrig

​Pad Src Undefined

​PadSrcUndefined

​Pad Dst Undefined

​PadDstUndefined

​Pad Src Clamp

​PadSrcClamp

referenceExtentMode

name: referenceExtentMode, type: Enum, default: Overlap

Values:

Title

Name

​Overlap

​Overlap

​Input0 Ext Without Fill

​Input0_ExtWithoutFill

​Input0 Ext With Fill

​Input0_ExtWithFill

​Max Extents Without Fill

​MaxExtentsWithoutFill

​Max Extents With Fill

​MaxExtentsWithFill

distanceOn

name: distanceOn, type: Bool, default: FALSE

devianceOn

name: devianceOn, type: Bool, default: FALSE

neighbourSelectOn

name: neighbourSelectOn, type: Bool, default: FALSE

scaleSelectOn

name: scaleSelectOn, type: Bool, default: FALSE

extentInput

name: extentInput, type: Bool, default: FALSE

noFilter

name: noFilter, type: Bool, default: TRUE

maxDistance

name: maxDistance, type: Integer, default: 1