ShapeLogic

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.

Features

  • 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

Requirements

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.

News

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:
    • Equal.
    • Greater.
    • Smaller.
  • 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

Next example

The next example application for ShapeLogic will be medical image processing.