Class PolynomialPixel<T extends ImageGray<T>>

java.lang.Object
boofcv.alg.interpolate.PolynomialPixel<T>
All Implemented Interfaces:
InterpolatePixel<T>, InterpolatePixelS<T>
Direct Known Subclasses:
ImplPolynomialPixel_F32, ImplPolynomialPixel_I

public abstract class PolynomialPixel<T extends ImageGray<T>>
extends Object
implements InterpolatePixelS<T>

Polynomial interpolation using Neville's algorithm. First interpolation is performed along the horizontal axis, centered at the specified x-coordinate. Then a second pass is done along the vertical axis using the output from the first pass.

The code is unoptimized and the algorithm is relatively expensive.

  • Field Details

    • border

      protected ImageBorder<T extends ImageGray<T>> border
    • image

      protected T extends ImageGray<T> image
    • M

      protected int M
    • offM

      protected int offM
    • horiz

      protected float[] horiz
    • vert

      protected float[] vert
    • min

      protected float min
    • max

      protected float max
    • interp1D

      protected PolynomialNevilleFixed_F32 interp1D
  • Constructor Details

    • PolynomialPixel

      protected PolynomialPixel​(int maxDegree, float min, float max)
  • Method Details

    • setBorder

      public void setBorder​(ImageBorder<T> border)
      Description copied from interface: InterpolatePixel
      Set's the class used to "read" pixels outside the image border.
      Specified by:
      setBorder in interface InterpolatePixel<T extends ImageGray<T>>
      Parameters:
      border - Class for reading outside the image border
    • setImage

      public void setImage​(T image)
      Description copied from interface: InterpolatePixel
      Change the image that is being interpolated.
      Specified by:
      setImage in interface InterpolatePixel<T extends ImageGray<T>>
      Parameters:
      image - An image.
    • getImage

      public T getImage()
      Description copied from interface: InterpolatePixel
      Returns the image which is being interpolated.
      Specified by:
      getImage in interface InterpolatePixel<T extends ImageGray<T>>
      Returns:
      A reference to the image being interpolated.
    • isInFastBounds

      public boolean isInFastBounds​(float x, float y)
      Description copied from interface: InterpolatePixel
      Is the requested pixel inside the image boundary for which fast unsafe interpolation can be performed.
      Specified by:
      isInFastBounds in interface InterpolatePixel<T extends ImageGray<T>>
      Parameters:
      x - Point's x-coordinate.
      y - Point's y-coordinate.
      Returns:
      true if get_fast() can be called.
    • getFastBorderX

      public int getFastBorderX()
      Description copied from interface: InterpolatePixel
      Border around the image that fast interpolation cannot be called.
      Specified by:
      getFastBorderX in interface InterpolatePixel<T extends ImageGray<T>>
      Returns:
      Border size in pixels
    • getFastBorderY

      public int getFastBorderY()
      Description copied from interface: InterpolatePixel
      Border around the image that fast interpolation cannot be called.
      Specified by:
      getFastBorderY in interface InterpolatePixel<T extends ImageGray<T>>
      Returns:
      Border size in pixels
    • getBorder

      public ImageBorder<T> getBorder()
      Description copied from interface: InterpolatePixel
      Returns the class which handles the image border
      Specified by:
      getBorder in interface InterpolatePixel<T extends ImageGray<T>>