Class MorphologyRable8Bit

  • All Implemented Interfaces:
    java.awt.image.renderable.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.
    Version:
    $Id: MorphologyRable8Bit.java 1733416 2016-03-03 07:07:13Z gadams $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean doDilation
      Controls whether this filter does dilation (as opposed to erosion)
      private double radiusX
      Morphology radius
      private double radiusY
      Morphology radius
      • Fields inherited from interface java.awt.image.renderable.RenderableImage

        HINTS_OBSERVED
    • Constructor Summary

      Constructors 
      Constructor Description
      MorphologyRable8Bit​(Filter src, double radiusX, double radiusY, boolean doDilation)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.image.RenderedImage createRendering​(java.awt.image.renderable.RenderContext rc)  
      java.awt.geom.Rectangle2D getBounds2D()
      Pass-through: returns the source's bounds
      java.awt.Shape getDependencyRegion​(int srcIndex, java.awt.geom.Rectangle2D outputRgn)
      Returns the region of input data is is required to generate outputRgn.
      java.awt.Shape getDirtyRegion​(int srcIndex, java.awt.geom.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 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
    • Field Detail

      • radiusX

        private double radiusX
        Morphology radius
      • radiusY

        private double radiusY
        Morphology radius
      • doDilation

        private boolean doDilation
        Controls whether this filter does dilation (as opposed to erosion)
    • Constructor Detail

      • MorphologyRable8Bit

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

      • setSource

        public void setSource​(Filter src)
        Sets the source to be offset.
        Specified by:
        setSource in interface MorphologyRable
        Parameters:
        src - image to offset.
      • 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 java.awt.image.RenderedImage createRendering​(java.awt.image.renderable.RenderContext rc)
        Specified by:
        createRendering in interface java.awt.image.renderable.RenderableImage
      • getDependencyRegion

        public java.awt.Shape getDependencyRegion​(int srcIndex,
                                                  java.awt.geom.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 java.awt.Shape getDirtyRegion​(int srcIndex,
                                             java.awt.geom.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.