Class MorphologyRable8Bit

java.lang.Object
org.apache.batik.ext.awt.image.renderable.AbstractRable
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.
  • Constructor Details

    • MorphologyRable8Bit

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

    • 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.