Package com.luciad.imaging
Class ALcdImage
java.lang.Object
com.luciad.imaging.ALcdImage
- All Implemented Interfaces:
ILcdBounded
- Direct Known Subclasses:
ALcdBasicImage
,ALcdImageMosaic
,ALcdMultilevelImage
,ALcdMultilevelImageMosaic
Represents a geographically bounded pixel-oriented data source.
Each image contains a ALcdImage.Configuration object
which describes the properties and structure of the image's data.
This class cannot be implemented by the user. Instead,
TLcdImageBuilder provides builder methods to
create images. Note that this is typically only required when implementing a
custom ILcdModelDecoder for an image data format.
The existing decoders in the LuciadLightspeed API already produce models of which the
elements extend from
ALcdImage
.
The subclasses of ALcdImage
introduce additional semantics and structure.
ALcdBasicImage describes a uniform two-dimensional
pixel grid and is used as the basic building block
for modeling pixel data. A number of concepts are layered on top of
ALcdBasicImage
:
- ALcdMultilevelImage defines a stack of
ALcdBasicImage
objects which can represent, for instance, multiple levels of detail of the same data. - ALcdImageMosaic defines a mosaic in which
each tile is an
ALcdBasicImage
. - ALcdMultilevelImageMosaic defines a stack of mosaics, in which each level can represent, for instance, a different level of detail of the same data.
You can get access to the underlying image data via ALcdImagingEngine
for ALcdBasicImage
.
You can perform image processing operations on an image by constructing an ALcdImageOperator and applying it to the image.
ALcdImage's are immutable. To model changing data you must use a has-an-image approach (seefromDomainObject(java.lang.Object)
). As a result one should never check if an Object
is an ALcdImage
using
instanceof
, but use the fromDomainObject
method instead and perform a null
-check on
the result.- Since:
- 2014.0
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final TLcdDataType
Data type for images, used by ALcdImageOperator to represent input images. -
Constructor Summary
ModifierConstructorDescriptionprotected
This class is not intended to be implemented by users. -
Method Summary
Modifier and TypeMethodDescriptionConverts this image to anALcdMultilevelImageMosaic
, which is the most general image representation.static ALcdImage
fromDomainObject
(Object aObject) Returns an image for the given object.Returns the bounds of the image.abstract ALcdImage.Configuration
Returns an image configuration object describing the properties of this image's data.
-
Field Details
-
IMAGE_DATA_TYPE
Data type for images, used by ALcdImageOperator to represent input images.
-
-
Constructor Details
-
ALcdImage
protected ALcdImage()This class is not intended to be implemented by users.
-
-
Method Details
-
fromDomainObject
Returns an image for the given object. The given object is usually a domain object, i.e. an object retrieved from the model. It returns an image in the following cases:
- The given
Object
is anALcdImage
. - The
Object
is anILcdDataObject
whose type contains aTLcdHasGeometryAnnotation
with anALcdImage
property.
In other cases, this method returns
null
.One should never check if an
Object
is an image usinginstanceof
, but use this method instead and perform anull
-check on the result.Note that this method does not adapt or convert the given object to an
ALcdImage
. It only tries to retrieve an image from it for the above cases.- Parameters:
aObject
- an object, usually the domain object in a model.- Returns:
- the image associated with the given object or
null
.
- The given
-
getConfiguration
Returns an image configuration object describing the properties of this image's data.- Returns:
- the configuration
-
getBounds
Returns the bounds of the image. This method returns the same bounds that are also available in the image's configuration.- Specified by:
getBounds
in interfaceILcdBounded
- Returns:
- the image's bounds
-
asMultilevelMosaic
Converts this image to anALcdMultilevelImageMosaic
, which is the most general image representation. This can be useful for applications which prefer not to deal with the different possible image representations.- Returns:
- a multilevel image mosaic equivalent to this image
-