My favorites | Sign in
Project Logo
                
People details
Project owners:
  sami.badawi, sami.badawi.admin
Project committers:
sami.nyc, jennifertwolfe, joe.orr

ShapeLogic Java

Toolkit for declarative programming, image processing and computer vision.

The first real application for ShapeLogic is a particle analyzer. It will find and categorize particles on a relatively uniform background then make a report of geometric properties for each of the particles. The main application is for recognizing cells in medical image processing.

Join the ShapeLogic mailing list for announcements, questions, bug reports, suggestions and feature requests.

The first ShapeLogic implementation is in Java. ShapeLogic C++ was started in September 2008.

Starting in ShapeLogic 1.5 the rules for OCR and particle categorization, can either be handwritten or generated by machine learning. The first machine learning technique in ShapeLogic is a multi-layer feed forward neural network that is trained externally but run internally.

Main ideas and motivation for ShapeLogic

ShapeLogic is a library for

While ShapeLogic's declarative programming system was initially developed for image processing and computer vision, it is widely applicable. It is currently difficult to combine declarative programming and image processing. ShapeLogic is intended as basic plumbing software that turns a logic engine into a simple plugin 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.

ShapeLogic has an automatic color particle counter and analyzer and a letter matching example.

Features

Particle analyzer

ShapeLogic 1.2 contains the first version of a color particle analyzer. Here is an example particle image embryos.jpg

To run it from ImageJ select "Color Particle Analyzer" in the ShapeLogic menu:

First a particle count dialog is displayed:

Here is the result of running the non-customized particle analyzer on it. This is written to a result table that can be exported to Excel:

The categories for the particles are only examples, it is easy to setup different rules for categorizing particles.

In ShapeLogic 1.3 there will be custom rules to categorize specific cells and it will be tested further.

ShapeLogic 1.2 also contains the second version of a color particle counter. It also prints a smaller report of the particle's properties.

The test cases are taken from the sample images from ImageJ

blobs.gif Cell_Colony.jpg

Getting Started links

ShapeLogic project home page is the main source of information.

Code is hosted here on Google Code hosting page where you can download both source files and binary distributions.

Getting Started on project site

On using ShapeLogic as a general declarative programming framework.

Letter match example applications showing how to use the ShapeLogic framework.

Please join the ShapeLogic mailing list for announcements, questions, bug reports, suggestions and feature requests.

Here are the Release notes.

How to join the ShapeLogic Team.

Requirements

For running as a library for functional and declarative programming there are no requirements.

For running as a ImageJ plugin ShapeLogic uses the following libraries:

You can run all current image processing algorithms outside ImageJ, using just a BufferedImage. If you want to embed ShapeLogic in your application.

Optional Requirements

These are used in unit tests, builds or old versions of image processing functionalities:

Development Status: Beta

News

2009/05/14 ShapeLogic 1.6 improve neural network and rules

2009/04/09 ShapeLogic 1.5 machine learning released

2008/11/28 ShapeLogic 1.4 released

2008/09/03 Start of experimental port from Java to C++

An experimental port of ShapeLogic to C++ has begun. The algorithms in ShapeLogic are not using anything too languages specific so they should be portable to similar languages say C++ and C#. The idea with ShapeLogic is that it should be a declarative framework for vision and you should be able to get work done by making rules instead of regular procedural or object oriented programming. For example should be able to make a list of rules for categorizing the shape of a particle in a particle analyzer. You put them in a database or a flat file and the same rules should work for C++ and Java version of ShapeLogic.

Future plans for ShapeLogic

For more up to date information on ongoing development work look at these

ShapeLogic 1.6 Java improve neural network

Low hanging fruits for ShapeLogic Java

Examples applications

Site last modified 2009-05-14









Hosted by Google Code