|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.bc.ceres.core.ExtensibleObject
org.esa.beam.framework.datamodel.ProductNode
org.esa.beam.framework.datamodel.Product
public class Product
Product instances are an in-memory representation of a remote sensing data product. The product is more
an abstract hull containing references to the data of the product or readers to retrieve the data on demant. The
product itself does not hold the remote sensing data. Data products can contain multiple geophysical parameters
stored as bands and can also have multiple metadata attributes. Also, a Product can contain any number
of TiePointGrids holding the tie point data.
Every product can also have a product reader and writer assigned to it. The reader represents the data source from which a product was created, whereas the writer represents the data sink. Both, the source and the sink must not necessarily store data in the same format. Furthermore, it is not mandatory for a product to have both of them.
| Nested Class Summary | |
|---|---|
static interface |
Product.AutoGrouping
AutoGrouping can be used by an application to auto-group a long list of product nodes (e.g. bands) as a tree of product nodes. |
| Field Summary | |
|---|---|
static String |
GCP_MASK_NAME
Deprecated. |
static String |
GEOMETRY_FEATURE_TYPE_NAME
|
static String |
HISTORY_ROOT_NAME
|
static String |
METADATA_ROOT_NAME
|
static String |
PIN_MASK_NAME
Deprecated. |
static String |
PROPERTY_NAME_GEOCODING
|
static String |
PROPERTY_NAME_PRODUCT_TYPE
|
| Fields inherited from class org.esa.beam.framework.datamodel.ProductNode |
|---|
PROPERTY_NAME_DESCRIPTION, PROPERTY_NAME_NAME |
| Constructor Summary | |
|---|---|
Product(String name,
String type,
int sceneRasterWidth,
int sceneRasterHeight)
Creates a new product without any reader (in-memory product) |
|
Product(String name,
String type,
int sceneRasterWidth,
int sceneRasterHeight,
ProductReader reader)
Constructs a new product with the given name and the given reader. |
|
| Method Summary | |
|---|---|
void |
acceptVisitor(ProductVisitor visitor)
Accepts the given visitor. |
void |
addBand(Band band)
Adds the given band to this product. |
Band |
addBand(String bandName,
int dataType)
Creates a new band with the given name and data type and adds it to this product and returns it. |
Band |
addBand(String bandName,
String expression)
Creates a new band with the given name and adds it to this product and returns it. |
Band |
addBand(String bandName,
String expression,
int dataType)
Creates a new band with the given name and data type and adds it to this product and returns it. |
void |
addBitmaskDef(BitmaskDef bitmaskDef)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
Mask |
addMask(String maskName,
Mask.ImageType imageType)
Creates a new mask with the given name and image type and adds it to this product and returns it. |
Mask |
addMask(String maskName,
String expression,
String description,
Color color,
double transparency)
Creates a new mask using a band arithmetic expression and adds it to this product and returns it. |
Mask |
addMask(String maskName,
VectorDataNode vectorDataNode,
String description,
Color color,
double transparency)
Creates a new mask based on the geometries contained in a vector data node, adds it to this product and returns it. |
boolean |
addProductNodeListener(ProductNodeListener listener)
Adds a ProductNodeListener to this product. |
void |
addTiePointGrid(TiePointGrid tiePointGrid)
Adds the given tie-point grid to this product. |
boolean |
canBeOrthorectified()
Checks whether or not this product can be ortorectified. |
void |
closeIO()
Closes the file I/O for this product. |
void |
closeProductReader()
Closes and clears this product's reader (if any). |
void |
closeProductWriter()
Closes and clears this product's writer (if any). |
boolean |
containsBand(String name)
Tests if a band with the given name is contained in this product. |
boolean |
containsPixel(float x,
float y)
Tests if the given pixel position is within the product pixel bounds. |
boolean |
containsPixel(PixelPos pixelPos)
Tests if the given pixel position is within the product pixel bounds. |
boolean |
containsRasterDataNode(String name)
Tests if a raster data node with the given name is contained in this product. |
boolean |
containsTiePointGrid(String name)
Tests if a tie-point grid with the given name is contained in this product. |
WritableNamespace |
createBandArithmeticDefaultNamespace()
Creates a namespace to be used by parsers for band arithmetic expressions. |
Parser |
createBandArithmeticParser()
Creates a parser for band arithmetic expressions. |
Product |
createFlippedProduct(int flipType,
String name,
String desc)
Creates flipped raster-data version of this product. |
String |
createPixelInfoString(int pixelX,
int pixelY)
Creates a string containing all available information at the given pixel position. |
Product |
createSubset(ProductSubsetDef subsetDef,
String name,
String desc)
Creates a subset of this product. |
BitRaster |
createValidMask(String expression,
com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
BitRaster |
createValidMask(Term term,
com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
void |
dispose()
Releases all of the resources used by this object instance and all of its owned children. |
protected void |
fireNodeAdded(ProductNode childNode,
ProductNodeGroup nodeGroup)
|
protected void |
fireNodeChanged(ProductNode sourceNode,
String propertyName,
Object oldValue,
Object newValue)
|
protected void |
fireNodeDataChanged(DataNode sourceNode)
|
protected void |
fireNodeRemoved(ProductNode childNode,
ProductNodeGroup nodeGroup)
|
String[] |
getAllFlagNames()
Returns the names of all flags of all flag datasets contained this product. |
Product.AutoGrouping |
getAutoGrouping()
Gets the auto-grouping applicable to product nodes contained in this product. |
Band |
getBand(String name)
Returns the band with the given name. |
Band |
getBandAt(int index)
Returns the band at the given index. |
ProductNodeGroup<Band> |
getBandGroup()
Gets the band group of this product. |
int |
getBandIndex(String name)
Returns the index for the band with the given name. |
String[] |
getBandNames()
Returns a string array containing the names of the bands contained in this product |
Band[] |
getBands()
Returns an array of bands contained in this product |
BitmaskDef |
getBitmaskDef(String name)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
String[] |
getBitmaskDefNames()
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
ProductData.UTC |
getEndTime()
Gets the (sensing) stop time associated with the last raster data line. |
File |
getFileLocation()
Retrieves the disk location of this product. |
ProductNodeGroup<FlagCoding> |
getFlagCodingGroup()
|
PlacemarkGroup |
getGcpGroup()
Gets the group of ground-control points (GCPs). |
GeoCoding |
getGeoCoding()
Returns the geo-coding used for this data product. |
ProductNodeGroup<IndexCoding> |
getIndexCodingGroup()
|
ProductNodeGroup<Mask> |
getMaskGroup()
|
MetadataElement |
getMetadataRoot()
Gets the root element of the associated metadata. |
int |
getNumBands()
|
int |
getNumTiePointGrids()
Returns the number of tie-point grids contained in this product |
PlacemarkGroup |
getPinGroup()
Gets the group of pins. |
PointingFactory |
getPointingFactory()
Gets the pointing factory associated with this data product. |
Dimension |
getPreferredTileSize()
Gets the preferred tile size which may be used for a the rendered image
created for a RasterDataNode of this product. |
ProductManager |
getProductManager()
Returns the product manager for this product. |
ProductNodeListener[] |
getProductNodeListeners()
|
ProductReader |
getProductReader()
Returns the reader which was used to create this product in-memory represention from an external source and which will be used to (re-)load band rasters. |
String |
getProductType()
Gets the product type string. |
ProductWriter |
getProductWriter()
Returns the writer which will be used to write modifications of this product's in-memory represention to an external destination. |
String |
getQuicklookBandName()
Gets the name of the band suitable for quicklook generation. |
RasterDataNode |
getRasterDataNode(String name)
Gets the raster data node with the given name. |
long |
getRawStorageSize(ProductSubsetDef subsetDef)
Gets an estimated, raw storage size in bytes of this product node. |
int |
getRefNo()
|
ProductNode[] |
getRemovedChildNodes()
|
int |
getSceneRasterHeight()
Returns the scene height in pixels for this data product. |
int |
getSceneRasterWidth()
Returns the scene width in pixels for this data product. |
ProductData.UTC |
getStartTime()
Gets the (sensing) start time associated with the first raster data line. |
TiePointGrid |
getTiePointGrid(String name)
Returns the tie-point grid with the given name. |
TiePointGrid |
getTiePointGridAt(int index)
Returns the tie-point grid at the given index. |
ProductNodeGroup<TiePointGrid> |
getTiePointGridGroup()
Gets the tie-point grid group of this product. |
String[] |
getTiePointGridNames()
Returns a string array containing the names of the tie-point grids contained in this product |
TiePointGrid[] |
getTiePointGrids()
Returns an array of tie-point grids contained in this product |
BitRaster |
getValidMask(String id)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
ProductNodeGroup<VectorDataNode> |
getVectorDataGroup()
|
protected boolean |
hasProductNodeListeners()
|
boolean |
isCompatibleBandArithmeticExpression(String expression)
Tests if the given band arithmetic expression can be computed using this product. |
boolean |
isCompatibleBandArithmeticExpression(String expression,
Parser parser)
Tests if the given band arithmetic expression can be computed using this product and a given expression parser. |
boolean |
isCompatibleProduct(Product product,
float eps)
Checks whether or not the given product is compatible with this product. |
boolean |
isUsingSingleGeoCoding()
Tests if all bands of this product are using a single, uniform geo-coding. |
Term |
parseExpression(String expression)
Parses a mathematical expression given as a text string. |
void |
readBitmask(int offsetX,
int offsetY,
int width,
int height,
Term bitmaskTerm,
boolean[] bitmask,
com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
void |
readBitmask(int offsetX,
int offsetY,
int width,
int height,
Term bitmaskTerm,
byte[] bitmask,
byte trueValue,
byte falseValue,
com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
boolean |
removeBand(Band band)
Removes the given band from this product. |
void |
removeProductNodeListener(ProductNodeListener listener)
Removes a ProductNodeListener from this product. |
boolean |
removeTiePointGrid(TiePointGrid tiePointGrid)
Removes the tie-point grid from this product. |
void |
resetRefNo()
|
void |
setAutoGrouping(Product.AutoGrouping autoGrouping)
Sets the auto-grouping applicable to product nodes contained in this product. |
void |
setAutoGrouping(String pattern)
Sets the auto-grouping applicable to product nodes contained in this product. |
void |
setEndTime(ProductData.UTC endTime)
Sets the (sensing) stop time associated with the first raster data line. |
void |
setFileLocation(File fileLocation)
Sets the file location for this product. |
void |
setGeoCoding(GeoCoding geoCoding)
Geo-codes this data product. |
void |
setModified(boolean modified)
Sets this node's modified flag. |
protected void |
setOwner(ProductNode owner)
Overwrites the ProductNode.setOwner(ProductNode) method in order to
throw an IllegalStateException,
since products currently cannot have an owner. |
void |
setPointingFactory(PointingFactory pointingFactory)
Sets the pointing factory for this data product. |
void |
setPreferredTileSize(Dimension preferredTileSize)
Sets the preferred tile size which may be used for a the rendered image
created for a RasterDataNode of this product. |
void |
setPreferredTileSize(int tileWidth,
int tileHeight)
Sets the preferred tile size which may be used for a the rendered image
created for a RasterDataNode of this product. |
void |
setProductReader(ProductReader reader)
Sets the product reader which will be used to create this product in-memory represention from an external source and which will be used to (re-)load band rasters. |
void |
setProductType(String productType)
Sets the product type of this product. |
void |
setProductWriter(ProductWriter writer)
Sets the writer which will be used to write modifications of this product's in-memory represention to an external destination. |
void |
setQuicklookBandName(String quicklookBandName)
Sets the name of the band suitable for quicklook generation. |
void |
setRefNo(int refNo)
Sets the reference number. |
void |
setStartTime(ProductData.UTC startTime)
Sets the (sensing) start time of this product. |
void |
setValidMask(String id,
BitRaster validMask)
Deprecated. since BEAM 4.7, use getMaskGroup() instead |
boolean |
transferGeoCodingTo(Product destProduct,
ProductSubsetDef subsetDef)
Transfers the geo-coding of this product instance to the destProduct with respect to
the given subsetDef. |
void |
writeHeader(Object output)
Writes the header of a data product. |
| Methods inherited from class org.esa.beam.framework.datamodel.ProductNode |
|---|
fireProductNodeChanged, fireProductNodeChanged, getDescription, getDisplayName, getName, getOwner, getProduct, getProductReaderSafe, getProductRefString, getProductSafe, getProductWriterSafe, getRawStorageSize, isModified, isPartOfSubset, isValidNodeName, removeFromFile, setDescription, setName, toString, updateExpression |
| Methods inherited from class com.bc.ceres.core.ExtensibleObject |
|---|
getExtension |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String METADATA_ROOT_NAME
public static final String HISTORY_ROOT_NAME
@Deprecated public static final String PIN_MASK_NAME
@Deprecated public static final String GCP_MASK_NAME
public static final String PROPERTY_NAME_GEOCODING
public static final String PROPERTY_NAME_PRODUCT_TYPE
public static final String GEOMETRY_FEATURE_TYPE_NAME
| Constructor Detail |
|---|
public Product(String name,
String type,
int sceneRasterWidth,
int sceneRasterHeight)
name - the product nametype - the product typesceneRasterWidth - the scene width in pixels for this data productsceneRasterHeight - the scene height in pixels for this data product
public Product(String name,
String type,
int sceneRasterWidth,
int sceneRasterHeight,
ProductReader reader)
name - the product identifiertype - the product typesceneRasterWidth - the scene width in pixels for this data productsceneRasterHeight - the scene height in pixels for this data productreader - the reader used to create this product and read data from it.ProductReader| Method Detail |
|---|
public File getFileLocation()
null when the product has no
disk location (pure virtual memory product)
nullpublic void setFileLocation(File fileLocation)
fileLocation - the file location, may be nullprotected void setOwner(ProductNode owner)
ProductNode.setOwner(ProductNode) method in order to
throw an IllegalStateException,
since products currently cannot have an owner.
setOwner in class ProductNodeowner - the new ownerpublic String getProductType()
public void setProductType(String productType)
productType - the product type.public void setProductReader(ProductReader reader)
reader - the product reader.
IllegalArgumentException - if the given reader is null.public ProductReader getProductReader()
getProductReader in class ProductNodenullpublic void setProductWriter(ProductWriter writer)
writer - the product writer, can be nullpublic ProductWriter getProductWriter()
getProductWriter in class ProductNodenull
public void writeHeader(Object output)
throws IOException
Writes the header of a data product.
output - an object representing a valid output for this writer, might be a ImageOutputStream
or a File or other Object to use for future decoding.
IllegalArgumentException - if output is null or it's type is none of the
supported output types.
IOException - if an I/O error occurs
public void closeProductReader()
throws IOException
IOException - if an I/O error occurscloseIO()
public void closeProductWriter()
throws IOException
IOException - if an I/O error occurscloseIO()
public void closeIO()
throws IOException
closeProductReader() and
closeProductWriter(). The dispose() method is not called, but
should be called if the product instance is no longer in use.
IOException - if an I/O error occurscloseProductReader(),
closeProductWriter(),
dispose()public void dispose()
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 dispose() are undefined.
Overrides of this method should always call super.dispose(); after disposing this instance.
This implementation also calls the closeIO in order to release all open I/O resources.
dispose in class ProductNodepublic PointingFactory getPointingFactory()
public void setPointingFactory(PointingFactory pointingFactory)
pointingFactory - the pointing factorypublic void setGeoCoding(GeoCoding geoCoding)
geoCoding - the geo-coding, if null geo-coding is removed
IllegalArgumentException - GeoCoding is a TiePointGeoCoding
and latGrid or lonGrid are not instances of tie point
grids in this product. GeoCoding is a
MapGeoCoding and its MapInfo is null
GeoCoding is a MapGeoCoding and the
sceneWith or sceneHeight of its MapInfo
is not equal to this products sceneRasterWidth or
sceneRasterHeightpublic GeoCoding getGeoCoding()
null if this product is not geo-coded.public boolean isUsingSingleGeoCoding()
Object.equals(Object) method.
If this product does not have a geo-coding, the method returns false.
public boolean transferGeoCodingTo(Product destProduct,
ProductSubsetDef subsetDef)
destProduct with respect to
the given subsetDef.
destProduct - the destination productsubsetDef - the definition of the subset, may be null
public int getSceneRasterWidth()
public int getSceneRasterHeight()
public ProductData.UTC getStartTime()
For Level-1/2 products this is the data-take time associated with the first raster data line. For Level-3 products, this could be the start time of first input product contributing data.
public void setStartTime(ProductData.UTC startTime)
For Level-1/2 products this is the data-take time associated with the first raster data line. For Level-3 products, this could be the start time of first input product contributing data.
startTime - the sensing start time, can be nullpublic ProductData.UTC getEndTime()
For Level-1/2 products this is the data-take time associated with the last raster data line. For Level-3 products, this could be the end time of last input product contributing data.
public void setEndTime(ProductData.UTC endTime)
For Level-1/2 products this is the data-take time associated with the last raster data line. For Level-3 products, this could be the end time of last input product contributing data.
endTime - the sensing stop time, can be nullpublic MetadataElement getMetadataRoot()
public ProductNodeGroup<Band> getBandGroup()
public ProductNodeGroup<TiePointGrid> getTiePointGridGroup()
public void addTiePointGrid(TiePointGrid tiePointGrid)
tiePointGrid - the tie-point grid to added, ignored if nullpublic boolean removeTiePointGrid(TiePointGrid tiePointGrid)
tiePointGrid - the tie-point grid to be removed, ignored if null
true if node could be removedpublic int getNumTiePointGrids()
public TiePointGrid getTiePointGridAt(int index)
index - the tie-point grid index
IndexOutOfBoundsException - if the index is out of boundspublic String[] getTiePointGridNames()
public TiePointGrid[] getTiePointGrids()
public TiePointGrid getTiePointGrid(String name)
name - the tie-point grid name
null if a tie-point grid with the given name is
not contained in this product.public boolean containsTiePointGrid(String name)
name - the name, must not be null
true if a tie-point grid with the given name is contained in this product,
false otherwisepublic void addBand(Band band)
band - the band to added, must not be null
public Band addBand(String bandName,
int dataType)
bandName - the new band's namedataType - the raster data type, must be one of the multiple ProductData.TYPE_X
constants
public Band addBand(String bandName,
String expression)
float and it's samples are computed from the given band maths expression.
bandName - the new band's nameexpression - the band maths expression
public Band addBand(String bandName,
String expression,
int dataType)
bandName - the new band's nameexpression - the band maths expressiondataType - the raster data type, must be one of the multiple ProductData.TYPE_X
constants
public boolean removeBand(Band band)
band - the band to be removed, ignored if null
true if removed succesfully, otherwise falsepublic int getNumBands()
public Band getBandAt(int index)
index - the band index
IndexOutOfBoundsException - if the index is out of boundspublic String[] getBandNames()
public Band[] getBands()
public Band getBand(String name)
name - the band name
null if a band with the given name is not contained in this
product.
IllegalArgumentException - if the given name is null or empty.public int getBandIndex(String name)
name - the band name
-1 if a band with the given name is not contained in this product.
IllegalArgumentException - if the given name is null or empty.public boolean containsBand(String name)
name - the name, must not be null
true if a band with the given name is contained in this product, false
otherwise
IllegalArgumentException - if the given name is null or empty.public boolean containsRasterDataNode(String name)
name - the name, must not be null
true if a raster data node with the given name is contained in this product,
false otherwisepublic RasterDataNode getRasterDataNode(String name)
null is returned.
name - the name, must not be null
null if a raster data node with the given name
is not contained in this product.public ProductNodeGroup<Mask> getMaskGroup()
public ProductNodeGroup<VectorDataNode> getVectorDataGroup()
public ProductNodeGroup<FlagCoding> getFlagCodingGroup()
public ProductNodeGroup<IndexCoding> getIndexCodingGroup()
public boolean containsPixel(float x,
float y)
x - the x coordinate of the pixel positiony - the y coordinate of the pixel position
containsPixel(PixelPos)public boolean containsPixel(PixelPos pixelPos)
pixelPos - the pixel position, must not be null
containsPixel(float, float)public PlacemarkGroup getGcpGroup()
public PlacemarkGroup getPinGroup()
public boolean isCompatibleProduct(Product product,
float eps)
product - the product to compare witheps - the maximum lat/lon error in degree
false if the scene dimensions or geocoding are different, true otherwise.
public Term parseExpression(String expression)
throws ParseException
expression - a expression given as a text string, e.g. "radiance_4 / (1.0 + radiance_11)".
ParseException - if the expression could not successfully be parsedpublic void acceptVisitor(ProductVisitor visitor)
The method subsequentially visits (calls acceptVisitor for) all bands, tie-point grids and flag
codings. Finally it visits product metadata root element and calls visitor.visit(this).
acceptVisitor in class ProductNodevisitor - the visitor, must not be nullpublic boolean addProductNodeListener(ProductNodeListener listener)
ProductNodeListener to this product. The ProductNodeListener is informed each
time a node in this product changes.
listener - the listener to be added
public void removeProductNodeListener(ProductNodeListener listener)
ProductNodeListener from this product.
listener - the listener to be removed.public ProductNodeListener[] getProductNodeListeners()
protected boolean hasProductNodeListeners()
protected void fireNodeChanged(ProductNode sourceNode,
String propertyName,
Object oldValue,
Object newValue)
protected void fireNodeDataChanged(DataNode sourceNode)
protected void fireNodeAdded(ProductNode childNode,
ProductNodeGroup nodeGroup)
protected void fireNodeRemoved(ProductNode childNode,
ProductNodeGroup nodeGroup)
public int getRefNo()
public void setRefNo(int refNo)
refNo - the reference number to set must be in the range 1 .. Integer.MAX_VALUE
IllegalArgumentException - if the refNo is out of range
IllegalStateExceptionpublic void resetRefNo()
public ProductManager getProductManager()
nullpublic boolean isCompatibleBandArithmeticExpression(String expression)
expression - the mathematical expression
isCompatibleBandArithmeticExpression(String, com.bc.jexp.Parser)
public boolean isCompatibleBandArithmeticExpression(String expression,
Parser parser)
expression - the band arithmetic expressionparser - the expression parser to be used
createBandArithmeticParser()public Parser createBandArithmeticParser()
public WritableNamespace createBandArithmeticDefaultNamespace()
public Product createSubset(ProductSubsetDef subsetDef,
String name,
String desc)
throws IOException
subsetDef - the product subset definitionname - the name for the new productdesc - the description for the new product
null if the product/subset combination is not valid
IOException - if an I/O error occurs
public Product createFlippedProduct(int flipType,
String name,
String desc)
throws IOException
flipType - the flip type, see ProductFlippername - the name for the new productdesc - the description for the new product
null if the product/subset combination is not valid
IOException - if an I/O error occurspublic void setModified(boolean modified)
ProductNode
setModified in class ProductNodemodified - whether or not this node is beeing marked as modified.fireNodeChanged(org.esa.beam.framework.datamodel.ProductNode, java.lang.String, java.lang.Object, java.lang.Object)public long getRawStorageSize(ProductSubsetDef subsetDef)
getRawStorageSize in class ProductNodesubsetDef - if not null the subset may limit the size returned
public String getQuicklookBandName()
public void setQuicklookBandName(String quicklookBandName)
quicklookBandName - the name of the quicklook band, or null
public String createPixelInfoString(int pixelX,
int pixelY)
pixelX - the pixel X co-ordinatepixelY - the pixel Y co-ordinate
public ProductNode[] getRemovedChildNodes()
public boolean canBeOrthorectified()
RasterDataNode.canBeOrthorectified() returns true for all bands, false otherwisepublic Dimension getPreferredTileSize()
rendered image
created for a RasterDataNode of this product.
null if not specified- See Also:
RasterDataNode.getSourceImage(),
setSourceImage (java.awt.image.RenderedImage)
public void setPreferredTileSize(int tileWidth,
int tileHeight)
rendered image
created for a RasterDataNode of this product.
tileWidth - the preferred tile widthtileHeight - the preferred tile heightsetPreferredTileSize(java.awt.Dimension)public void setPreferredTileSize(Dimension preferredTileSize)
rendered image
created for a RasterDataNode of this product.
preferredTileSize - the preferred tile size, may be null if not specified- See Also:
RasterDataNode.getSourceImage(),
setSourceImage (java.awt.image.RenderedImage)public String[] getAllFlagNames()
A flag name contains the dataset (a band of this product) and the actual flag name as defined in the
flag-coding associated with the dataset. The general format for the flag name strings returned is therefore
"dataset.flag_name".
The method is used to find out which flags a product has in order to use them in bit-mask expressions.
null.parseExpression(String)public Product.AutoGrouping getAutoGrouping()
null.public void setAutoGrouping(Product.AutoGrouping autoGrouping)
autoGrouping - The auto-grouping or null.public void setAutoGrouping(String pattern)
pattern parameter is a textual representation of the auto-grouping.
The syntax for the pattern is:
pattern := <groupPath> {':' <groupPath>} | "" (empty string)
groupPath := <groupName> {'/' <groupName>}
groupName := any non-empty string without characters ':' and '/'
An example for pattern applicable to Envisat AATSR data is
nadir/reflec:nadir/btemp:fward/reflec:fward/btemp:nadir:fward
pattern - The auto-grouping pattern.
public Mask addMask(String maskName,
Mask.ImageType imageType)
maskName - the new mask's nameimageType - the image data type used to compute the mask samples
public Mask addMask(String maskName,
String expression,
String description,
Color color,
double transparency)
maskName - the new mask's nameexpression - the band arithmetic expressiondescription - the mask's descriptioncolor - the display colortransparency - the display transparency
public Mask addMask(String maskName,
VectorDataNode vectorDataNode,
String description,
Color color,
double transparency)
maskName - the new mask's namevectorDataNode - the vector data nodedescription - the mask's descriptioncolor - the display colortransparency - the display transparency
@Deprecated public void addBitmaskDef(BitmaskDef bitmaskDef)
getMaskGroup() instead
bitmaskDef - the bitmask definition to added, ignored if null@Deprecated public String[] getBitmaskDefNames()
getMaskGroup() instead
@Deprecated public BitmaskDef getBitmaskDef(String name)
getMaskGroup() instead
name - the bitmask definition name
null if a bitmask definition with the given
name is not contained in this product.@Deprecated public BitRaster getValidMask(String id)
getMaskGroup() instead
id - the ID
createValidMask(String, com.bc.ceres.core.ProgressMonitor)
@Deprecated
public void setValidMask(String id,
BitRaster validMask)
getMaskGroup() instead
id - the IDvalidMask - the pixel maskcreateValidMask(String, com.bc.ceres.core.ProgressMonitor)
@Deprecated
public BitRaster createValidMask(String expression,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
getMaskGroup() instead
true
the related bit in the mask is set.
expression - the boolean expression, e.g. "l2_flags.LAND && reflec_10 >= 0.0"pm - a progress monitor
IOException - if an I/O error occursparseExpression(String)
@Deprecated
public BitRaster createValidMask(Term term,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
getMaskGroup() instead
true
the related bit in the mask is set.
term - the boolean term, e.g. "l2_flags.LAND && reflec_10 >= 0.0"pm - a progress monitor
IOException - if an I/O error occurscreateValidMask(String, com.bc.ceres.core.ProgressMonitor)
@Deprecated
public void readBitmask(int offsetX,
int offsetY,
int width,
int height,
Term bitmaskTerm,
boolean[] bitmask,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
getMaskGroup() instead
The method first creates an evaluation context for the given bit-mask term and the specified region and then
evaluates the term for each pixel in the subset (line-by-line, X varies fastest). The result of each evaluation -
the resulting bitmask - is stored in the given boolean array buffer bitmask in the same order as
pixels appear in the given region. The buffer must at least have a length equal to width * height
elements.
If flag providing datasets are referenced in the given bit-mask expression which are currently not completely loaded, the method reloads the spatial subset from the data source in order to create the evaluation context.
The parseExpression(String) method can be used to create a bit-mask
term from a textual bit-mask expression.
offsetX - the X-offset of the spatial subset in pixel co-ordinatesoffsetY - the Y-offset of the spatial subset in pixel co-ordinateswidth - the width of the spatial subset in pixel co-ordinatesheight - the height of the spatial subset in pixel co-ordinatesbitmaskTerm - a bit-mask term, as returned by the parseExpression(String) methodbitmask - a buffer used to hold the results of the bit-mask evaluations for each pixel in the given
spatial subsetpm - a monitor to inform the user about progress
IOException - if an I/O error occurs, when referenced flag datasets are reloadedparseExpression(String)
@Deprecated
public void readBitmask(int offsetX,
int offsetY,
int width,
int height,
Term bitmaskTerm,
byte[] bitmask,
byte trueValue,
byte falseValue,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
getMaskGroup() instead
The method first creates an evaluation context for the given bit-mask term and the specified region and then
evaluates the term for each pixel in the subset (line-by-line, X varies fastest). The result of each evaluation -
the resulting bitmask - is stored in the given boolean array buffer bitmask in the same order as
pixels appear in the given region. The buffer must at least have a length equal to width * height
elements.
If flag providing datasets are referenced in the given bit-mask expression which are currently not completely loaded, the method reloads the spatial subset from the data source in order to create the evaluation context.
The parseExpression(String) method can be used to create a bit-mask
term from a textual bit-mask expression.
offsetX - the X-offset of the spatial subset in pixel co-ordinatesoffsetY - the Y-offset of the spatial subset in pixel co-ordinateswidth - the width of the spatial subset in pixel co-ordinatesheight - the height of the spatial subset in pixel co-ordinatesbitmaskTerm - a bit-mask term, as returned by the parseExpression(String)
methodbitmask - a byte buffer used to hold the results of the bit-mask evaluations for each pixel in the given
spatial subsettrueValue - the byte value to be set if the bitmask-term evauates to truefalseValue - the byte value to be set if the bitmask-term evauates to false
IOException - if an I/O error occurs, when referenced flag datasets are reloadedparseExpression(String)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||