T
- the image typepublic class BSplineInterpolator<T extends RealType<T>> extends Floor<RandomAccess<Neighborhood<T>>> implements RealRandomAccess<T>
BSplineDecomposition
. This will be more memory-efficient
though.
See Unser, Aldroubi, and Eden "Fast B-Spline Transforms for Continuous Image
Representation and Interpolation" IEEE PAMI 13(3) 1991.Modifier and Type | Field and Description |
---|---|
static double |
ALPHA |
protected boolean |
clipping |
static double |
FACTOR |
static double |
FOURTHIRDS |
static double |
ONESIXTH |
protected int |
radius |
protected RectangleShape |
shape |
static double |
SQRT3 |
static double |
TWOTHIRDS |
protected T |
value |
protected double |
w |
protected double[][] |
weights |
discrete, position, target
n
Modifier | Constructor and Description |
---|---|
|
BSplineInterpolator(BSplineInterpolator<T> interpolator) |
|
BSplineInterpolator(RandomAccessible<T> source,
int radius,
boolean clipping) |
protected |
BSplineInterpolator(RandomAccessibleInterval<T> randomAccessible)
Build a default cubic-bspline interpolator.
|
Modifier and Type | Method and Description |
---|---|
BSplineInterpolator<T> |
copy() |
BSplineInterpolator<T> |
copyRealRandomAccess() |
static double |
cubicCardinalSpline(double x,
int width) |
static double |
evaluate3Normalized(double u) |
protected void |
fillWeights() |
T |
get()
Access the actual T instance providing access to a pixel,
sub-pixel or integral region value the
Sampler points at. |
floor, floor, floor, floor, floor, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition
bck, fwd, getDoublePosition, getFloatPosition, localize, localize, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition, toString
numDimensions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
setPositionAndGet, setPositionAndGet, setPositionAndGet
getDoublePosition, getFloatPosition, localize, localize, localize, positionAsDoubleArray, positionAsRealPoint
move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition
bck, fwd, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition
numDimensions
public static final double SQRT3
public static final double ALPHA
public static final double FACTOR
public static final double ONESIXTH
public static final double TWOTHIRDS
public static final double FOURTHIRDS
protected double w
protected final double[][] weights
protected final boolean clipping
protected final int radius
protected final RectangleShape shape
public BSplineInterpolator(BSplineInterpolator<T> interpolator)
public BSplineInterpolator(RandomAccessible<T> source, int radius, boolean clipping)
protected BSplineInterpolator(RandomAccessibleInterval<T> randomAccessible)
randomAccessible
- the random accessiblepublic T get()
Sampler
Sampler
points at.protected void fillWeights()
public BSplineInterpolator<T> copy()
copy
in interface Sampler<T extends RealType<T>>
Sampler
in the same state accessing the same
values.
It does NOT copy T, just the state of the Sampler
.
Otherwise use T.copy() if available.
Sampler.copy().get() == Sampler.get(), i.e. both hold the same
value, not necessarily the same instance (this is the case for an
ArrayCursor
for example)public BSplineInterpolator<T> copyRealRandomAccess()
copyRealRandomAccess
in interface RealRandomAccess<T extends RealType<T>>
public static double evaluate3Normalized(double u)
public static double cubicCardinalSpline(double x, int width)
Copyright © 2015–2022 ImgLib2. All rights reserved.