TypeFromDimension

MLModule

genre

NonScalar

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLTypeSupport

definition

MLTypeSupport.def

see also

InterleaveDimension, TypeFromScalars, TypeToScalars, Info, TypeComposer, TypeDecomposer, TypeDecomposerN, TypeComposerN

keywords

compose, merge, extract, separate, merge, bind, join, mix, connect, link, tie, pack, extended, carrier, datatype, voxel, complex, vector, matrix, components

Purpose

The module TypeFromDimension creates a non-scalar voxel image from the components of a given dimension.

Tips

  1. The Component Base Indexes can also be used to reorder the composed voxel components; for example, if the y-components are stored first in a dimension and then the x-components at higher positions.

  2. The Component Base Indexes can be, for example, 0, 3, 6, and Block Offset can be 1; in this way, separated vector channels can be composed.

Windows

Default Panel

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

Input Fields

input0

name: input0, type: Image

Image whose extent in the Source Dim should be large enough to compose its values to at least one non-scalar voxel of Output Type.

Output Fields

output0

name: output0, type: Image

The output image of the non-scalar voxel type specified in Output Type.

Parameter Fields

Field Index

Block Offset: Integer

Component Base Indexes: String

Fill Value: Double

Output Type: Enum

Source Dim: Enum

Visible Fields

Output Type

name: outputType, type: Enum, default: vec3

Defines the voxel type of the output image; currently, it must be a non-scalar voxel type, which is composed of the values along the given Source Dim.

Scalar voxel types will lead to an invalidated output image.

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

Component Base Indexes

name: componentBaseIndexes, type: String

Sets the positions of the first components of the first target voxel to be created.

For example:

If a vec3 image is created and Component Base Indexes are 0, 1, 2, and the Source Dim is c, then a created output voxel reads its component values from the c-positions 0, 1, and 2.

If Component Base Indexes are 0, 3, 6, then a created output voxel reads its component values from the c-positions 0, 3, and 6.

See Block Offset to find out from where the source components of the subsequent target voxels are read.

Source Dim

name: sourceDim, type: Enum, default: T

Sets the dimension to be reordered and packed into non-scalar voxel.

Values:

Title

Name

X

X

Y

Y

Z

Z

C

C

T

T

U

U

Block Offset

name: blockOffset, type: Integer, default: 1, minimum: 1

Sets the index difference between corresponding source components of two subsequent target voxels.

The source dimension Source Dim can contain more components than necessary to create one non-scalar target voxel. The Component Base Indexes determines the indexes and order of the source components of the first target voxel. However, subsequent voxels have other locations, which usually differ from the first ones by an offset that can be specified by Block Offset.

Thus, the Block Offset is the difference between the index of a source component for the first target voxel and the corresponding index of the next target voxel.

Two typical configuration examples:

  1. If components 0, 1, and 2 are packed into the first vec3 target voxel (Component Base Indexes are 0, 1, and 2), and the component 3, 4, and 5 are packed into the second target voxel, then the Block Offset is 3. (Interleaved source components.)

  2. If components 0, 3, and 6 are packed into the first vec3 target voxel (Component Base Indexes are 0, 3, and 6), the components 1, 4, and 7 are packed into the second target voxel, and the components 2, 5, and 8 are packed into the third target voxel, then the Block Offset is 1. (Separated source components.)

Fill Value

name: fillValue, type: Double, default: 0

Sets a value used for target voxel components whose corresponding source voxels are outside the valid image range.