Interface ImagePyramid<T extends ImageBase>
-
- All Known Implementing Classes:
- ImagePyramidBase, PyramidDiscrete, PyramidDiscreteAverage, PyramidDiscreteSampleBlur, PyramidFloat, PyramidFloatGaussianScale, PyramidFloatScale
public interface ImagePyramid<T extends ImageBase>Image pyramids represent an image at different resolution in a fine to coarse fashion. Lower layers in the pyramid are at a higher resolution than the upper layers. The resolution of a layer is specified by its scale. The scale number indicates how many pixels in the original input image correspond to a single pixel at the current layer. So a layer with a scale of 5 is 5 times lower resolution than the input layer.
The transform from a pixel coordinate in layer 'i' to the original image will vary depending on the pyramid is constructed. In general it, can be described by the following equation: (x,y) = (offX_i,offY_i) + scale_i*(x_i,y_i), where (x_i,y_i) is the pixel coordinate in layer 'i'. The offsets (offX_i,offY_i) vary depending on how each layer in the pyramid samples the previous layers. This offset can be found by calling
getSampleOffset(int).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description intgetHeight(int layer)Returns the height of an image at ths specified layer.java.lang.Class<T>getImageType()The type of image.intgetInputHeight()Height of input image.intgetInputWidth()Width of input image.TgetLayer(int layerNum)Returns a layer in the pyramid.intgetNumLayers()Returns the number of layers in the pyramid.doublegetSampleOffset(int layer)Returns the sampling offset.doublegetScale(int layer)Returns the scale of the specified layer in the pyramid.doublegetSigma(int layer)Returns the scale-space scale for the specified layer.intgetWidth(int layer)Returns the width of an image at ths specified layer.voidinitialize(int width, int height)Declares internal data structures for an image with the specified dimensionsvoidprocess(T input)Constructs the image pyramid given the input image.voidsetTo(ImagePyramid<T> input)Set's this pyramid to be the same as input.
-
-
-
Method Detail
-
process
void process(T input)
Constructs the image pyramid given the input image.
-
initialize
void initialize(int width, int height)Declares internal data structures for an image with the specified dimensions- Parameters:
width- image widthheight- image height
-
getScale
double getScale(int layer)
Returns the scale of the specified layer in the pyramid. Larger the scale smaller the image is relative to the input image.- Parameters:
layer- Which layer is being inspected.- Returns:
- The layer's scale.
-
getLayer
T getLayer(int layerNum)
Returns a layer in the pyramid.- Parameters:
layerNum- which image is to be returned.- Returns:
- The image in the pyramid.
-
getNumLayers
int getNumLayers()
Returns the number of layers in the pyramid.
-
getWidth
int getWidth(int layer)
Returns the width of an image at ths specified layer.- Parameters:
layer- The layer being requested.- Returns:
- The layer's width.
-
getHeight
int getHeight(int layer)
Returns the height of an image at ths specified layer.- Parameters:
layer- The layer being requested.- Returns:
- The layer's height.
-
getInputWidth
int getInputWidth()
Width of input image.
-
getInputHeight
int getInputHeight()
Height of input image.
-
getImageType
java.lang.Class<T> getImageType()
The type of image.- Returns:
- Image type.
-
setTo
void setTo(ImagePyramid<T> input)
Set's this pyramid to be the same as input. The two pyramids must have the same structure or else an exception will be thrown.- Parameters:
input- Input pyramid. Not modified.
-
getSampleOffset
double getSampleOffset(int layer)
Returns the sampling offset. Both x and y axises are assumed to have the same offset. See comment in constructor above.- Parameters:
layer- Layer in the pyramid- Returns:
- Sampling offset in pixels.
-
getSigma
double getSigma(int layer)
Returns the scale-space scale for the specified layer. This scale is equivalent amount of Gaussian blur applied to the input image. If Gaussian blur is not applied to each layer then an approximation should be returned.- Parameters:
layer- Layer in the pyramid- Returns:
- Equivalent sigma for Gaussian blur.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG