org.esa.beam.framework.dataop.resamp
Interface Resampling


public interface Resampling

An interface used to implement different resampling strategies.

Version:
$Revision$ $Date$
Author:
Norman Fomferra, Norman Fomferra (norman.fomferra@brockmann-consult.de)

Nested Class Summary
static class Resampling.Index
          An index is used to provide resampling information at a given raster position x,y.
static interface Resampling.Raster
          A raster is a rectangular grid which provides sample values at a given raster position x,y.
 
Field Summary
static Resampling BILINEAR_INTERPOLATION
          The bilinear interpolation resampling method.
static Resampling CUBIC_CONVOLUTION
          The cubic convolution resampling method.
static Resampling NEAREST_NEIGHBOUR
          The nearest neighbour resampling method.
 
Method Summary
 void computeIndex(float x, float y, int width, int height, Resampling.Index index)
          Computes the index's properties for the given pixel coordinate.
 Resampling.Index createIndex()
          Factory method which creates an appropriate index for raster access.
 String getName()
          Gets a unique identifier for this resampling method, e.g.
 float resample(Resampling.Raster raster, Resampling.Index index)
          Performs the actual resampling operation.
 

Field Detail

NEAREST_NEIGHBOUR

static final Resampling NEAREST_NEIGHBOUR
The nearest neighbour resampling method.


BILINEAR_INTERPOLATION

static final Resampling BILINEAR_INTERPOLATION
The bilinear interpolation resampling method.


CUBIC_CONVOLUTION

static final Resampling CUBIC_CONVOLUTION
The cubic convolution resampling method.

Method Detail

getName

String getName()
Gets a unique identifier for this resampling method, e.g. "BILINEAR_INTERPOLATION".

Returns:
a unique name

createIndex

Resampling.Index createIndex()
Factory method which creates an appropriate index for raster access.

Returns:
an appropriate index, never null

computeIndex

void computeIndex(float x,
                  float y,
                  int width,
                  int height,
                  Resampling.Index index)
Computes the index's properties for the given pixel coordinate.

Parameters:
x - the raster's x coordinate
y - the raster's y coordinate
width - the raster's width
height - the raster's height
index - the index object to which the results are to be assigned

resample

float resample(Resampling.Raster raster,
               Resampling.Index index)
               throws Exception
Performs the actual resampling operation. If a sample value could not be computed at the given index, e.g. in case of missing data, the method returns the special value Float.NaN.

Parameters:
raster - the raster
index - the index, must be computed using the computeIndex(float, float, int, int, org.esa.beam.framework.dataop.resamp.Resampling.Index) method
Returns:
either the re-sampled sample value or Float.NaN.
Throws:
Exception - if a non-runtime error occurs, e.g I/O error


Copyright © 2002-2012 Brockmann Consult GmbH. All Rights Reserved.