public class ProductFlipper extends AbstractProductBuilder
Modifier and Type | Field and Description |
---|---|
static int |
FLIP_BOTH |
static int |
FLIP_HORIZONTAL |
static int |
FLIP_VERTICAL |
bandMap, newProductDesc, newProductName, sceneRasterHeight, sceneRasterWidth, sourceProduct, sourceProductOwner
Constructor and Description |
---|
ProductFlipper(int flipType) |
ProductFlipper(int flipType,
boolean sourceProductOwner) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the access to all currently opened resources such as file input streams and all resources of this children
directly owned by this reader.
|
static Product |
createFlippedProduct(Product sourceProduct,
boolean sourceProductOwner,
int flipType,
String name,
String desc) |
static Product |
createFlippedProduct(Product sourceProduct,
int flipType,
String name,
String desc) |
int |
getFlipType() |
void |
readBandRasterData(Band destBand,
int destOffsetX,
int destOffsetY,
int destWidth,
int destHeight,
ProductData destBuffer,
ProgressMonitor pm)
Reads raster data from the data source specified by the given destination band into the given in-memory buffer
and region.
|
protected void |
readBandRasterDataImpl(int sourceOffsetX,
int sourceOffsetY,
int sourceWidth,
int sourceHeight,
int sourceStepX,
int sourceStepY,
Band destBand,
int destOffsetX,
int destOffsetY,
int destWidth,
int destHeight,
ProductData destBuffer,
ProgressMonitor pm)
The template method which is called by the
readBandRasterDataSubSampling method after an optional
spatial subset has been applied to the input parameters. |
protected Product |
readProductNodesImpl()
Reads a data product and returns a in-memory representation of it.
|
addAttribString, addFlagCodingsToProduct, addIndexCodingsToProduct, addMetadataToProduct, cloneFlags, cloneIndexes, cloneMetadataAttributes, cloneMetadataElements, cloneMetadataElementsAndAttributes, disposeBandMap, getSceneRasterHeight, getSceneRasterWidth, getSourceProduct, isInstanceOfValidInputType, isSourceProductOwner, readProductNodes, setNewProductDesc, setNewProductName
configurePreferredTileSize, createTiePointGrid, getGridDiscontinutity, getInput, getProductComponents, getReaderPlugIn, getSubsetDef, isMetadataIgnored, isNodeAccepted, readProductNodes, setInput, setSubsetDef, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
readTiePointGridRasterData
public static final int FLIP_HORIZONTAL
public static final int FLIP_VERTICAL
public static final int FLIP_BOTH
public ProductFlipper(int flipType)
public ProductFlipper(int flipType, boolean sourceProductOwner)
public static Product createFlippedProduct(Product sourceProduct, int flipType, String name, String desc) throws IOException
IOException
public static Product createFlippedProduct(Product sourceProduct, boolean sourceProductOwner, int flipType, String name, String desc) throws IOException
IOException
public int getFlipType()
protected Product readProductNodesImpl() throws IOException
readProductNodes(input, subsetInfo)
of the abstract superclass.readProductNodesImpl
in class AbstractProductBuilder
IllegalArgumentException
- if input
type is not one of the supported input sources.IOException
- if an I/O error occurspublic void close() throws IOException
This method should be called only if it is for sure that this object instance will never be used again. The
results of referencing an instance of this class after a call to close()
are undefined.
Overrides of this method should always call super.close();
after disposing this instance.
close
in interface ProductReader
close
in class AbstractProductBuilder
IOException
- if an I/O error occurspublic void readBandRasterData(Band destBand, int destOffsetX, int destOffsetY, int destWidth, int destHeight, ProductData destBuffer, ProgressMonitor pm) throws IOException
For a complete description, please refer to the ProductReader.readBandRasterData(Band, int, int, int, int, ProductData, com.bc.ceres.core.ProgressMonitor)
interface definition}
of this method.
The AbstractProductReader
implements this method using the Template Method pattern. The
template method in this case is the abstract method to which the call is delegated after an optional spatial
subset given by AbstractProductReader.getSubsetDef()
has been applied to the input parameters.
readBandRasterData
in interface ProductReader
readBandRasterData
in class AbstractProductReader
destBand
- the destination band which identifies the data source from which to read the sample valuesdestOffsetX
- the X-offset in the band's raster co-ordinatesdestOffsetY
- the Y-offset in the band's raster co-ordinatesdestWidth
- the width of region to be read given in the band's raster co-ordinatesdestHeight
- the height of region to be read given in the band's raster co-ordinatesdestBuffer
- the destination buffer which receives the sample values to be readpm
- a monitor to inform the user about progressIOException
- if an I/O error occursIllegalArgumentException
- if the number of elements destination buffer not equals destWidth *
destHeight
or the destination region is out of the band's rasterreadBandRasterDataImpl(int, int, int, int, int, int, org.esa.snap.core.datamodel.Band, int, int, int, int, org.esa.snap.core.datamodel.ProductData, com.bc.ceres.core.ProgressMonitor)
,
AbstractProductReader.getSubsetDef()
,
ProductReader.readBandRasterData(Band, int, int, int, int, ProductData, com.bc.ceres.core.ProgressMonitor)
,
AbstractBand.getRasterWidth()
,
AbstractBand.getRasterHeight()
protected void readBandRasterDataImpl(int sourceOffsetX, int sourceOffsetY, int sourceWidth, int sourceHeight, int sourceStepX, int sourceStepY, Band destBand, int destOffsetX, int destOffsetY, int destWidth, int destHeight, ProductData destBuffer, ProgressMonitor pm) throws IOException
readBandRasterDataSubSampling
method after an optional
spatial subset has been applied to the input parameters.
The destination band, buffer and region parameters are exactly the ones passed to the original
readBandRasterDataSubSampling
call. Since the destOffsetX
and destOffsetY
parameters are already taken into acount in the sourceOffsetX
and sourceOffsetY
parameters, an implementor of this method is free to ignore them.
readBandRasterDataImpl
in class AbstractProductReader
sourceOffsetX
- the absolute X-offset in source raster co-ordinatessourceOffsetY
- the absolute Y-offset in source raster co-ordinatessourceWidth
- the width of region providing samples to be read given in source raster co-ordinatessourceHeight
- the height of region providing samples to be read given in source raster co-ordinatessourceStepX
- the sub-sampling in X direction within the region providing samples to be readsourceStepY
- the sub-sampling in Y direction within the region providing samples to be readdestBand
- the destination band which identifies the data source from which to read the sample valuesdestOffsetX
- the X-offset in the band's raster co-ordinatesdestOffsetY
- the Y-offset in the band's raster co-ordinatesdestWidth
- the width of region to be read given in the band's raster co-ordinatesdestHeight
- the height of region to be read given in the band's raster co-ordinatesdestBuffer
- the destination buffer which receives the sample values to be readpm
- a monitor to inform the user about progressIOException
- if an I/O error occursAbstractProductReader.getSubsetDef()
Copyright © 2014–2017 European Space Agency (ESA). All rights reserved.