public class BandMergeDescriptor
extends OperationDescriptorImpl
OperationDescriptor
describing the "BandMerge" operation.
The BandMerge operation takes two or more rendered or renderable images, and performs the merging of all the image bands inside a singular multibanded image. Each source image should be non-null. The number of bands of the destination image is the sum of those of all source images.
All the bands of source images are ordered in the order given in a ParameterBlock. If image1 has three bands and image2 has one band, the merged
image has 4 bands. Three grayscale images can be used to merge into an RGB image in this way.
The destination image bound is the intersection of the source image bounds. If the sources don't intersect, the destination will have a width and
height of 0.
If No Data values are present, then the user can define an array of Range
objects(each one for an image) for the No Data and a double value
called "destination" no data which will be set instead of the old No data value. If the array length is smaller than that of the input images, then
the first Range object is taken.
If the user wants to do a backward mapping from the destination pixels to each source image pixel, then he must add a parameter called "transformations".
This parameter is a List of the transformations to perform on each image. Note that the list size must be equal to that of the sources, because each
transformation must be related to only one image. The user should remember that these transformations have to map from the destination image to the source
image and not the opposite.
Name | Value |
---|---|
GlobalName | BandMerge |
LocalName | BandMerge |
Vendor | it.geosolutions.jaiext |
Description | Operation used for merging multiple images into a single multibanded image. |
DocURL | Not Defined |
Version | 1.0 | arg0Desc | NoData values. | arg1Desc | Destination No Data value. | arg2Desc | Transformations List. | arg3Desc | ROI object to use. |
Name | Class Type | Default Value |
---|---|---|
noData | Range[] | null |
destinationNoData | Double | 0 |
transformations | java.util.List | null |
roi | javax.media.jai.ROI | null |
OperationDescriptor
,
Serialized FormConstructor and Description |
---|
BandMergeDescriptor()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static RenderedOp |
create(Range[] noData,
double destinationNoData,
boolean setAlpha,
RenderingHints hints,
List<AffineTransform> transform,
RenderedImage... sources)
Merge (possibly multi-banded)images into a multibanded image.
|
static RenderedOp |
create(Range[] noData,
double destinationNoData,
boolean setAlpha,
RenderingHints hints,
List<AffineTransform> transform,
ROI roi,
RenderedImage... sources)
Merge (possibly multi-banded)images into a multibanded image.
|
static RenderedOp |
create(Range[] noData,
double destinationNoData,
boolean setAlpha,
RenderingHints hints,
RenderedImage... sources)
Merge (possibly multi-banded)images into a multibanded image.
|
static RenderableOp |
createRenderable(Range[] noData,
double destinationNoData,
RenderingHints hints,
List<AffineTransform> transform,
RenderableImage... sources)
Merge (possibly multi-banded)images into a multibanded image.
|
static RenderableOp |
createRenderable(Range[] noData,
double destinationNoData,
RenderingHints hints,
List<AffineTransform> transform,
ROI roi,
RenderableImage... sources)
Merge (possibly multi-banded)images into a multibanded image.
|
static RenderableOp |
createRenderable(Range[] noData,
double destinationNoData,
RenderingHints hints,
RenderableImage... sources)
Merge (possibly multi-banded)images into a multibanded image.
|
boolean |
isRenderableSupported()
Returns
true since renderable operation is supported. |
arePropertiesSupported, getDefaultSourceClass, getDestClass, getDestClass, getInvalidRegion, getName, getNumParameters, getNumSources, getParamClasses, getParamDefaults, getParamDefaultValue, getParameterListDescriptor, getParamMaxValue, getParamMinValue, getParamNames, getPropertyGenerators, getPropertyGenerators, getRenderableDestClass, getRenderableSourceClasses, getResourceBundle, getResources, getSourceClasses, getSourceClasses, getSourceNames, getSupportedModes, isImmediate, isModeSupported, isRenderedSupported, makeDefaultSourceClassList, validateArguments, validateArguments, validateParameters, validateParameters, validateRenderableArguments, validateRenderableSources, validateSources, validateSources
public boolean isRenderableSupported()
true
since renderable operation is supported.isRenderableSupported
in interface OperationDescriptor
isRenderableSupported
in class OperationDescriptorImpl
public static RenderedOp create(Range[] noData, double destinationNoData, boolean setAlpha, RenderingHints hints, RenderedImage... sources)
Creates a ParameterBlockJAI
from all supplied arguments except hints
and invokes
JAI.create(String,ParameterBlock,RenderingHints)
.
noData
- Array of input No Data Ranges.destinationNoData
- value used by the RenderedOp for setting the output no data value.setAlpha
- boolean used for setting the last band as alpha bandhints
- The RenderingHints
to use. May be null
.sources
- Array of source RenderedImage
.RenderedOp
destination.IllegalArgumentException
- if sources
is null
.IllegalArgumentException
- if a source
is null
.JAI
,
ParameterBlockJAI
,
RenderedOp
public static RenderedOp create(Range[] noData, double destinationNoData, boolean setAlpha, RenderingHints hints, List<AffineTransform> transform, RenderedImage... sources)
Creates a ParameterBlockJAI
from all supplied arguments except hints
and invokes
JAI.create(String,ParameterBlock,RenderingHints)
.
noData
- Array of input No Data Ranges.destinationNoData
- value used by the RenderedOp for setting the output no data value.setAlpha
- boolean used for setting the last band as alpha bandhints
- The RenderingHints
to use. May be null
.transform
- A List of AffineTransformation to use for backward mapping each source image. May be null
.sources
- Array of source RenderedImage
.RenderedOp
destination.IllegalArgumentException
- if sources
is null
.IllegalArgumentException
- if a source
is null
.JAI
,
ParameterBlockJAI
,
RenderedOp
public static RenderedOp create(Range[] noData, double destinationNoData, boolean setAlpha, RenderingHints hints, List<AffineTransform> transform, ROI roi, RenderedImage... sources)
Creates a ParameterBlockJAI
from all supplied arguments except hints
and invokes
JAI.create(String,ParameterBlock,RenderingHints)
.
noData
- Array of input No Data Ranges.destinationNoData
- value used by the RenderedOp for setting the output no data value.hints
- The RenderingHints
to use. May be null
.transform
- A List of AffineTransformation to use for backward mapping each source image. May be null
.roi
- Input ROI object to use in the bandmerge operation.sources
- Array of source RenderedImage
.RenderedOp
destination.IllegalArgumentException
- if sources
is null
.IllegalArgumentException
- if a source
is null
.JAI
,
ParameterBlockJAI
,
RenderedOp
public static RenderableOp createRenderable(Range[] noData, double destinationNoData, RenderingHints hints, RenderableImage... sources)
Creates a ParameterBlockJAI
from all supplied arguments except hints
and invokes
JAI.createRenderable(String,ParameterBlock,RenderingHints)
.
noData
- Array of input No Data Ranges.destinationNoData
- value used by the RenderableOp for setting the output no data value.hints
- The RenderingHints
to use. May be null
.sources
- Array of source RenderableImage
.RenderableOp
destination.IllegalArgumentException
- if sources
is null
.IllegalArgumentException
- if a source
is null
.JAI
,
ParameterBlockJAI
,
RenderedOp
public static RenderableOp createRenderable(Range[] noData, double destinationNoData, RenderingHints hints, List<AffineTransform> transform, RenderableImage... sources)
Creates a ParameterBlockJAI
from all supplied arguments except hints
and invokes
JAI.createRenderable(String,ParameterBlock,RenderingHints)
.
noData
- Array of input No Data Ranges.destinationNoData
- value used by the RenderableOp for setting the output no data value.hints
- The RenderingHints
to use. May be null
.transform
- A List of AffineTransformation to use for backward mapping each source image. May be null
.sources
- Array of source RenderableImage
.RenderableOp
destination.IllegalArgumentException
- if sources
is null
.IllegalArgumentException
- if a source
is null
.JAI
,
ParameterBlockJAI
,
RenderedOp
public static RenderableOp createRenderable(Range[] noData, double destinationNoData, RenderingHints hints, List<AffineTransform> transform, ROI roi, RenderableImage... sources)
Creates a ParameterBlockJAI
from all supplied arguments except hints
and invokes
JAI.createRenderable(String,ParameterBlock,RenderingHints)
.
noData
- Array of input No Data Ranges.destinationNoData
- value used by the RenderableOp for setting the output no data value.hints
- The RenderingHints
to use. May be null
.transform
- A List of AffineTransformation to use for backward mapping each source image. May be null
.roi
- Input ROI object to use in the bandmerge operation.sources
- Array of source RenderableImage
.RenderableOp
destination.IllegalArgumentException
- if sources
is null
.IllegalArgumentException
- if a source
is null
.JAI
,
ParameterBlockJAI
,
RenderedOp
Copyright © 2006–2018 GeoSolutions. All rights reserved.