T - image typeS - coefficient typepublic class BSplineDecomposition<T extends net.imglib2.type.numeric.RealType<T>,S extends net.imglib2.type.numeric.RealType<S>> extends Object implements Consumer<net.imglib2.RandomAccessibleInterval<S>>
| Modifier and Type | Field and Description |
|---|---|
protected double[] |
Ci |
protected net.imglib2.RandomAccessible<T> |
img |
protected int |
initHorizon |
protected boolean |
isPadded |
protected int |
numberOfPoles |
protected int |
order |
protected net.imglib2.Interval |
originalInterval |
protected double[] |
padding |
protected int |
paddingWidth |
protected double[] |
poles |
protected net.imglib2.RandomAccessibleInterval<S> |
tmpCoefStorage |
protected double |
tolerance |
| Constructor and Description |
|---|
BSplineDecomposition(int order,
net.imglib2.RandomAccessible<T> img) |
BSplineDecomposition(net.imglib2.RandomAccessible<T> img) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(net.imglib2.RandomAccessibleInterval<S> coefficients) |
void |
acceptUnpadded(net.imglib2.RandomAccessibleInterval<S> coefficients)
Compute coefficients.
|
static double |
gainFromPoles(double[] poles) |
net.imglib2.RandomAccessible<T> |
getImage() |
static net.imglib2.iterator.IntervalIterator |
getIterator(net.imglib2.Interval interval,
int dim) |
static net.imglib2.iterator.IntervalIterator |
getIterator(net.imglib2.Interval paddedInterval,
net.imglib2.Interval originalInterval,
int dim) |
protected static <T extends net.imglib2.type.numeric.RealType<T>> |
initializeAntiCausalCoefficients(double z,
double c,
T previous,
net.imglib2.RandomAccess<T> coefs) |
protected static <T extends net.imglib2.type.numeric.RealType<T>> |
initializeCausalCoefficients(double z,
double tolerance,
int dimension,
net.imglib2.RandomAccess<T> dataAccess)
Data must be 1d or permuted such that the first dimension
is the dimension to be iterated over.
|
static double[] |
poles(int splineOrder)
Returns the poles for the filter for a spline of a given order.
|
static double[] |
polesCi(double[] poles) |
<S extends net.imglib2.type.numeric.RealType<S>,T extends net.imglib2.type.numeric.RealType<T>> |
recursion1d(net.imglib2.RandomAccess<T> srcAccess,
net.imglib2.RandomAccess<S> destAccess,
double z,
double Ci,
S previous,
long N,
int dimension)
Compute a 1d forward-backward recursion to compute bspline coefficients.
|
static <S extends net.imglib2.type.numeric.RealType<S>,T extends net.imglib2.type.numeric.RealType<T>> |
recursion1dUnpadded(net.imglib2.RandomAccess<T> srcAccess,
net.imglib2.RandomAccess<S> destAccess,
S previous,
long N,
int dimension,
double tolerance,
int numberOfPoles,
double[] poles,
double[] Ci)
Compute a 1d forward-backward recursion to compute bspline coefficients.
|
void |
setPadded(boolean isPadded) |
String |
toString() |
protected final int order
protected final int numberOfPoles
protected final double[] poles
protected final double[] Ci
protected final net.imglib2.RandomAccessible<T extends net.imglib2.type.numeric.RealType<T>> img
protected double tolerance
protected int paddingWidth
protected int initHorizon
protected double[] padding
protected net.imglib2.RandomAccessibleInterval<S extends net.imglib2.type.numeric.RealType<S>> tmpCoefStorage
protected net.imglib2.Interval originalInterval
protected boolean isPadded
public BSplineDecomposition(int order,
net.imglib2.RandomAccessible<T> img)
public BSplineDecomposition(net.imglib2.RandomAccessible<T> img)
public void setPadded(boolean isPadded)
public net.imglib2.RandomAccessible<T> getImage()
public static double[] polesCi(double[] poles)
public static double gainFromPoles(double[] poles)
public void accept(net.imglib2.RandomAccessibleInterval<S> coefficients)
accept in interface Consumer<net.imglib2.RandomAccessibleInterval<S extends net.imglib2.type.numeric.RealType<S>>>public void acceptUnpadded(net.imglib2.RandomAccessibleInterval<S> coefficients)
coefficients - the interval and destination in which to store coefficients.public static net.imglib2.iterator.IntervalIterator getIterator(net.imglib2.Interval paddedInterval, net.imglib2.Interval originalInterval, int dim)
public static net.imglib2.iterator.IntervalIterator getIterator(net.imglib2.Interval interval, int dim)
public static <S extends net.imglib2.type.numeric.RealType<S>,T extends net.imglib2.type.numeric.RealType<T>> void recursion1dUnpadded(net.imglib2.RandomAccess<T> srcAccess, net.imglib2.RandomAccess<S> destAccess, S previous, long N, int dimension, double tolerance, int numberOfPoles, double[] poles, double[] Ci)
srcAccess - access for the datadestAccess - access to write results intoprevious - a temporary variableN - width of the recursiondimension - the dimension along which to operatetolerance - tolerance for initializing coefficientsnumberOfPoles - number of polespoles - the polesCi - Cipublic <S extends net.imglib2.type.numeric.RealType<S>,T extends net.imglib2.type.numeric.RealType<T>> void recursion1d(net.imglib2.RandomAccess<T> srcAccess, net.imglib2.RandomAccess<S> destAccess, double z, double Ci, S previous, long N, int dimension)
srcAccess - access for the datadestAccess - access to write results intoprevious - a temporary variableN - width of the recursiondimension - the dimension along which to operateprotected static <T extends net.imglib2.type.numeric.RealType<T>> void initializeAntiCausalCoefficients(double z, double c, T previous, net.imglib2.RandomAccess<T> coefs)
protected static <T extends net.imglib2.type.numeric.RealType<T>> double initializeCausalCoefficients(double z, double tolerance, int dimension, net.imglib2.RandomAccess<T> dataAccess)
public static double[] poles(int splineOrder)
splineOrder - the order of the bsplineCopyright © 2009–2026 ImgLib2. All rights reserved.