public class ThinplateSplineTransform extends AbstractDifferentiableRealTransform implements RealTransform
For efficiency, this implementation does not deep copies of the wrapped ThinPlateR2LogRSplineKernelTransform,
since it is stateless and the same instance may be used concurrently. However, take care not to modify
the wrapped instance concurrently, as that could cause race conditions.
| Constructor and Description |
|---|
ThinplateSplineTransform(double[][] p,
double[][] q) |
ThinplateSplineTransform(ThinPlateR2LogRSplineKernelTransform tps) |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(double[] source,
double[] target)
Apply the
RealTransform to a source vector to obtain a target
vector. |
void |
apply(RealLocalizable source,
RealPositionable target)
|
ThinplateSplineTransform |
copy()
Create a copy of this
ThinplateSplineTransform appropriate for use in
concurrent code. |
ThinPlateR2LogRSplineKernelTransform |
getKernelTransform()
Returns the instance of the wrapped
ThinPlateR2LogRSplineKernelTransform. |
AffineTransform |
jacobian(double[] x)
Returns the jacobian matrix of this transform at the point x.
|
int |
numSourceDimensions()
Returns n, the minimal number of dimension of the source vector.
|
int |
numTargetDimensions()
Returns m, the minimal dimension of the target vector.
|
directionToward, directionToward, matrixTransposeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitapply, isIdentitypublic ThinplateSplineTransform(ThinPlateR2LogRSplineKernelTransform tps)
public ThinplateSplineTransform(double[][] p,
double[][] q)
public void apply(double[] source,
double[] target)
RealTransformRealTransform to a source vector to obtain a target
vector.apply in interface RealTransformsource - source coordinates, length must be >=
RealTransform.numSourceDimensions()target - set this to the target coordinates, length must be >=
RealTransform.numTargetDimensions()public void apply(RealLocalizable source, RealPositionable target)
RealTransformapply in interface RealTransformsource - source coordinates, numDimensions() must be >=
RealTransform.numSourceDimensions()target - set this to the target coordinates,
numDimensions() must
be >= RealTransform.numTargetDimensions()public ThinplateSplineTransform copy()
ThinplateSplineTransform appropriate for use in
concurrent code.
For efficiency, this implementation does not make a deep copy of the wrapped ThinPlateR2LogRSplineKernelTransform,
since it is stateless and the same instance may be used concurrently. However, take care not to modify
the wrapped instance concurrently, as that could cause race conditions.
copy in interface DifferentiableRealTransformcopy in interface RealTransformpublic int numSourceDimensions()
RealTransformnumSourceDimensions in interface RealTransformpublic int numTargetDimensions()
RealTransformnumTargetDimensions in interface RealTransformpublic AffineTransform jacobian(double[] x)
AbstractDifferentiableRealTransformjacobian in interface DifferentiableRealTransformjacobian in class AbstractDifferentiableRealTransformx - the pointpublic ThinPlateR2LogRSplineKernelTransform getKernelTransform()
ThinPlateR2LogRSplineKernelTransform.Copyright © 2009–2022 ImgLib2. All rights reserved.