Problem running ShapeLogic

Why won't ShapeLogic run as a plug-in for ImageJ?

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
       
[top]

What version of Java JDK does ShapeLogic work with?

ShapeLogic is compiled with JDK version 1.6, but should work fine if compiled with JDK 1.5.

A version compiled with 1.5 might be released.

[top]

How do I install a snapshot version of ShapeLogic?

  • Download the jar file.
  • Go to ./ImageJ/plugins/shapelogic.
  • Append the word old to the current version e.g.: shapelogic__-0.7.jar.old
  • Copy the downloaded or compiled version to ./ImageJ/plugins/shapelogic
  • [top]

    Build

    What tools do I need to build ShapeLogic?

    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, Java 1.6, but you can use: NetBeans, IntelliJ, JBuilder, emacs or vi.

    [top]

    How do you build with Maven 2?

    In order to do the following:

    1. runs the unit tests locally
    2. runs the unit tests locally, and if they passes it will create the jar file
    3. runs the unit tests locally and install ShapeLogic to local repository
    Call these commands.
              mvn test
              mvn package
              mvn install
           

    [top]

    How is this project site created?

    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.

              mvn site
           

    [top]

    Dependencies

    Are all the libraries dependencies really needed?

    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.

    [top]

    Can I take dependent libraries out if its functionalety is not used?

    Yes just take them out one at a time until something break.

    [top]

    ImageJ

    Does ShapeLogic work with other plug-ins for ImageJ?

  • ShapeLogic should work with other plug-ins.
  • ShapeLogic uses off the shelf open source libraries when possible.
  • ShapeLogic is a very lightweight framework.
  • [top]

    Does ShapeLogic work without ImageJ?

    Not now. But ShapeLogic is very loosely coupled to ImageJ, so abstracting the connection to ImageJ out should not be a big task.

    [top]

    Could ShapeLogic be used as a general declarative programming framework?

    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. In ShapeLogic 0.9 the external rule database should implemented, so from then on it should 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:



  • Prova is a Java Prolog hybrid.
  • List Comprehension in Python and Haskell.
  • Microsoft LINQ
  • Hibernate and ORM tools
  • Drools: An open source RETE engine for the Java JVM.
  • OWL: Web Ontology Language.
  • [top]