public interface InvertibleRealTransform extends RealTransform
Applying the transformation to a n-dimensional source vector yields a m-dimensional target vector.
You can also
apply the inverse transformation
to a m-dimensional target
vector to get the n-dimensional source vector.
Source and target vectors are required to be at least n- or
m-dimensional respectively. The InvertibleRealTransform
is
expected to leave all dimensions beyond n-1 in the source vector and
m-1 in the target vector unchanged.
Implementations must support an in-place applyInverse (i.e., passing the same object as both source and target).
Modifier and Type | Method and Description |
---|---|
void |
applyInverse(double[] source,
double[] target)
Apply the inverse transform to a target vector to obtain a source vector.
|
default void |
applyInverse(float[] source,
float[] target)
Deprecated.
Use double precision instead
|
void |
applyInverse(RealPositionable source,
RealLocalizable target)
Apply the inverse transform to a target
RealLocalizable to obtain
a source RealPositionable . |
InvertibleRealTransform |
copy()
Create a deep copy of this
RealTransform . |
InvertibleRealTransform |
inverse()
Get the inverse transform.
|
apply, apply, apply, isIdentity, numSourceDimensions, numTargetDimensions
void applyInverse(double[] source, double[] target)
source
- set this to the source coordinates.target
- target coordinates.@Deprecated default void applyInverse(float[] source, float[] target)
source
- set this to the source coordinates.target
- target coordinates.void applyInverse(RealPositionable source, RealLocalizable target)
RealLocalizable
to obtain
a source RealPositionable
.source
- set this to the source coordinates.target
- target coordinates.InvertibleRealTransform inverse()
InvertibleRealTransform copy()
RealTransform
RealTransform
.
Deep copying is required to make sure that stateful RealTransforms
can be duplicated for concurrent code.
copy
in interface RealTransform
Copyright © 2015–2022 ImgLib2. All rights reserved.