Problem running ShapeLogic on a Mac
The problem is that there are several jar files that are needed for it to run. This is described on the Getting started page.
antlr-runtime-3.0.jar commons-collections-3.2.jar commons-jexl-1.1.jar commons-logging-1.0.4.jar commons-math-1.1.jar guice-1.0.jar
The problem is that up to version 1.2 Shapelogic has been built to require Java 1.6 and the Mac comes pre installed with Java 1.5. ShapeLogic 1.2.1 is built for JDK 1.5 and should work with the Mac.
If you want to use one of the other version this might work: You can get an update to Java 1.6 for OS X 10.5. See http://developer.apple.com/java/
Then you need to set ImageJ to use Java 1.6. This is done in the ImageJ.cfg file under ImageJ dir.
ShapeLogic is compiled with JDK version 1.6. There are parts of it
that is using the JSR 223 scripting framework, introduced in 1.6.
It might be possible to compiled it with JDK 1.5.
ShapeLogic is built using Maven 2.
This makes several build tasks very easy, so this is the recommended way doing builds, but the code should run fine without Maven.
Currently the project is set up to work directly with Eclipse 3.3, NetBeans 6.0 / 6.1, Java 1.6, but you can use: IntelliJ, JBuilder, emacs or vi.
In order to do the following:
mvn test mvn package mvn install
The ShapeLogic site is created using an Almost Plain Text format.
The apt files are stored in the directory: shapelogic/src/site.
Changes can be tracked in SVN
For more details look here: Writing documentation
To generate the site run the following command.
Some of the libraries are only used for in tests. Most importantly Hibernate, which have a lot of dependencies on its own. Given that the current database interactions are very light this could easily be done by JDBC or if rules are stored in flat files or Java classes, that is not needed either.
Yes just take them out one at a time until something break.
It does for declarative programming. See Project Euler.
Starting with version 1.1 ShapeLogic's image processing algorithms will be decoupled from ImageJ. The idea is not to redo ImageJ's functionality but to make ShapeLogic more modular. All of ShapeLogic's current image processing algorithms only use very simple image properties so they should apply outside of ImageJ.
Not everything will work outside ImageJ. The letter match example has a first step that is a skeletonize algorithm that comes with ImageJ. In order to get that to work outside you will need to have another implementation of this.
ImageJ is a fantastic tool
for image processing. Here are a few of its features:
One of the main objectives for ShapeLogic is to make a good hybrid of
Declarative programming and Object Oriented programming.
This is not specific to image processing or computer vision.
Since ShapeLogic 0.9 the lazy stream logic framework was implemented, so
from then on it was possible that ShapeLogic would be applicable
to other domains. This is not a priority for the current development effort.
There are many approaches to declarative, object oriented hybrids. Here is a short list of of some of them: