public class PyramidFloatGaussianScale<T extends ImageSingleBand> extends PyramidFloat<T>
PyramidFloat in which each layer is constructed by 1) applying Gaussian blur to the previous layer, and then
2) re-sampling the blurred previous layer. The scaling factor between each level are floating point number.
Unlike PyramidDiscreteSampleBlur the scale factors can be arbitrary and are not limited to certain integer
values. The specified sigmas are the sigmas which are applied to each layer.
NOTE: This can be considered the theoretically correct way to construct an image pyramid with no sacrifices to improve speed.
| Modifier and Type | Field and Description |
|---|---|
protected InterpolatePixelS<T> |
interpolate |
protected double[] |
sigma |
protected float[] |
sigmaLayers |
protected T |
tempImage |
scalebottomHeight, bottomWidth, generator, layers, saveOriginalReference| Constructor and Description |
|---|
PyramidFloatGaussianScale(InterpolatePixelS<T> interpolate,
double[] scales,
double[] sigmaLayers,
java.lang.Class<T> imageType)
Configures the pyramid
|
| Modifier and Type | Method and Description |
|---|---|
InterpolatePixelS<T> |
getInterpolate() |
double |
getSampleOffset(int layer)
Returns the sampling offset.
|
double |
getSigma(int layer)
Returns the scale-space scale for the specified layer.
|
float[] |
getSigmaLayers() |
void |
process(T input)
Constructs the image pyramid given the input image.
|
void |
setInterpolate(InterpolatePixelS<T> interpolate) |
getNumLayers, getScale, setScaleFactorscheckScales, getHeight, getImageType, getInputHeight, getInputWidth, getLayer, getWidth, initialize, isSaveOriginalReference, setFirstLayer, setToprotected InterpolatePixelS<T extends ImageSingleBand> interpolate
protected T extends ImageSingleBand tempImage
protected float[] sigmaLayers
protected double[] sigma
public PyramidFloatGaussianScale(InterpolatePixelS<T> interpolate, double[] scales, double[] sigmaLayers, java.lang.Class<T> imageType)
interpolate - Interpolation function used to sub-sample.scales - Scales of each layer in the pyramid relative to the input imagesigmaLayers - Amount of blur applied to the previous layer while constructing the pyramid.imageType - Type of image it's processingpublic void process(T input)
ImagePyramidpublic InterpolatePixelS<T> getInterpolate()
public void setInterpolate(InterpolatePixelS<T> interpolate)
public double getSampleOffset(int layer)
ImagePyramidlayer - Layer in the pyramidpublic double getSigma(int layer)
ImagePyramidlayer - Layer in the pyramidpublic float[] getSigmaLayers()