| genre | LUT |
| status | work-in-progress |
| author | Tobias Boskamp |
| package | MeVisLab/Standard |
| dll | MLLUTTools |
| definition | MLLUTTools.def |
| see also | LUTPrimitive, LUTCompose, LUTRescale, LUTInfo, SoMLLUT, ApplyLUT, DicomTagViewer, VoxelValueRescale, DicomPaletteLUT |
| keywords | lookup, table, dicom, modality, voi, rescale, slope, intercept, hounsfield |
The module DicomLUT generates a lookup table (LUT) object from the DICOM tags of the input image.
The generated LUT is a composition of multiple lookups, optionally including the DICOM Modality LUT, a DICOM VOI (volume of interest) LUT, a differential window transformation (shift/stretch) applied to the VOI LUT, and an additional LUT provided at the inLUT input field of this module.
Connect a DICOM image to the module's image input and select the DICOM LUT components to be evaluated.
Optionally connect an additional LUT object to the module's LUT input.
A DICOM image may define the following lookup tables to be applied to the image data:
- The Modality LUT mapping the stored voxel values to the so-called output voxel values (e.g. in Hounsfield units for CT data). The modality LUT is either defined as a linear mapping by the Rescale Slope and Rescale Intercept tags, or by a data table in the Modality LUT Sequence.
- One ore more VOI LUTs mapping the output voxel values to the visible gray value range. This mapping can be a ramp or a sigmoid function defined by the Window Center and Window Width tags, or an arbitrary table stored in the VOI LUT Sequence.
- Presentation LUTs are currently not supported.
The output pixel value range to which the VOI LUT is applied can be modified by a differential window transformation, specified by the Window Shift and Window Stretch fields. The window shift value shifts the output pixel value range by a positive or negative offset, the window stretch value expands or reduces the range by a relative factor.
The DICOM Modality LUT and/or one of the VOI LUTs can optionally be composed with an additional LUT provided at the module's LUT input field. The output values of the Modality LUT have an absolute reference and can hence be used as input values to an absolute LUT (i.e. a LUT with an absolute index range). The output values of a VOI LUT are only defined relative to the visible gray value range, hence the mapping to the index range of an absolute LUT would be undefined. As a consequence, the composition of a VOI LUT with an additional, absolute LUT provided at the module's LUT input field results in an invalid output.
A modality LUT (either linear or non-linear) stored with an XA (X-Ray Angiography) or XRF (Radio Fluoroscopy) DICOM image is ignored by the DicomLUT module, as the modality LUT has special semantics in these types of images.
See LUT Functions for general information about ML lookup tables.
| (: Integer | Output LUT valid: Bool | voiLutDescriptionList: String |
| Description: String | Output Min: Double | Width: Double |
| DICOM LUT: Enum | Rescale Slope: Double | Window Center: Double |
| Intercept: Double | Reset Window: Trigger | Window Shift: Double |
| Max (storedMax): Double | Stored Min: Double | Window Stretch: Double |
| Max (outputMax): Double | Type (modalityLutType): Enum | |
| maxWindowShift: Double | Type (voiLutType): Enum | |
| minWindowShift: Double | VOI LUT Index: Integer |
Show the minimum value of the stored LUT value.
Show the maximum value of the stored LUT value.
Show the minimum output value (after rescaling).
Show the maximum output value (after rescaling).
Defines the type of the modality LUT.
Values:
| Title | Name | Description |
|---|---|---|
| Undefined | Undefined | No modality LUT is defined. |
| Linear | Linear | The modality LUT is defined as a linear rescaling with the Rescale Slope and Intercept as given below. |
| Non Linear | NonLinear | The modality LUT is defined as a discrete data table. |
Sets the slope value for transforming the stored value to the output value.
outputValue = storedValue * slope + intercept
Sets the interscept value for transforming the stored value to the output value.
outputValue = storedValue * slope + intercept
Sets the current VOI LUT index.
Shows a descriptive string about the current VOI LUT.
Defines the type of the current VOI LUT.
Values:
| Title | Name | Description |
|---|---|---|
| Undefined | Undefined | No VOI LUT is defined. |
| Linear | Linear | The VOI LUT is defined as a ramp function with the Window Center and Width values. |
| Sigmoid | Sigmoid | The VOI LUT is defined as a sigmoid function with the Window Center and Width values. |
| Non Linear | NonLinear | The VOI LUT is defined as a discrete data table. |
Sets the position of the VOI LUT function.
Defines the DICOM LUTs included in the composition of the output LUT.
Values:
| Title | Name | Description |
|---|---|---|
| None | None | No DICOM LUT is used, the output LUT is identical to the additional input LUT (if connected) or represents a default ramp LUT. |
| Modality LUT | ModalityLUT | The output LUT represents the DICOM Modality LUT, optionally composed with the additional input LUT. |
| VOI LUT | VOILUT | The output LUT represents the DICOM VOI LUT selected by the VOI LUT Index field, optionally composed with the additional input LUT. |
| Modality & VOI LUT | ModalityVOILUT | The output LUT represents the composition of the DICOM Modality LUT with the VOI LUT selected by the VOI LUT Index field. The result is optionally composed with the additional input LUT. |
Sets a shift value for the output pixel value range to which the VOI LUT is applied by a positive or negative offset.
Sets a value to extend or to reduce the output pixel value range to which the VOI LUT is applied by a relative factor.
If pressed, the Window Shift is set to 0 and the Window Stretch is set to 1.