it.geosolutions.jaiext.interpolators
Class InterpolationBicubic

java.lang.Object
  extended by javax.media.jai.Interpolation
      extended by javax.media.jai.InterpolationTable
          extended by it.geosolutions.jaiext.interpolators.InterpolationBicubic
All Implemented Interfaces:
InterpolationNoData, Serializable

public class InterpolationBicubic
extends javax.media.jai.InterpolationTable
implements InterpolationNoData

See Also:
Serialized Form

Field Summary
static int PRECISION_BITS
          Default value for precision bits
 
Fields inherited from class javax.media.jai.InterpolationTable
dataHd, dataHf, dataHi, dataVd, dataVf, dataVi, precisionBits
 
Fields inherited from class javax.media.jai.Interpolation
bottomPadding, height, INTERP_BICUBIC, INTERP_BICUBIC_2, INTERP_BILINEAR, INTERP_NEAREST, leftPadding, rightPadding, subsampleBitsH, subsampleBitsV, topPadding, width
 
Constructor Summary
InterpolationBicubic(int subsampleBits, Range noDataRange, boolean useROIAccessor, double destinationNoData, int dataType, boolean bicubic2Disabled, int precisionBits)
          Simple interpolator object used for Bicubic/Bicubic2 interpolation.
 
Method Summary
static float bicubic(float x, boolean bicubic2Disabled)
          Returns the bicubic polynomial value at a certain value of x.
static float[] dataHelper(int subsampleBits, boolean bicubic2Disabled)
           
 int getDataType()
           
 double getDestinationNoData()
          Return the destinationNoData value associated to the Interpolation Object
 Range getNoDataRange()
          Return NoData Range associated to the Interpolation object, if present.
 Number interpolate(javax.media.jai.RasterAccessor src, int bandIndex, int dnumbands, int posx, int posy, Number[] fracValues, Integer yValueROI, javax.media.jai.RasterAccessor roi, boolean setNoData)
           
 int interpolateBinary(int xNextBitNo, Number[] sourceData, int xfrac, int yfrac, int sourceYOffset, int sourceScanlineStride, int[] coordinates, int[] roiDataArray, int roiYOffset, int roiScanlineStride)
           
 void setNoDataRange(Range noDataRange)
          Set NoData Range associated to the Interpolation object.
 void setROIdata(Rectangle roiBounds, javax.media.jai.iterator.RandomIter roiIter)
           
 
Methods inherited from class javax.media.jai.InterpolationTable
getHorizontalTableData, getHorizontalTableDataDouble, getHorizontalTableDataFloat, getPrecisionBits, getVerticalTableData, getVerticalTableDataDouble, getVerticalTableDataFloat, interpolate, interpolate, interpolate, interpolate, interpolate, interpolate, interpolateF, interpolateH, interpolateH, interpolateH, interpolateH, interpolateH, interpolateH, interpolateH, interpolateH, interpolateH, interpolateV, interpolateV, interpolateV, interpolateV, interpolateV, interpolateV, interpolateV, interpolateV, interpolateV
 
Methods inherited from class javax.media.jai.Interpolation
getBottomPadding, getHeight, getInstance, getLeftPadding, getRightPadding, getSubsampleBitsH, getSubsampleBitsV, getTopPadding, getWidth, interpolate, interpolate, interpolate, isSeparable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRECISION_BITS

public static final int PRECISION_BITS
Default value for precision bits

See Also:
Constant Field Values
Constructor Detail

InterpolationBicubic

public InterpolationBicubic(int subsampleBits,
                            Range noDataRange,
                            boolean useROIAccessor,
                            double destinationNoData,
                            int dataType,
                            boolean bicubic2Disabled,
                            int precisionBits)
Simple interpolator object used for Bicubic/Bicubic2 interpolation. On construction it is possible to set a range for no data values that will be considered in the interpolation method.

Method Detail

setROIdata

public void setROIdata(Rectangle roiBounds,
                       javax.media.jai.iterator.RandomIter roiIter)

getDestinationNoData

public double getDestinationNoData()
Description copied from interface: InterpolationNoData
Return the destinationNoData value associated to the Interpolation Object

Specified by:
getDestinationNoData in interface InterpolationNoData
Returns:
destinationNoData

getNoDataRange

public Range getNoDataRange()
Description copied from interface: InterpolationNoData
Return NoData Range associated to the Interpolation object, if present.

Specified by:
getNoDataRange in interface InterpolationNoData
Returns:
NoData Range

setNoDataRange

public void setNoDataRange(Range noDataRange)
Description copied from interface: InterpolationNoData
Set NoData Range associated to the Interpolation object.

Specified by:
setNoDataRange in interface InterpolationNoData

getDataType

public int getDataType()

dataHelper

public static float[] dataHelper(int subsampleBits,
                                 boolean bicubic2Disabled)

bicubic

public static float bicubic(float x,
                            boolean bicubic2Disabled)
Returns the bicubic polynomial value at a certain value of x.


interpolate

public Number interpolate(javax.media.jai.RasterAccessor src,
                          int bandIndex,
                          int dnumbands,
                          int posx,
                          int posy,
                          Number[] fracValues,
                          Integer yValueROI,
                          javax.media.jai.RasterAccessor roi,
                          boolean setNoData)

interpolateBinary

public int interpolateBinary(int xNextBitNo,
                             Number[] sourceData,
                             int xfrac,
                             int yfrac,
                             int sourceYOffset,
                             int sourceScanlineStride,
                             int[] coordinates,
                             int[] roiDataArray,
                             int roiYOffset,
                             int roiScanlineStride)


Copyright © 2006–2014 GeoSolutions. All rights reserved.