ShapeLogic is an open source toolkit for image processing and robotic vision. Started August 2007.
Code hosted on http://code.google.com/p/shapelogic/. From there you can download both source files and binary distributions.
Project home page http://www.shapelogic.org/ is currently a work in progress.
Main ideas and motivation
It is currently difficult to combine high order logic and image processing. ShapeLogic is intended as basic plumbing software that turns a logic engine into a simple plug in component to ease entry into vision and image analysis. ShapeLogic also fills gaps missing from current Java image processing libraries, and uses a commercially friendly license.
The current ShapeLogic working example demonstrates capital letter matching. Future, differing, examples to come.
- Declarative goal driven logic engine for calling image processing primitives
- The user can store rules in either a flat file or database, decreasing user reliance on Java programming
- Implementation of 2D geometry primitives, vectorization and segmentation
- Commercially friendly MIT open source license
- Annotations of point as different type of junctions, end points, hard or soft points
- Annotations of lines as straight, curved, concave or inflection points
- Programmed in Java
- Built on top of ImageJ, the leading Java open source project used in medical image processing
ShapeLogic uses the following libraries:
Development Status: Alpha
- ShapeLogic is in Alpha, as of version 0.7.
- There is a working example where ShapeLogic is used for matching capital letters.
- The API is still under development.
- ShapeLogic v 0.7 consists of around 16,000 lines of Java code including 180 unit tests.
2007/12/07 ShapeLogic v 0.8 released
- Create ShapeLogic documentation site, checked the documentation into SVN.
- Add Javadoc to ShapeLogic documentation site.
- Created a way simpler and more expressive syntax for matching rules at the lowest level.
- More general logical expression instead of just equal and greater than test at the lowest level now you can use the following 3 predicates for matching:
- Clean up letter recognition example, take out all the size() that are part of expressions.
Future plans for ShapeLogic
ShapeLogic v 0.9 soon to be released
- Use Or tasks
- Finish Javadoc for ShapeLogic
The next example application for ShapeLogic will be medical image processing.