Package com.bc.ceres.multilevel.support
Class DefaultMultiLevelSource
java.lang.Object
com.bc.ceres.multilevel.support.AbstractMultiLevelSource
com.bc.ceres.multilevel.support.DefaultMultiLevelSource
- All Implemented Interfaces:
MultiLevelSource
A default implementation for the
MultiLevelSource
interface.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final javax.media.jai.Interpolation
Default interpolation is "Nearest Neighbour".static final MultiLevelSource
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultMultiLevelSource
(RenderedImage sourceImage, int levelCount) Constructs a new instance withDEFAULT_INTERPOLATION
.DefaultMultiLevelSource
(RenderedImage sourceImage, int levelCount, javax.media.jai.Interpolation interpolation) Constructs a new instance.DefaultMultiLevelSource
(RenderedImage sourceImage, MultiLevelModel multiLevelModel) Constructs a new instance withDEFAULT_INTERPOLATION
.DefaultMultiLevelSource
(RenderedImage sourceImage, MultiLevelModel multiLevelModel, javax.media.jai.Interpolation interpolation) Constructs a new instance withDEFAULT_INTERPOLATION
. -
Method Summary
Modifier and TypeMethodDescriptionstatic MultiLevelModel
createDefaultMultiLevelModel
(RenderedImage sourceImage, int levelCount) protected RenderedImage
createImage
(int level) Creates a scaled version of the level-0 image for the given level.getImage
(int level) Returns the level-0 image iflevel
equals zero, otherwise callssuper.getLevelImage(level)
.javax.media.jai.Interpolation
static Rectangle
getLevelImageBounds
(Rectangle sourceBounds, double scale) Computes the boundaries of an image at a given resolution scaling from the given source image boundaries (at level zero).void
reset()
Removes all cached level images and also disposes anyPlanarImage
s among them.Methods inherited from class com.bc.ceres.multilevel.support.AbstractMultiLevelSource
checkLevel, getImageShape, getModel
-
Field Details
-
DEFAULT_INTERPOLATION
public static final javax.media.jai.Interpolation DEFAULT_INTERPOLATIONDefault interpolation is "Nearest Neighbour". -
NULL
-
-
Constructor Details
-
DefaultMultiLevelSource
Constructs a new instance withDEFAULT_INTERPOLATION
.- Parameters:
sourceImage
- The source image.levelCount
- The level count.
-
DefaultMultiLevelSource
public DefaultMultiLevelSource(RenderedImage sourceImage, int levelCount, javax.media.jai.Interpolation interpolation) Constructs a new instance.- Parameters:
sourceImage
- The source image.levelCount
- The level count.interpolation
- The interpolation.
-
DefaultMultiLevelSource
Constructs a new instance withDEFAULT_INTERPOLATION
.- Parameters:
sourceImage
- The source image.multiLevelModel
- The multi level model.
-
DefaultMultiLevelSource
public DefaultMultiLevelSource(RenderedImage sourceImage, MultiLevelModel multiLevelModel, javax.media.jai.Interpolation interpolation) Constructs a new instance withDEFAULT_INTERPOLATION
.- Parameters:
sourceImage
- The source image.multiLevelModel
- The multi level model.interpolation
- The interpolation.
-
-
Method Details
-
getSourceImage
-
getInterpolation
public javax.media.jai.Interpolation getInterpolation() -
getImage
Returns the level-0 image iflevel
equals zero, otherwise callssuper.getLevelImage(level)
. This override prevents the base class from storing a reference to the source image (the level-0 image). SeeAbstractMultiLevelSource.createImage(int)
.- Specified by:
getImage
in interfaceMultiLevelSource
- Overrides:
getImage
in classAbstractMultiLevelSource
- Parameters:
level
- The level.- Returns:
- The image.
-
createImage
Creates a scaled version of the level-0 image for the given level. SeegetImage(int)
andsuper.createImage(int)
.- Specified by:
createImage
in classAbstractMultiLevelSource
- Parameters:
level
- The level.- Returns:
- The image.
-
reset
public void reset()Description copied from class:AbstractMultiLevelSource
Removes all cached level images and also disposes anyPlanarImage
s among them.Overrides should always call
super.reset()
.- Specified by:
reset
in interfaceMultiLevelSource
- Overrides:
reset
in classAbstractMultiLevelSource
-
createDefaultMultiLevelModel
public static MultiLevelModel createDefaultMultiLevelModel(RenderedImage sourceImage, int levelCount) -
getLevelImageBounds
Computes the boundaries of an image at a given resolution scaling from the given source image boundaries (at level zero).- Parameters:
sourceBounds
- The image boundaries of the level zero image.scale
- The scale at a given level as returned byMultiLevelModel.getScale(int)
.- Returns:
- The level image boundaries in pixel coordinates.
- Since:
- BEAM 5
-