DRR

MLModule
genre Projection
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLDRR
definition MLDRR.def
see also DRRLUT
keywords digitally, reconstructed, radiographs, mip

Purpose

The module DRR creates a 2D DRR (Digitally Reconstructed Radiograph) projection of a 3D CT dataset with C-Arm device specific settings.

Usage

This module projects 2D radiographs from 3D datasets. In the current version, it is limited to the ray casting method that simulates an x-ray beam passing through the 3D image for each pixel of the output image. The beam path starts at a source and ends at a detector. Any voxels that are passed on the way from the source to the detector affect the resulting output image pixel. The type of effect can be selected by the Ray Casting Processing Mode parameter.

Generally, there are two different types of processing modes: built-in modes and LUT modes.

Built-in processing modes

  • Mean extinction projection: this projection is generated by adding up all voxels passed by the beam and dividing the sum by the number of voxels.
  • Maximum extinction projection: this projection uses the highest voxel value found in the beam path as value for the resulting pixel.

LUT based processing modes

  • This projection simulates a beam that starts with the intensity 1 and is attenuated by every voxel it passes. The attenuation coefficient of each voxel is defined in an external look-up table (LUT) that must be connected to the inLUT. The attenuation coefficients must be in a range from 1 (no attenuation) to 0 (total extinction). After all target pixels have been calculated they are scaled from the (0..1) range to the out image grey value range (0..2^b-1 with b as the out image bit depth).
By default, the center of the 3D voxel cube is aligned with the center of the source-detector line. This setup can be changed with the Input Image Settings parameters.

Windows

DRR

../../../Modules/ML/MLDRR/mhelp/Images/Screenshots/DRR.DRR.png

Input Fields

input0

name: input0, type: Image

Input image. Needs to be a 3D CT image.

inLUT

name: inLUT, type: DRRLUTFunction(MLBase)

LUT input. Needed by some (but not all!) algorithms.

Output Fields

output0

name: output0, type: Image

Output image. Returns a 2D DRR.

Parameter Fields

Visible Fields

Ray Casting Beam Resampling

name: beamResamplingMode, type: Enum, default: Fast - Nearest Neighbour

Defines how the input image voxels are collected that are part of a single beam.

Values:

Title Name
Fast - Nearest Neighbour Fast - Nearest Neighbour
Exact - Siddon Exact - Siddon

DRR Mode

name: DRRMode, type: Enum, default: Ray Casting

Defines the method of computing the DRR.

Values:

Title Name
Ray Casting Ray Casting

Ray Casting Processing Mode

name: processingMode, type: Enum, default: Mean Extinction Projection

Defines how each passed voxel has an effect on the resulting projected value.

Values:

Title Name
Mean Extinction Projection Mean Extinction Projection
Maximum Extinction Projection Maximum Extinction Projection
LUT Based Projection LUT Based Projection

Output Shape

name: outputShape, type: Integer, default: 0

Defines the shape of the output image.

Presets are rectangular, circular and hexagonal.

Output Mode

name: outputMode, type: Integer, default: 0

Defines the output mode.

Presets are negative (like usual film radiographs) or positive (like on x-ray display devices or fluoroscopes).

Out Image Bits per Pixel

name: outImageBitsPerPixel, type: Integer, default: 12, minimum: 1, maximum: 16

Sets the gray value depth in bits per pixel.

Out Image Dimension in Pixels

name: outImageDimension_inPixels, type: Vector2, default: 256 256

Sets the output image’s extent in pixel.

Out Image Dimension in mm

name: outImageDimension_in_mm, type: Vector2, default: 512 512

Sets the output image’s extent in mm.

Resolution Lock Mode

name: resolutionLockMode, type: Enum, default: Lock pixel size when resolution changes

Defines which unit shall be left unchanged if the resolution changes.

Values:

Title Name
pixel size when resolution changes Lock pixel size when resolution changes
mm size when resolution changes Lock mm size when resolution changes

Out Image Resolution in lppmm

name: outImageResolution_in_lppmm, type: Float, default: 0.25

Sets the output image’s extent in lppmm (line pairs per mm, 1 lppmm = 2 pixel per mm).

Source-to-Detector Distance in mm

name: distanceSourceToDetector_in_mm, type: Integer, default: 1000

Sets the distance of the beam source to the detector.

Source-To-Detector Diameter Ratio

name: sourceToDetectorDiameterRatio, type: Float, default: 1, minimum: 0, maximum: 1

Sets the ratio of the beam source area to the beam detector area.

If it is 1, the source area is the same size as the detector area therefore resulting in a parallel beam projection. If it is 0, the the source area is point-shaped therefore resulting in an (ideal) cone beam projection.

Any ratio in-between is possible to enable simulation of non-ideal (not point-shaped) ray sources.

Beam Path Rotation<br>Around Z-Axis

name: beamPathRotationAroundZAxis, type: Integer, default: 0, minimum: -360, maximum: 360

Sets the rotation of the beam path around the z-axis of the 3D input image in degrees (full 360° rotation).

A positive angle indicates a clockwise rotation, a negative angle a counterclockwise rotation.

Beam Path Rotation<br> Around X-Axis

name: beamPathRotationAroundXAxis, type: Integer, default: 0, minimum: -360, maximum: 360

Sets the rotation of the beam path around the x-axis of the 3D input image in degrees (full 360° rotation).

In Image Offset in mm

name: inImageOffsetIn_mm, type: Vector3, default: 0 0 0

Sets the dislocation in mm of the rotation center which is in the input image’s center by default.

Affects In Image Offset Reference to.

In Image Offset Reference to

name: inImageOffsetMode, type: Enum, default: World

Defines how the In Image Offset in mm is interpreted.

Values:

Title Name Description
World World

The offset takes effect in direction of the input image’s main axes.

../../../Modules/ML/MLDRR/mhelp/Images/world.gif
Beam Path Beam Path

The offset takes effect relative to the beam path.

../../../Modules/ML/MLDRR/mhelp/Images/beam.gif

Hint: this option dislocates the output image independetly from the beam path settings. A 100 mm offset in x-direction in this mode mode always pushes the output image 100mm to the right, regardless what beam path rotation is selected.

A 100 mm offset in World mode causes different positions of the output image depending on the beam path, because the input image might move out of the beam path.

Snap In Image To Detector

name: inImageSnapToDetector, type: Bool, default: FALSE

If checked, the In Image Offset Reference to is set to Beam and values are being calculated automatically.

The x and y offsets are set to zero (thus adjusting them in image centered to the beam path) and the z offset is calculated with a result that moves the input image as close as possible to the detector without subtending it.

Checking this option makes the Mode available.

Mode

name: inImageSnapToDetectorMode, type: Enum, default: Constant In Image Radius Distance

Defines the mode for automatic parameter calculation.

Values:

Title Name Description
Constant In Image Radius Distance Constant In Image Radius Distance

The distance to the detector is calculated based on the radius (= the maximum distance from the center to the edge) of the input image. This results in a constant distance of the in image center to the detector, regardless of the projection angle.

This mode is ideal to get a series comparable images, because there is no angle related perspective distortion.

../../../Modules/ML/MLDRR/mhelp/Images/snapangle02.gif
Minimum Distance Minimum Distance

The distance from the input image to the detector plane is calculated to the smallest possible value. It depends on the angle of the projection.

../../../Modules/ML/MLDRR/mhelp/Images/snapangle01.gif

Auto Apply

name: autoApply, type: Bool, default: FALSE

If checked, all changes to any field computes the output image anew.

Apply

name: apply, type: Trigger

If pressed, the output image is computed anew.

Image Laterality

name: imageLaterality, type: String, default: U

Defines the laterality of the image with a DICOM tag.

Positioner Type

name: positionerType, type: String, default: NONE

Defines the positioner type as a DICOM tag.

Hidden Fields

inImageValid

name: inImageValid, type: Bool, default: FALSE

dontAutoCalcImageSize

name: dontAutoCalcImageSize, type: Bool, default: FALSE