Purpose

The module TextureFilter offers a variety of texture filters.

Most of them work with a co-occurrence-matrix (ccm). The neighbor of a voxel will be considered with the help of a kernel. The values of the kernel are not significant, only the extension of the kernel is important. It is possible to create a kernel at the user interface or to take a kernel from another module and connect this with the kernel input field.

Usage

It is necessary to create a kernel directly through the user interface or by connection from another module to the Kernel Input field. If the kernel is provided from another module empty fields of it 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 filling up of undefined values will be 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 this cases it is necessary to choose a scale factor with Scale Select and a co-occurrence-matrix. (Note that scale factor 256 and higher takes very long in calculating and the results are perhaps non-satisfying.)

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 a 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 should 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) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/average.jpg
Contrast (simple) Contrast (simple) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/contrast.jpg
Deviation (simple) Deviation (simple) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/deviation.jpg
Skewness (simple) Skewness (simple) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/skewness.jpg
Kurtosis (simple) Kurtosis (simple) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/kurtosis.jpg
Homogeneity(asm) (Co-ocurrence Matrix) Homogeneity(asm) (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/homogeneity.jpg
Contrast (Co-ocurrence Matrix) Contrast (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/contrast_matrix.jpg
Correlation (Co-ocurrence Matrix) Correlation (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/correlation.jpg
Variance (Co-ocurrence Matrix) Variance (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/variance.jpg
Inverse Difference Moment (Co-ocurrence Matrix) Inverse Difference Moment (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/inverse_difference_moment.jpg
Sum Average (Co-ocurrence Matrix) Sum Average (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/sum_average.jpg
Sum Entropie (Co-ocurrence Matrix) Sum Entropie (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/sum_entropie.jpg
Sum Variance (Co-ocurrence Matrix) Sum Variance (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/sum_variance.jpg
Entropie (Co-ocurrence Matrix) Entropie (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/entropie.jpg
Difference Variance (Co-ocurrence Matrix) Difference Variance (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/diff_variance.jpg
Difference Entropie (Co-ocurrence Matrix) Difference Entropie (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/diff_entropie.jpg
Measures of Correlation1 (Co-ocurrence Matrix) Measures of Correlation1 (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/Measures1.jpg
Measures of Correlation2 (Co-ocurrence Matrix) Measures of Correlation2 (Co-ocurrence Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/Measures2.jpg
Short Runs Emphasis (Run Length Matrix) Short Runs Emphasis (Run Length Matrix) ../../../Modules/ML/MLFilter2/mhelp/Images/TextureFilterImages/shortRuns.jpg
Long Runs Emphasis (Run Length Matrix) Long Runs Emphasis (Run Length Matrix) ../../../Modules/ML/MLFilter2/mhelp/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-simple 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-simple 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 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 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 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 x-direction.

y Coordinate

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

Sets the extent of the kernel in y-direction.

z Coordinate

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

Sets the extent of the kernel in z-direction.

c Coordinate

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

Sets the extent of the kernel in c-direction.

t Coordinate

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

Sets the extent of the kernel in t-direction.

u Coordinate

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

Sets the extent of the kernel in u-direction.

Apply

name: apply, type: Trigger

If 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 manually be set.

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

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

Adjust Values

name: adjustValue, type: Trigger

If 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