HeuriStitch is meant to be an application to provide image stitching functionalities through use of heuristic, population-based algorithms.
It is intended to be used with no algorithm in particular, as long as interfaces (IPopAlgorithm) are respected. Said interfaces are designed to be generic enough to suit anyone's needs in the application of choice. Data used by the interfaces should be also sufficiently general.
An utility abstract implementation for almost all common tasks of population-based heuristic stitching algorithms, which can be found in the class AbstractPopAlgorithm.
Multiple algorithm can be run at the same time, the program has as primary objective benchmarking and visual monitoring of comparative performance and behaviors of different search strategies.
The original version in fact comes with the implementation of two popular meta-heuristic algorithms, Genetic and Particle Swarm Optimization.
The program runs by default showing a GUI, but can be executed headless and controlled via command line. For more informations about the available commands please read the instruciton in the class CLIController.
Copyright for icons used goes to deviantart user neurovit. http://neurovit.deviantart.com/art/simplicio-92311415
The project has first been developed as an assignment for the Artificial Intelligence course under the Department of Information Engineering of the University of Padua, academic year 2011-2012.
The home page for the project is:
http://sourceforge.net/p/heuristitch/wiki/Home/
Authors:
edamame - Mattia Samory
robypiwa - Roberto Piva
radisc - Nicola Ristè
marchezz - Paolo Marchezzolo
Package contains:
- heuristitch.jar - the runnable jar file for the application
- source.zip - the source code for the project
- doc - a folder containing the documentation (javadoc) for the project. To read it just open the file index.html with a web browser
- img - a folder containing icons used by the application
- americaBottomLeft.png, americaBottomRight.png - two sample images for testing purposes
- lib - a folder containing the libraries used in the project
- README.txt - this information file
In order to run HeuriStitch you need the .jar file, and if you want to run it in graphical mode, you must place the icon set provided with the package in a folder named "img/icons" in the context root. Let's say you have the .jar file in a folder called "myFolder", the icons (the .png files) must be moved or copied to "myFolder/img/icons".
Moreover, the OpenCV environment must be properly installed in the system. It is wholeheartedly recommended to recompile OpenCV to best suit your needs and match your hardware to obtain best performance. For more information about OpenCV, please visit:
http://opencv.willowgarage.com/wiki/
In order to run Heuristitch in graphical mode, which is enabled by default, you just need to make sure that all of the preconditions mentioned above are satisfied, and to run the command:
java -jar heuristitch.jar
HeuriStitch can be run headless, launching it setting the "--headless"
option. A practical example would be:
java -jar heuristitch.jar --headless [additional commands ...]
Further commands can be provided as launch arguments, in the form"--commandName[=value[+argument=argumentValue]...]"
, or at runtime, feeding a new line to standard input using the form "commandName [value[ argument argumentValue]...]"
"sterility"
iterations to be considered unfruitful (double value)algorithm algorithmName[ firstParameterName firstParameterValue]
"--play"
command they will lead to inconsistent behaviors!