Project Summary

  Analyzed 4 days ago based on code collected 4 days ago.

ShapeLogic C++ShapeLogic C++ is an open source toolkit for declarative programming, image processing and computer vision. Optimized for simplicity of programming. Started September 2008.

The first real application for ShapeLogic Java 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.

Main ideas and motivation for ShapeLogicShapeLogic is a library for

Declarative programming and lazy computations in C++ Image processing and computer vision Particle analyzer for medical image processing 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.

FeaturesIt is free (as in free speech and free beer) Commercially friendly MIT open source license Programmed in C++

ShapeLogic C++ under Windows

ShapeLogic C++ under Linux

Getting Started linksShapeLogic project home page is the main source of information.

A Getting Started page for ShapeLogic C++ will be put up when there are working code.

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

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

Boost the C++ library OpenCV for computer vision algorithms Generic Image Library which is part of Boost as of v 1.35 FLTK, Fast Light Toolkit lightweight cross platform GUI Google Testing Framework Boost.build v2 for command line based build system Eclipse CDT for IDE based build system

Development Status: AlphaShapeLogic is in Alpha, as of version 0.4 Same code runs under both Windows and Linux Contains some image processing algorithms Unit test are setup Builds can be done both with Bjam and Eclipse News2009/03/22 ShapeLogic C++ 0.5 releasedAdded binary thresholds operations Threshold with fixed limit of 127 Adaptive threshold with a small block size of 3 Added morphological operations Dilate Erode 2008/11/14 ShapeLogic C++ 0.4 releasedImages are now internally stored in OpenCV's IplImage format More image formats: BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM, SR, RAS, TIFF, TIF Made a few OpenCV image processing algorithm available: Canny edge detector Flip RB color Flip horizontally Flip vertically Made Boost Build Jamfiles that works both on Windows and other operating systems First release with development status Alpha 2008/10/31 ShapeLogic C++ 0.3 released

Added 3 first brushes: Pen, Sample color, Point info Fixed bugs causing ShapeLogic to crash

2008/10/22 ShapeLogic C++ 0.2 released

Save images using GIL Scroll big images Display file name in window frame

2008/10/16 ShapeLogic C++ 0.1 released

Integrate FLTK, Boost, GIL, Google C++ Testing Frameworks, Boost Build Minimalist GUI to load images and run image processing operations Image processing code written in GIL Tested on Windows and Linux

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 ShapeLogicFor more up to date information on ongoing development work look at these

Blog Declarative Computer Vision Roadmap

ShapeLogic C++ v 0.6 soon to be releasedMake OpenCV more image processing algorithm available in menus Make generic dialog to get parameters for algorithms Improve threshold to have a user input for limit Examples applications for ShapeLogic JavaAutomatic color and gray scale particle counter and analyzer, first medical image processing example Letter matching example. Very rudimentary OCR. Mathematical problems from Project Euler. This is a list of 192 mathematical problems that can be solved by computers. They vary in complexity from simple to hard. The goal is to test ShapeLogic's new declarative and functional constructs on real problems and make sure they are terse and intuitive. Site last modified 2009-05-14

Share

In a Nutshell, shapelogic-cpp...

Languages

C++
56%
XML
44%
C
<1%
 
 

Lines of Code

 

Activity

30 Day Summary Apr 14 2013 — May 14 2013

12 Month Summary May 14 2012 — May 14 2013

Community

Ratings

Be the first to rate this project
 
Click to add your rating
 
Review this Project!
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.