Release notes for releases with development status beta

2009/04/09 ShapeLogic Java 1.5 with machine learning released

  • Start combining machine learning and declarative programming
  • The categorize in Color Particle Analyzer can now either use rules or a multi-layer feed forward neural network, and it easier to select which particle properties to print out
  • Built for JDK 1.5 / Java 5 so it should work on the Mac without updates
  • 35000 lines of Java code
  • 550 unit test that all works on local machine

The neural network need to be trained externally and you need override a class to import the weights. This override is simple but does require some knowledge of Java.

2008/11/28 ShapeLogic Java 1.4 released

  • Added mask option to particle analyzer
  • Vectorize skeletonized image, output points, lines, polygons and annotations, e.g. T-junction
  • In Color Particle Analyzer output average color in R, G and B channels, to better handle particles in co-localization images
  • Improve the color replacer plugin, to take separate RGB values as input
  • Change annotation of points and lines to be on individual images instead of global
  • Improved stability of particle analyzer
  • Improved stability of lazy stream library: fixed bugs and added unit tests
  • Built for JDK 1.5 / Java 5 so it should work on the Mac without updates
  • 33000 lines of Java code
  • 495 unit test that all works on local machine

2008/08/02 ShapeLogic v 1.3 released AKA New modes for particle analyzer

  • Particle analyzer now has a manual color mode , where you can set either the foreground or background color, in addition to the automatic mode introduced in v 1.2
  • New edge tracer for particle analyzer, in v 1.2 the wrong perimeter lengths are sometimes found
  • Built for JDK 1.5 / Java 5 so it should work on the Mac without updates
  • Fixed some bugs
  • 32000 lines of Java code
  • 480 unit test that all works on local machine

2008/07/12 ShapeLogic v 1.2.1 released AKA Mac friendly for Java 5

First bug fix release. A user filed a bug report that ShapeLogic was not running on his Mac.

  • Built for JDK 1.5 and should work with the Mac

2008/07/01 ShapeLogic v 1.2 released AKA particle analyzer

  • Particle analyzer working directly on color and gray scale images without manual user intervention
  • Particle analyzer traces the edge of each particle and turns it into a polygon. The same rules that were used in the letter matcher can be used on particles to classify them
  • Particle analyzer is suitable for processing cells
  • Both particle counter and particle analyzer now take input parameters and reports a to a result table on each particle's
    • Area
    • Color
    • Standard deviation of color
    • Center of gravity
  • Additional reports fields for particle analyzer
    • Length of perimeter
    • Circularity
    • Gray value brightness
    • Bounding box
    • Number of hard corners
    • Number of inflection points
    • Number of curve arches
  • Color replace, replaces one color within a tolerance with another color. Parameter input dialog with preview check box
  • Organize plugins and macros under ShapeLogic and ShapeLogicOld menus, until 1.1 they where all placed under shapelogic menu
  • 31000 lines of Java code
  • 465 unit test that all works on local machine

2008/05/07 ShapeLogic v 1.1 released AKA Simple particle counter

  • Particle counter working directly on color and gray scale images without manual user intervention
  • Particle counter finds average color, standard deviation, area and location for each particle
  • Framework to build more advanced particle counters and particle analyzers
  • Color clustering using K-mean algorithm
  • Background color finder
  • Particle image checker
  • First use of ShapeLogic in medical image processing
  • Extend all the image processing algorithms in ShapeLogic to work in both ImageJ and in plain Java
  • Deleted the SVN tags for ShapeLogic 0.2, 0.3 and 0.7 since they where checked into the wrong place
  • Fix bug in segmentation that causes stripes and slowness in big images
  • Add unit tests for segmentation
  • Better support for NetBeans
  • ShapeLogic still has beta development status
  • 29000 lines of Java code
  • 440 unit test that all works on local machine

2008/03/05 ShapeLogic v 1.0 released AKA Beta 1

  • Rule for image processing have been migrated, previously they were implemented as goal driven tasks with sub tasks. Version 1.0 uses lazy streams which is simpler and more powerful.
  • Letter match example now matches all polygons instead of just the first found.
  • When running ShapeLogic as ImageJ plugin, it is now easy for users to define rules for matching in external Java files.
  • New number matcher to demonstrate how to define rules for matching in external Java file, in 130 lines of code .
  • Enabled use of Java 6 Scripting for rule database, which gives the user access to the 25 scripting languages that are supported
  • ShapeLogic now has beta development status
  • Many unit tests added for Lazy Stream library
  • Fixed bugs in Lazy Stream library
  • Fixed bugs for the letter X
  • There is around 25000 lines of Java code
  • 385 unit test that all works on local machine

Releases with development status alpha

2008/01/23 ShapeLogic v 0.9 released AKA Lazy stream

This is the first release where ShapeLogic is moving beyond current parameters as a plugin library for ImageJ, currently only used in a letter recognition example. The improved system will be for declarative programming where the user can define rules in either a database or flat file. The focus will still be on image processing and computer vision, but the system will be more broadly applicable. There has been no new work on image processing or letter recognition in this release. ShapeLogic v 1.0 will combine these new changes with the current rule base code for image processing.

  • Introduce new functional, declarative and query constructs
  • Implement lazy streams like Haskell, Scala or Scheme
  • These functional constructs are very lightweight and you only need one 200KB jar file to use it in other applications
  • Test streams by solving the first 10 mathematical problems from Project Euler
  • Enabled Java 6 Scripting for evaluating expressions
  • Tested with Groovy, JRuby, JavaScript, but should work with other supported Scripting languages, currently that are 25 of these. This makes it possible for users to add rule, formulas and queries in real time using text format. They can interact with a running Java application, which can be useful in science, finance or web application.

2007/12/07 ShapeLogic v 0.8 released AKA Letter matching is almost working (for the forth time)

  • 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.
  • There is around 16000 lines of Java code
  • 190 unit test that all works on my local machine

2007/11/27 ShapeLogic release 0.7 AKA Alpha 1

Content of 0.7.0:

  • First alpha quality release
  • Letter recognition example more robust
  • Bug fix so logic language directly can use annotation
  • More general logical expression instead of just equal test at the lowest level
  • Includes a binary distribution that contains all the dependent jar files, to ease deployment
  • There is around 16000 lines of Java code
  • 182 unit test that all works on my local machine

Releases with development status pre alpha

2007/11/20 ShapeLogic release 0.3.0 AKA All capital letters release

Content of 0.3.0:

  • There is around 15000 lines of Java code
  • 172 unit test that all works on my local machine
  • Fixed problems with logic language for filters
  • Fixed several bugs
  • Letter matching is now extended to work for all capital letters

Remaining issues:

  • The logic language is having problems with parsing some annotations, so the letter matching is not very robust

2007/11/08 ShapeLogic release 0.2.0 AKA the Smilla release

Named after the most fantastic prematurely born baby. The code is released somewhat prematurely, and still needs more cleanup. This is the state of code when it was first uploaded to Google Code Hosting.

Content of 0.2.0:

  • There is around 14000 lines of Java code
  • 159 unit test that all works on my local machine.
  • Color segmentation
  • 3 implementations of line vectorizers
  • Point and line annotation
  • Rudimentary declarative logic engine
  • Example of rule database for recognizing capital letters
  • Maybe half the code is well commented
  • There are some documentation on the Google Code Hosting page

2007/09/29 ShapeLogic was created on Google Code Hosting

Development started August 2007.