| genre | NonScalar |
| status | stable |
| author | Wolf Spindler |
| package | MeVisLab/Standard |
| dll | MLTypeSupport |
| definition | MLTypeSupport.def |
| see also | InterleaveDimension, TypeFromScalars, TypeComposer, TypeDecomposer, TypeToScalars, Info, TypeDecomposer8, TypeDecomposer16, TypeDecomposer32, TypeDecomposer64, TypeComposer8, TypeComposer16, TypeComposer32, TypeComposer64 |
| keywords | compose, merge, extract, separate, merge, bind, join, mix, connect, link, tie, pack, extended, carrier, datatype, voxel, complex, vector, matrix, components |
The module TypeFromDimension creates a non-scalar voxel image from components of a given dimension.
- 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 and Block Offset can be 1; in this way separated vector channels can be composed.
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.
The output image of the non-scalar voxel type specified in Output Type.
| Block Offset: Integer |
| Component Base Indexes: String |
| Fill Value: Double |
| Output Type: Enum |
| Source Dim: Enum |
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 |
| long double | long double |
| int64 | int64 |
| unsigned int64 | unsigned int64 |
| complexf | complexf |
| complexd | complexd |
| complexld | complexld |
| quaternionf | quaternionf |
| quaterniond | quaterniond |
| quaternionld | quaternionld |
| 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 |
| stringuchar4 | stringuchar4 |
| stringuchar8 | stringuchar8 |
| stringuchar12 | stringuchar12 |
| stringuchar16 | stringuchar16 |
| stringuchar24 | stringuchar24 |
| stringuchar32 | stringuchar32 |
| stringuchar64 | stringuchar64 |
| stringuchar128 | stringuchar128 |
| stringuchar256 | stringuchar256 |
| stringuchar512 | stringuchar512 |
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 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.
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 |
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. The Component 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 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 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 the Block Offset is 1. (Separated source components.)