TypeComposer

MLModule

genre

NonScalar

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLTypeSupport

definition

MLTypeSupport.def

see also

TypeDecomposer, TypeFromScalars, TypeFromDimension, Info, InterleaveDimension, TypeDecomposerN, TypeComposerN

keywords

decompose, separate, merge, bind, join, mix, connect, link, tie, pack, extended, carrier, datatype, complex, vector, matrix

Purpose

The module TypeComposer creates an output image with the same image and page extent as in input image0, and a data type selected in the parameter Output Type.

The components of the voxels of the output image are read from the corresponding voxels at the input image(s). The first component is read from input0, the second from input1, and so on. If a component from any of the inputs is not valid or out of range, it is filled with the default value for that component (normally 0).

It is a useful module to create images with user defined/extended data types from scalar input images.

Usage

Connect a number of input images, where the voxel value of each input image is encoded in a vector component of the output image. Use the same order as the components of the output voxel type.

For example, if the output image has complex components, then the first component (the real part) is read from the first input, and the second (the imaginary part) is read from the second input.

Details

Data from input images is always requested in the data type of the voxel component of the output which corresponds to the input connector, i.e., the input data of input n is cast to the type of the component n of the output type. This way, non-scalar information is lost.

Decompose the input image voxels with, e.g., a TypeDecomposer module if explicit voxel components shall be (re)composed to another type.

Tips

If you need to construct a type with more than 6 scalar values, use TypeComposerN instead.

Windows

Default Panel

../../../Modules/ML/MLTypeSupport/mhelp/Images/Screenshots/TypeComposer._default.png

Input Fields

The images containing the components of the voxels for the output image have to be connected at the inputs.

Unused inputs can be left unconnected.

If inputs that specify components of the output voxels are left unconnected, those components are filled with component defaults.

input0

name: input0, type: Image

input1

name: input1, type: Image

input2

name: input2, type: Image

input3

name: input3, type: Image

input4

name: input4, type: Image

input5

name: input5, type: Image

Output Fields

The only output is for the image composed from the component values of the input images. Voxel components that were requested from invalid areas of input images (or where the corresponding input images were not connected) are filled with the default value specified for that component.

output0

name: output0, type: Image

Parameter Fields

Visible Fields

Output Type

name: outputType, type: Enum, default: double

Defines the output data type.

Values:

Title

Name

int8

int8

unsigned int8

unsigned int8

int16

int16

unsigned int16

unsigned int16

int32

int32

unsigned int32

unsigned int32

float

float

double

double

int64

int64

unsigned int64

unsigned int64

complexf

complexf

complexd

complexd

quaternionf

quaternionf

quaterniond

quaterniond

vec2

vec2

vec3

vec3

vec4

vec4

vec5

vec5

vec6

vec6

vec7

vec7

vec8

vec8

vec9

vec9

vec10

vec10

vec16

vec16

vec32

vec32

vec64

vec64

Vector2i8

Vector2i8

Vector2i16

Vector2i16

Vector2i32

Vector2i32

Vector2i64

Vector2i64

Vector3i8

Vector3i8

Vector3i16

Vector3i16

Vector3i32

Vector3i32

Vector3i64

Vector3i64

Vector4i8

Vector4i8

Vector4i16

Vector4i16

Vector4i32

Vector4i32

Vector4i64

Vector4i64

Vector5i8

Vector5i8

Vector5i16

Vector5i16

Vector5i32

Vector5i32

Vector5i64

Vector5i64

Vector6i8

Vector6i8

Vector6i16

Vector6i16

Vector6i32

Vector6i32

Vector6i64

Vector6i64

Vector7i8

Vector7i8

Vector7i16

Vector7i16

Vector7i32

Vector7i32

Vector7i64

Vector7i64

Vector8i8

Vector8i8

Vector8i16

Vector8i16

Vector8i32

Vector8i32

Vector8i64

Vector8i64

Vector9i8

Vector9i8

Vector9i16

Vector9i16

Vector9i32

Vector9i32

Vector9i64

Vector9i64

Vector10i8

Vector10i8

Vector10i16

Vector10i16

Vector10i32

Vector10i32

Vector10i64

Vector10i64

Vector16i8

Vector16i8

Vector16i16

Vector16i16

Vector16i32

Vector16i32

Vector16i64

Vector16i64

Vector32i8

Vector32i8

Vector32i16

Vector32i16

Vector32i32

Vector32i32

Vector32i64

Vector32i64

Vector64i8

Vector64i8

Vector64i16

Vector64i16

Vector64i32

Vector64i32

Vector64i64

Vector64i64

mat2

mat2

mat3

mat3

mat4

mat4

mat5

mat5

mat6

mat6

matf2

matf2

matf3

matf3

matf4

matf4

matf5

matf5

matf6

matf6

vecf2

vecf2

vecf3

vecf3

vecf4

vecf4

vecf5

vecf5

vecf6

vecf6

vecf7

vecf7

vecf8

vecf8

vecf9

vecf9

vecf10

vecf10

vecf16

vecf16

vecf32

vecf32

vecf64

vecf64