public interface Mixed extends Transform, BoundingBoxTransform
It transform a n-dimensional source vector to a m-dimensional target vector, and can be represented as a m+1 × n+1 homogeneous matrix. The mixed transform can be decomposed as follows:
Modifier and Type | Method and Description |
---|---|
void |
getComponentInversion(boolean[] invert)
Get an array indicating for each target component, whether the source
component it is taken from should be inverted.
|
boolean |
getComponentInversion(int d)
Get the d-th component of inversion vector (see
getComponentInversion(boolean[]) ). |
int |
getComponentMapping(int d)
Get the source dimension which is mapped to the d-th target dimension
(see
getComponentMapping(int[]) ). |
void |
getComponentMapping(int[] component)
Get an array indicating for each target dimensions from which source
dimension it is taken.
|
void |
getComponentZero(boolean[] zero)
Get a boolean array indicating which target dimensions are _not_ taken
from source dimensions.
|
boolean |
getComponentZero(int d)
Get the d-th component of zeroing vector (see
getComponentZero(boolean[]) ). |
double[][] |
getMatrix()
Get the matrix that transforms homogeneous source points to homogeneous
target points.
|
long |
getTranslation(int d)
Get the d-th component of translation (see
getTranslation(long[]) ). |
void |
getTranslation(long[] translation)
Get the translation.
|
apply, apply, apply, numSourceDimensions, numTargetDimensions
transform
void getTranslation(long[] translation)
translation
- array of size at least the target dimension to store the
result.long getTranslation(int d)
getTranslation(long[])
).d
- void getComponentZero(boolean[] zero)
For instance, if the transform maps 2D (x,y) coordinates to the first two components of a 3D (x,y,z) coordinate, the result will be [false, false, true]
zero
- array of size at least the target dimension to store the
result.boolean getComponentZero(int d)
getComponentZero(boolean[])
).d
- void getComponentMapping(int[] component)
For instance, if the transform maps 2D (x,y) coordinates to the first two
components of a 3D (x,y,z) coordinate, the result will be [0, 1, x].
Here, the value of x is undefined because the third target dimension does
not correspond to any source dimension. See getComponentZero(boolean[])
.
component
- array of size at least the target dimension to store the
result.int getComponentMapping(int d)
getComponentMapping(int[])
).d
- void getComponentInversion(boolean[] invert)
For instance, if rotating a 2D (x,y) coordinates by 180 degrees will map it to (-x,-y). In this case, the result will be [true, true].
invert
- array of size at least the target dimension to store the
result.boolean getComponentInversion(int d)
getComponentInversion(boolean[])
).d
- double[][] getMatrix()
Copyright © 2015–2022 ImgLib2. All rights reserved.