Rank

MLModule

genre

Kernel

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLKernel

definition

MLKernel.def

see also

Convolution, ExtendedConvolution, Morphology, KernelExample, KernelEditor

keywords

local, minimum, maximum, median, index, edge, preserving, enhance, kernel, input, filter, average, gauss, interval, sphere, spherical, structure, element

Purpose

The module Rank implements the rank based kernel filters Min, Max, Median, Rank, and Index.

Optionally, a threshold interval can be used to select a subset of voxels from the input image to which the filtering is applied. Another threshold interval can be used to limit the set of voxels under a kernel used to produce a filtered voxel. By using these intervals, filtering can be applied selectively to regions in the image. Additionally, the influence of certain objects on the filtering itself can be avoided by excluding the corresponding voxels from the kernel.

Windows

Default Panel

../../../Modules/ML/MLKernel/mhelp/Images/Screenshots/Rank._default.png

Input Fields

input0

name: input0, type: Image

Output Fields

output0

name: output0, type: Image

Parameter Fields

Field Index

Border Handling: Enum

KernelY: Integer

referenceExtentMode: Enum

External Kernel: String

KernelZ: Integer

Use (filterMode): Enum

Fill Value: Double

Make kernel spherical: Bool

Use (useIntervalOfFilteredVoxels): Bool

Info: String

Max (intervalMaxOfFilteredVoxels): Double

Use (useIntervalOfVoxelsForFiltering): Bool

KernelC: Integer

Max (intervalMaxOfVoxelsForFiltering): Double

Use (useExternalKernel): Bool

KernelT: Integer

Min (intervalMinOfFilteredVoxels): Double

useRank: Bool

KernelU: Integer

Min (intervalMinOfVoxelsForFiltering): Double

KernelX: Integer

Rank: Integer

Visible Fields

Border Handling

name: borderHandling, type: Enum, default: PadSrcClamp, deprecated name: edgeMode

Defines the border handling mode.

See Border Handling in Kernel Operations for 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

Fill Value

name: fillValue, type: Double, default: 0

Sets the fill value for certain Border Handling modes.

Use (filterMode)

name: filterMode, type: Enum, default: Median

Defines the filter mode of this module.

Values:

Title

Name

Description

​Id

​Id

​Copies the input image.

​Rank

​Rank

​Sorts upwards all input voxels under kernel elements and outputs the one specified via the Rank field.

If the value in the Rank field is greater than the number of elements in the sorted list (kernel size), the highest value of the list is used.

​Min

​Min

​Writes the minimum of all input voxels under kernel elements to the output.

​Median

​Median

​Sorts all input voxels under kernel elements in an ascending manner and writes the middle one to the output image.

​Max

​Max

​Writes the maximum of all input voxels under kernel elements to the output.

​Index

​Index

​Sorts all input voxels under kernel elements in an ascending manner and writes the index of the position of the current voxel to the output.

In case that multiple voxels under the kernel have the same value as the center one the rank field is used as a relative percentage parameter to decide which of the indices belonging to the same value will be written.

Therefore the formula:

index = floor(0.5 + minIdx + rank / 100.0 * (maxIdx - minIdx))

is used.

E.g., if there are 10 voxels with the same value as the center voxel under a 27 neighborhood kernel (including the center) and the first / last index is 12 resp. 21 then if rank = 0 the output is 12, if rank = 100 the output is 21 and if rank = 20 the output is 14.

This mode with appropriate use of the Rank as a percentage can be useful in combination with an interval thresholding to find the equivalent of local minima or maxima in a quantized image.

​Max-Min

​Max-Min

​Computes the morphological edge image result you would get from a macro computing the difference of two Rank filters in max and min mode and output set to original data type and appropriate [0 max-min] range, but about 30-40% faster and with fewer modules / pages involved.

Rank

name: rank, type: Integer, default: 0, deprecated name: Rank

Sets the rank value used in the Rank and in the Index filters.

In Rank mode, this value is the index (range 0 to kernel size - 1), while in Index mode, it is in percent (range 0 to 100, since the number of elements to select from is not predetermined).

KernelX

name: kernelX, type: Integer, default: 3, minimum: 1, maximum: 999

Sets the x-extent of the kernel.

KernelY

name: kernelY, type: Integer, default: 3, minimum: 1, maximum: 999

Sets the y-extent of the kernel.

KernelZ

name: kernelZ, type: Integer, default: 1, minimum: 1, maximum: 999

Sets the z-extent of the kernel.

KernelC

name: kernelC, type: Integer, default: 1, minimum: 1, maximum: 999

Sets the c-extent of the kernel.

KernelT

name: kernelT, type: Integer, default: 1, minimum: 1, maximum: 999

Sets the t-extent of the kernel.

KernelU

name: kernelU, type: Integer, default: 1, minimum: 1, maximum: 999

Sets the u-extent of the kernel.

Make kernel spherical

name: makeSpherical, type: Bool, default: FALSE

If checked, the used kernel is a spherical kernel, not a rectangular one.

Min (intervalMinOfFilteredVoxels)

name: intervalMinOfFilteredVoxels, type: Double, default: 0, deprecated name: ImageIntervalMin

Sets the minimum value threshold for outputting a subset of voxels.

Max (intervalMaxOfFilteredVoxels)

name: intervalMaxOfFilteredVoxels, type: Double, default: 1024, deprecated name: ImageIntervalMax

Sets the maximum value threshold for outputting a subset of voxels.

Use (useIntervalOfFilteredVoxels)

name: useIntervalOfFilteredVoxels, type: Bool, default: FALSE, deprecated name: UseImageInterval

If checked, the module outputs only on a subset of voxels defined by a value range.

Min (intervalMinOfVoxelsForFiltering)

name: intervalMinOfVoxelsForFiltering, type: Double, default: 0, deprecated name: KernelIntervalMin

Sets the minimum value threshold for operating on a subset of voxels.

Max (intervalMaxOfVoxelsForFiltering)

name: intervalMaxOfVoxelsForFiltering, type: Double, default: 1024, deprecated name: KernelIntervalMax

Sets the maximum value threshold for operating on a subset of voxels.

Use (useIntervalOfVoxelsForFiltering)

name: useIntervalOfVoxelsForFiltering, type: Bool, default: FALSE, deprecated name: UseKernelInterval

If checked, the module operates only on a subset of voxels defined by a value range.

External Kernel

name: externalKernel, type: String, deprecated name: kernelInput

Sets an external kernel as a string.

Use the module KernelEditor for editing the kernel or set the kernel by scripting.

Use (useExternalKernel)

name: useExternalKernel, type: Bool, default: FALSE, deprecated name: UseKernelInput

If checked, the optionally attached External Kernel is used.

Info

name: kernelInfo, type: String, persistent: no

Shows information about the used kernel.

Hidden Fields

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

useRank

name: useRank, type: Bool, default: FALSE, deprecated name: useRankFld