Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

iiuf.jai
Class CCOpImage  view CCOpImage download CCOpImage.java

java.lang.Object
  extended byStatisticsOpImage
      extended byiiuf.jai.CCOpImage

public class CCOpImage
extends StatisticsOpImage

(c) 1999, IIUF

This is the implementation of the Connected Components extraction algorithm for the Java Advanced Imaging API. This operator does only work with binary images satisfying certain criteria.

Version:
$Revision: 1.1 $

Nested Class Summary
private  class CCOpImage.HRectangle
          Inner class representing a sort of "hierarchical rectangles" where every rectangle has a parent.
 
Field Summary
(package private)  java.util.List cc4cache
           
(package private)  java.util.List cc8cache
          8-neighbors connected components
protected  java.awt.image.RenderedImage image
          The candidate image
private  int[] lastScanline
           
protected  DirectRasterAccessor raster
          An object for accessing the image
protected  java.awt.Rectangle sampleRectangle
          A sample rectangle which is cloned for returning the results
private  int[] scanline
           
private static java.lang.String[] statisticsNames
          Name of the two available operations provided by this operator
private  java.util.List zones
           
 
Constructor Summary
CCOpImage(java.awt.image.RenderedImage source, java.awt.Rectangle sample)
          Constructs a CCOpImage object
 
Method Summary
 void accumulateStatistics(java.lang.String name, java.awt.image.Raster source, java.lang.Object stats)
          Not supported
(package private)  java.util.List CC4()
           
(package private)  java.util.List CC8()
           
 java.lang.Object createStatistics(java.lang.String name)
          Apply one of the two operations
private  void fusionZones(int i, int j)
          Fusion the two zones i and j
private  int getLastZone(int x)
           
 java.lang.String[] getStatisticsNames()
          Returns the names of the two operations
private  int getZone(int x)
          Gets the number of the zone which contains the pixel at (x,currentLine)
(package private)  java.util.List makePoints(java.util.List zones)
           
(package private)  java.util.List makeRectangles(java.util.List zones)
          4-neighbors connected components (rectangles)
private  void newZone(int x, int y)
          Creates a new zone containing the pixel at (x, y)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sampleRectangle

protected java.awt.Rectangle sampleRectangle
A sample rectangle which is cloned for returning the results


image

protected java.awt.image.RenderedImage image
The candidate image


raster

protected DirectRasterAccessor raster
An object for accessing the image


statisticsNames

private static final java.lang.String[] statisticsNames
Name of the two available operations provided by this operator


scanline

private int[] scanline

lastScanline

private int[] lastScanline

zones

private java.util.List zones

cc8cache

java.util.List cc8cache
8-neighbors connected components


cc4cache

java.util.List cc4cache
Constructor Detail

CCOpImage

public CCOpImage(java.awt.image.RenderedImage source,
                 java.awt.Rectangle sample)
Constructs a CCOpImage object

Method Detail

getStatisticsNames

public java.lang.String[] getStatisticsNames()
Returns the names of the two operations


createStatistics

public java.lang.Object createStatistics(java.lang.String name)
Apply one of the two operations


accumulateStatistics

public void accumulateStatistics(java.lang.String name,
                                 java.awt.image.Raster source,
                                 java.lang.Object stats)
Not supported


makeRectangles

java.util.List makeRectangles(java.util.List zones)
4-neighbors connected components (rectangles)


makePoints

java.util.List makePoints(java.util.List zones)

newZone

private void newZone(int x,
                     int y)
Creates a new zone containing the pixel at (x, y)


getZone

private int getZone(int x)
Gets the number of the zone which contains the pixel at (x,currentLine)


getLastZone

private int getLastZone(int x)

fusionZones

private void fusionZones(int i,
                         int j)
Fusion the two zones i and j


CC8

java.util.List CC8()

CC4

java.util.List CC4()