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 components of a given dimension.
Tips¶
- The
Component Base Indexes
can also be used to reorder the composed voxel components, e.g. if the Y-components are stored first an a dimensions and then the X-components at higher positions.- The
Component Base Indexes
can be e.g. 0 3 6 andBlock Offset
can be 1; in this way separated vector channels can be composed.
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 ofOutput 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 from 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 theSource Dim
is C then a created output voxel reads its component values from C-positions 0, 1, and 2.If
Component Base Indexes
are 0 3 6 then a created output voxel reads its component values from 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
¶ Set 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. TheComponent Base Indexes
determine the indexes and orders 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 which can be specified byBlock Offset
.Thus, the
Block Offset
is the difference between the index of a source component for the first target voxel and the corresponding one of the next target voxel.Two typical configuration examples:
- 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.) - 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 theBlock Offset
is 1. (Separated source components.)
- If components 0, 1, and 2 are packed into the first vec3 target voxel (