org.apache.batik.ext.awt.image.renderable
Class MorphologyRable8Bit

java.lang.Object
  extended by org.apache.batik.ext.awt.image.renderable.AbstractRable
      extended by org.apache.batik.ext.awt.image.renderable.MorphologyRable8Bit
All Implemented Interfaces:
RenderableImage, Filter, MorphologyRable

public class MorphologyRable8Bit
extends AbstractRable
implements MorphologyRable

Implements a Morphology operation, where the kernel size is defined by radius along the x and y axis.


Field Summary
 
Fields inherited from class org.apache.batik.ext.awt.image.renderable.AbstractRable
props, srcs, stamp
 
Fields inherited from interface java.awt.image.renderable.RenderableImage
HINTS_OBSERVED
 
Constructor Summary
MorphologyRable8Bit(Filter src, double radiusX, double radiusY, boolean doDilation)
           
 
Method Summary
 RenderedImage createRendering(RenderContext rc)
           
 Rectangle2D getBounds2D()
          Pass-through: returns the source's bounds
 Shape getDependencyRegion(int srcIndex, Rectangle2D outputRgn)
          Returns the region of input data is is required to generate outputRgn.
 Shape getDirtyRegion(int srcIndex, Rectangle2D inputRgn)
          This calculates the region of output that is affected by a change in a region of input.
 boolean getDoDilation()
          Returns whether the operation is "dilation" or not("erosion")
 double getRadiusX()
          Returns the radius along the x-axis, in user space.
 double getRadiusY()
          Returns the radius along the y-axis, in user space.
 Filter getSource()
          Returns the source to be offset.
 void setDoDilation(boolean doDilation)
          The switch that determines if the operation is to "dilate" or "erode".
 void setRadiusX(double radiusX)
          The radius along the x axis, in user space.
 void setRadiusY(double radiusY)
          The radius along the y axis, in user space.
 void setSource(Filter src)
          Sets the source to be offset.
 
Methods inherited from class org.apache.batik.ext.awt.image.renderable.AbstractRable
createDefaultRendering, createScaledRendering, getHeight, getMinX, getMinY, getProperty, getPropertyNames, getSources, getTimeStamp, getWidth, init, init, init, init, isDynamic, touch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.batik.ext.awt.image.renderable.Filter
getTimeStamp
 
Methods inherited from interface java.awt.image.renderable.RenderableImage
createDefaultRendering, createScaledRendering, getHeight, getMinX, getMinY, getProperty, getPropertyNames, getSources, getWidth, isDynamic
 

Constructor Detail

MorphologyRable8Bit

public MorphologyRable8Bit(Filter src,
                           double radiusX,
                           double radiusY,
                           boolean doDilation)
Method Detail

getSource

public Filter getSource()
Returns the source to be offset.

Specified by:
getSource in interface MorphologyRable

setSource

public void setSource(Filter src)
Sets the source to be offset.

Specified by:
setSource in interface MorphologyRable
Parameters:
src - image to offset.

getBounds2D

public Rectangle2D getBounds2D()
Pass-through: returns the source's bounds

Specified by:
getBounds2D in interface Filter
Overrides:
getBounds2D in class AbstractRable

setRadiusX

public void setRadiusX(double radiusX)
The radius along the x axis, in user space.

Specified by:
setRadiusX in interface MorphologyRable
Parameters:
radiusX - should be greater than zero.

setRadiusY

public void setRadiusY(double radiusY)
The radius along the y axis, in user space.

Specified by:
setRadiusY in interface MorphologyRable
Parameters:
radiusY - should be greater than zero.

setDoDilation

public void setDoDilation(boolean doDilation)
The switch that determines if the operation is to "dilate" or "erode".

Specified by:
setDoDilation in interface MorphologyRable
Parameters:
doDilation - do "dilation" when true and "erosion" when false

getDoDilation

public boolean getDoDilation()
Returns whether the operation is "dilation" or not("erosion")

Specified by:
getDoDilation in interface MorphologyRable

getRadiusX

public double getRadiusX()
Returns the radius along the x-axis, in user space.

Specified by:
getRadiusX in interface MorphologyRable

getRadiusY

public double getRadiusY()
Returns the radius along the y-axis, in user space.

Specified by:
getRadiusY in interface MorphologyRable

createRendering

public RenderedImage createRendering(RenderContext rc)
Specified by:
createRendering in interface RenderableImage

getDependencyRegion

public Shape getDependencyRegion(int srcIndex,
                                 Rectangle2D outputRgn)
Returns the region of input data is is required to generate outputRgn.

Specified by:
getDependencyRegion in interface Filter
Overrides:
getDependencyRegion in class AbstractRable
Parameters:
srcIndex - The source to do the dependency calculation for.
outputRgn - The region of output you are interested in generating dependencies for. The is given in the user coordiate system for this node.
Returns:
The region of input required. This is in the user coordinate system for the source indicated by srcIndex.

getDirtyRegion

public Shape getDirtyRegion(int srcIndex,
                            Rectangle2D inputRgn)
This calculates the region of output that is affected by a change in a region of input.

Specified by:
getDirtyRegion in interface Filter
Overrides:
getDirtyRegion in class AbstractRable
Parameters:
srcIndex - The input that inputRgn reflects changes in.
inputRgn - the region of input that has changed, used to calculate the returned shape. This is given in the user coordinate system of the source indicated by srcIndex.
Returns:
The region of output that would be invalid given a change to inputRgn of the source selected by srcIndex. this is in the user coordinate system of this node.


Copyright © 2008 Apache Software Foundation. All Rights Reserved.