Purpose

This module transforms each individual XMarker of the input list with the given matrix.

Usage

Connect your XMarkerList to the input base field and enter a valid 4 x 4 matrix. The matrix will be applied when the “Apply” button is pressed. Optionally, the individual markers will be processed as vectors when the corresponding “Transform Vector” field is toggled. In addition two mode are available to convert an object diameter to a radius or a half diagonal of the bounding box of the related sphere.

Details

This module spatially transforms a whole list of either vectors or coordinates in homogenous notation with the given matrix. For coordinates, the points are processed as (x, y, z, 1.0)^T, while vectors - which are translation-independent - are processed as (x, y, z, 0)1^T. Note that this implies that the matrix is also given in homogenous notation.

Windows

Default Panel

../../../Projects/MLMarkerInfrastructure/XMarkerListTransformation/Modules/mhelp/Images/Screenshots/XMarkerListTransformation._default.png

Input Fields

The single XMarkerList to transform.

inputXMarkerList

name: inputXMarkerList, type: MLBase

The XMarkerList to transform.

Output Fields

The transformed XMarkerList.

outputXMarkerList

name: outputXMarkerList, type: MLBase

The output XMarkerList.

Parameter Fields

Field Index

Allow vector translation: Bool
Matrix: Matrix
Transform Mode: Enum
Transform position: Bool
Transform vector: Bool

There are only two parameters available.

Visible Fields

Matrix

name: matrix, type: Matrix, default: 1 0 0 0, 0 1 0 0, 0 0 1 0, 0 0 0 1

The matrix to be applied to the XMarkerList.

Transform position

name: isPositionTransformation, type: Bool, default: TRUE

Indicates if the transformation is applied to the position vector component of the XMarker.

Transform vector

name: isVectorTransformation, type: Bool, default: FALSE

Indicates if the transformation is applied to the direction vector component of the XMarker. See Allow vector translation field for details on the application

Allow vector translation

name: isVectorTranslationTransformation, type: Bool, default: FALSE

Indicates if a translation of the direction vector component of the XMarker is allowed. If disabled, the translation of the transformation is ignored.

Transform Mode

name: transformMode, type: Enum, default: Apply Transformation

Chose the application mode

Values:

Title Name Description
Apply Transformation Apply Transformation Main mode to apply transformation matrices to position and / or vector components of the marker as described above.
Diameter to 2D radius Diameter to 2D radius Shift the position by half the vector and reduce the length by a factor of 2. It can be used to e.g. draw 2D sphere overlays on lesion findings when initially only a diameter is available or add 3D spheres per lesion to 3D renderings (Cave: spheres drawn solid or with not extremely low complexity wire meshes or point clouds will obscure the lesion in 3D).
Diameter to 3D half surrounding box diagonal Diameter to 3D half surrounding box diagonal Shifts the position by half the vector and replaces the vector by (1,1,1) times half the original vectors length. This may be used to e.g. generated approximate bounding bounding boxes from lesions RECIST diameters e.g. obtained from CAD findings or manual input for use in 3d renderings, e.g. to draw attention to small findings and provide colors codes per lesion (hint: use 3D xmarker list rendering with the box modes for that).
Radius to diameter Radius to diameter Shift the position by the inverted vector and double the length. It can be used to e.g. draw 2D sphere overlays when center and radius are available as markers.
Apply Inverse Transformation Apply Inverse Transformation Similar to APPLY_TRANSFORMATION, however, the inverse of Matrix is used for the transformation; if Matrix is not invertible, then silently the unit matrix is used instead.