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.