Package org.shapelogic.imageprocessing

Image processing: Segmentation, vectorizers and annotation

See:
          Description

Interface Summary
IEdgeTracer Interface for edge tracers.
IParticleCounter  
IPixelTypeFinder Interface that are used for several Vectorizer.
LazyPlugInFilter<E> The idea is that you can call a plugin in both active and lazy mode.
PixelJumperByte Not sure if I need this, but this is a little bit of structure build on top of the ByteProcessor.
SBPixelCompare Interface for doing pixel compare.
 

Class Summary
AreaComparator Compare area by pixel size.
BaseMaxDistanceVectorizer Vectorizer that is splitting lines based on max distance to line between end points.
BaseParticleCounter ParticleCounter count number of particles in a particle image.
BaseVectorizer Input image needs to be binary, that is gray scale with inverted LUT.
ChainCodeHandler Chain Code For MultiLine.
CircleFinder Class that can find a circle in MultiLine.
ColorParticleAnalyzer Analyzes a particle image in gray or RGB and group the particles according to shape rules.
Find a place in the base class where there is a hook for this extended functionality.
Some of the methods can be moved to ColorParticleAnalyzer to remove dependency of ImageJ.
ColorParticleAnalyzerIJ Automatic particle counter for 24 bit RGB and 8 bit Gray.
ColorReplacePixelHandler Handles Color Replace for individual pixel, used with wrapper to work on whole image.
Example of a PixelHandler that can be used to change a whole image.
ColorReplacer ColorReplacer replaces one color with another.
This is for comparison of how the direct ImageJ way compares to the ImageOperation working on SLImage.
ColorReplacerSL ColorReplacer replaces one color with another.
XXX: This class could be one generic class that could handle all PixelHanlers.
DirectionBasedVectorizer DirectionBasedVectorizer is a Vectorizer based on direction.
DistanceBasedColorHypothesisFinder Find a color hypothesis based on just distance of colors.
EdgeTracer Edge Tracer.
EdgeTracerWand Edge Tracer.
LineProperties LineProperties contains properties that are important for a line when you are dealing with curved multi line.
LineVectorizer LineVectorizer is a vectorizer using short line of default length 5.
MaxDistanceVectorizer Vectorizer that is splitting lines based on max distance to line between end points.
NeighborChecker Neighbor Checker.
ParticleCounter ParticleCounter count number of particles in a particle image.
PixelTypeCalculator PixelTypeCalculator stores some values for points and calculated the type of points based on them.
PointProperties LineProperties contains properties that are important for a point when you are dealing with curved multi line.
PriorityBasedPixelTypeFinder Classify points to find out what type they are.
ProcessingFactory Factories that belongs under Image Processing, but do not need their own factory class.
RGBColorParticleAnalyzerIJ Particle analyzer where you set the RGB color for either foreground or background.
SBByteCompare Compare implementations for gray scale.
SBColorCompare Compare implementations for RGB.
SBPendingVertical Contains information about one line that needs to be checked.
SBSegmentation High level class for segmentation.
SBShortCompare Compare implementations for gray scale.
SBSimpleCompare Abstract class for compare.
SegmentCounter Segmentation for 24 bit RGB and 8 bit Gray.
ShortLineBasedVectorizer Base class for vectorizers that are using a local short line, to determine when to set point on multi line.
SimplePixelTypeFinder Find the type of a pixel.
StreamVectorizer Same vectorizer as MaxDistanceVectorizer, but logic implemented with streams.
 

Enum Summary
GeometricType Not sure if I should just reuse PixelType.
PixelType Enum with types for annotating pixels.
 

Package org.shapelogic.imageprocessing Description

Image processing: Segmentation, vectorizers and annotation

Content of image processing package

Vectorizers

A vectorizer is an algorithm for transforming bitmap lines into vector lines.

There are 3 different implementations vectorizers in ShapeLogic.
There are currently 3 different vectorizer implementations. They all assume that you are working on binary gray scale images images. So before you can use a vectorizer you have to convert your bitmap to this format.
The 2 first had a lot of problems and are now deprecated.
The vectorizers are part of a class hierarchy of different vectorization algorithms, all sub classed from BaseVectorizer.

Common to current vectorizer implementations

It would probably be a good idea to loosen some of these restrictions.

MaxDistanceVectorizer

The main idea is that this will read a whole multi line at a time. Then later it will split it according to max distance of pixels to the line between start and end point of the multi line.
This vectorizer is the one that works well.

LineVectorizer

LineVectorizer is a vectorizer reading sequences of short line of length 5. If 2 consecutive lines are close in direction you can merge them. But if they are far away in angle you create a new line.
This approach ran into problems and has been deprecated for now.

DirectionBasedVectorizer

The main idea is that this will read a whole multi line at a time. It is using a priority of different types of points around an intersection to read trough an intersection where you can take different ways.
This approach ran into problems and has been deprecated for now.

Segmentation

Color and gray scale segmentation algorithm. The segmentation algorithm works on both RGB and 8 bit gray scale images.

It is currently writing out information to a dialog box.



Copyright © 2009. All Rights Reserved.