Project Modules

This project has declared the following modules:

Name Description
openimaj-quickstart-archetype Maven quickstart archetype for OpenIMAJ
openimaj-subproject-archetype Maven archetype for creating OpenIMAJ subprojects with the most of the standard configuration completed automatically
OpenIMAJ Maven Archetypes Maven archetypes for OpenIMAJ
The OpenIMAJ Core Library Core library functionality concerned with general programming problems rather than multimedia specific functionality. Includes I/O utilities, randomisation, hashing and type conversion.
The OpenIMAJ Core Image Library Core definitions of images, pixels and connected components. Also contains interfaces for processors for these basic types. Includes loading, saving and displaying images.
The OpenIMAJ Core Video Library Core definitions of a video type and functionality for displaying and processing videos.
The OpenIMAJ Core Audio Library Core definitions of audio streams and samples/chunks. Also contains interfaces for processors for these basic types.
The OpenIMAJ Core Math Library Mathematical implementations including geometric, matrix and statistical operators.
The OpenIMAJ Core Features Library Core notion of features, usually denoted as arrays of data. Definitions of features for all primitive types, features with location and lists of features (both in memory and on disk).
The OpenIMAJ Core Experiment Library Classes to formally describe experiments and evaluations, with support for automatically evaluating their results.
The OpenIMAJ Core Citation Library Tools for annotating code with publication references and automatically generating bibliographies for your code.
Core Aspect Oriented Programming Support Core support for Aspect Oriented Programming and Bytecode manipulation as used in core-citation and core-experiment
OpenIMAJ Core Libraries Submodule for modules containing functionality used across the OpenIMAJ libraries.
The OpenIMAJ Image Processing Library Implementations of various image, pixel and connected component processors (resizing, convolution, edge detection, ...).
The OpenIMAJ Local Image Features Library Methods for the extraction of local features. Local features are descriptions of regions of images (SIFT, ...) selected by detectors (Difference of Gaussian, Harris, ...).
The OpenIMAJ Image Feature Extraction Library Methods for the extraction of low-level image features, including global image features and pixel/patch classification models.
The OpenIMAJ Face Detection + Recognition Library Implementation of a flexible face-recognition pipeline, including pluggable detectors, aligners, feature extractors and recognisers.
The OpenIMAJ Image Feature Extraction Library Methods for describing automatic image annotators
Object Detection Support for object detection, including a haar-cascade implementation
image-indexing-retrieval Subproject for CBIR related components
The OpenIMAJ Vector Image Library Support for vector images using the Batik SVG library
camera-calibration Camera calibration techniques and associated code
multiview OpenIMAJ Multiview reconstruction and 3D imaging library
OpenIMAJ Image Processing Libraries Submodule for image related functionality.
The OpenIMAJ Video Processing Library Various video processing algorithms, such as shot-boundary detection.
OpenIMAJ Xuggle Video Wrapper Plugin to use Xuggler as a video source. Allows most video formats to be read into OpenIMAJ.
gstreamer-video ...
OpenIMAJ Video Processing Libraries Sub-modules containing support for analysing and processing video.
The OpenIMAJ Audio Processing Library Implementations of various audio processors (e.g. multichannel conversion, volume change, ...).
OpenIMAJ Audio Processing Libraries Submodule for audio processing and analysis related functionality.
The OpenIMAJ Clustering Library Various clustering algorithm implementations for all primitive types including random, random forest, K-Means (Exact, Hierarchical and Approximate), ...
The OpenIMAJ Nearest Neighbour Library Implementations of K-Nearest-Neighbour methods, including approximate methods.
The OpenIMAJ General Machine Learning Library The OpenIMAJ Machine Learning Library contains implementations of optimised machine learning techniques that can be applied to OpenIMAJ structures and features.
OpenIMAJ Machine Learning Subprojects Sub-module for machine-learning libraries.
The OpenIMAJ NLP Library The OpenIMAJ NLP Library contains a text pre-processing pipeline which goes from raw unstructured text to part of speech tagged stemmed text.
OpenIMAJ Text Analysis Subprojects Text Analysis functionality for OpenIMAJ.
OpenIMAJ Kanade-Lucas-Tomasi Tracker A port of Stan Birchfield's Kanade-Lucas-Tomasi tracker to OpenIMAJ. See http://www.ces.clemson.edu/~stb/klt/.
OpenIMAJ TLD tracker A port of Georg Nebehay's tracker https://github.com/gnebehay/OpenTLD originally created by Zdenek Kalal https://github.com/zk00006/OpenTLD
ImprovedArgs4J Useful third-party libraries (possibly originally written in other languages) that have been ported to Java and integrated with OpenIMAJ. Not all modules have the same license.
IREval A modified version of the IREval module (version 4.12) from the lemur project with extensions to better integrate with OpenIMAJ. See http://www.lemurproject.org
FaceTracker Port of Jason Mora Saragih's FaceTracker to Java using OpenIMAJ. FaceTracker is an implementation of a facial model tracker using a Constrained Local Model.
processing-core Useful third-party libraries (possibly originally written in other languages) that have been ported to Java and integrated with OpenIMAJ. Not all modules have the same license.
MatrixLib Useful third-party libraries (possibly originally written in other languages) that have been ported to Java and integrated with OpenIMAJ. Not all modules have the same license.
JTransforms JTransforms is the first, open source, multithreaded FFT library written in pure Java. Currently, four types of transforms are available: Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), Discrete Sine Transform (DST) and Discrete Hartley Transform (DHT). The code is derived from General Purpose FFT Package written by Takuya Ooura and from Java FFTPack written by Baoshe Zhang. This version has been modified to daemonize threads and stop any application using the library waiting after execution has finished, and is based on revision 29 of the svn version of the code from 2014-05-18.
OpenIMAJ Third Party Ported Libraries Useful third-party libraries (possibly originally written in other languages) that have been ported to Java and integrated with OpenIMAJ. Not all modules have the same license.
OpenIMAJ Demos Demos showing the use of OpenIMAJ
sandbox A project for various tests that don't quite constitute demos but might be useful to look at.
touchtable Playground for the ECS touchtable
SimpleMosaic Demo showing SIFT matching with a Homography model to achieve image mosaicing.
CampusView Demo showing how we used OpenIMAJ to create a Street-View-esq capture system.
ACMMM-Presentation The OpenIMAJ presentation for ACMMM 2011. Unlike a normal presentation, this one isn't PowerPoint, but is actually an OpenIMAJ Demo App!
OpenIMAJ Examples Example code snippets showing specific functionalities
SimpleOCR Simple (numerical) OCR using template matching to extract the timestamps embedded in GlacsWeb time-lapse videos
OpenIMAJ Demos Subproject Demos showing the functionality of OpenIMAJ.
Core RDF Support Core support for the Resource Description Framework (RDF), including object-rdf mapping.
sioc Submodule for modules which each represent a specific ontology represented in java
A Set of ontologies Submodule for modules which each represent a specific ontology represented in java
geocoder Geocoding and reverse geocoding utilities
OpenIMAJ Knowledge Representation and Reasoning Libraries Submodule for modules related to knowledge representation and reasoning.
OpenIMAJ Unit Test Resources Resources for running OpenIMAJ JUnit tests.
core-tool Core library for building openimaj tools
GlobalFeaturesTool A tool for extracting various global features from images.
ClusterQuantiserTool Tool for clustering and quantising features.
LocalFeaturesTool Tool for extracting local image features.
FaceTools Tools for detecting, extracting and comparing faces within images.
FeatureVisualisation Tools for visualising certain types of image feature.
CityLandscapeClassifier Tool for classifying images as cityscapes (or images containing man-made objects) or landscapes. Based on the edge direction coherence vector.
WebTools Tools and utilities for extracting info from web-pages.
OCR Tools Tools for training and testing OCR.
ImageCollectionTool Tool for extracting images from collections (zip, gallery, video etc.).
SimilarityMatrixTool A tool for performing operations on Similarity Matrices.
TwitterPreprocessingTool Tool for applying a text preprocessing pipeline to twitter tweets.
RedditHarvester A tool for harvesting posts and comments from reddit.
picslurper Tool for grabbing all the images from a social media stream and holding on to some simple stats
ReferencesTool Tool for running an OpenIMAJ program and extracting the references for used methods and classes.
OpenIMAJ Processing Set of tools for integrating OpenIMAJ with processing
CBIRTools Tools for content-based image indexing and retrieval
OpenIMAJ Tools Sub-modules containing commandline tools exposing OpenIMAJ functionality.
The OpenIMAJ Core Hadoop Library Reusable wrappers and helpers to access and create sequence-files and map-reduce jobs.
core-hadoop-tool Tool for clustering and quantising features using Map-Reduce jobs on a Hadoop cluster.
HadoopFastKMeans Distributed feature clustering tool.
HadoopDownloader Distributed download tool.
HadoopLocalFeaturesTool Distributed local image feature extraction tool.
SequenceFileTool Tool for building, inspecting and extracting Hadoop SequenceFiles.
HadoopGlobalFeaturesTool Distributed global image feature extraction tool.
HadoopClusterQuantiserTool Distributed feature quantisation tool.
HadoopTwitterPreprocessingTool Tool for clustering and quantising features using Map-Reduce jobs on a Hadoop cluster.
HadoopTwitterTokenTool Tool for clustering and quantising features using Map-Reduce jobs on a Hadoop cluster.
SequenceFileIndexer Tool for building an index of the keys in a Hadoop SequenceFile.
HadoopEXIFTool Tool for extracting EXIF information from images on a Hadoop cluster.
SequenceFileMerger Base for tools built on hadoop
HadoopImageIndexer ...
OpenIMAJ Hadoop Tools Tools that provide multimedia analysis algorithms expressed as Map-Reduce jobs that can be run on a Hadoop cluster.
OpenIMAJ Hadoop Subproject Sub-modules for integrating OpenIMAJ with Apache Hadoop to allow Map-Reduce style distributed processing.
The OpenIMAJ Core Storm Library The main Storm dependency and some extra utility classes specific to OpenIMAJ
StormTwitterPreprocessingTool Tool for processing tweets on Storm
core-storm-tool Base for tools built on top of storm.
OpenIMAJ Storm Tools Tools that provide multimedia analysis algorithms expressed as Storm topology that can be run locally or on a Storm cluster.
OpenIMAJ Storm Subproject Sub-modules for integrating OpenIMAJ with Storm to allow distrbuted stream processing.
Common Stream Utilities and Providers Classes providing access to common types of streaming data (twitter, irc, wikimedia edits, etc) as well as providing methods and techniques for working with streams
OpenIMAJ Streams Subproject Sub-modules for stream provision, processing and analysis.
core-web Implementation of a programatic offscreen web browser and utility functions.
webpage-analysis Utilities for analysing the content and visual layout of a web-page.
readability4j Readability4J is a partial re-implementation of the original readability.js script in Java. Many modifications have been made however.
twitter The twitter project contains tools with which to read JSON data from the twitter API and process the data.
data-scraping Utility methods and classes for extracting data and information from the web
OpenIMAJ web subproject Sub-modules containing support for analysing and processing web-pages.
The OpenIMAJ Core Video Capture Library Cross-platform video capture interface using a lightweight native interface. Supports 32 and 64 bit JVMs under Linux, OSX and Windows.
OpenIMAJ Serial Driver Interface to hardware devices that connect to serial or USB-serial ports.
OpenIMAJ Groovy GPS Reader Interface to GPS devices that support the NMEA protocol.
Driver for OceanServer Serial Compass Interface to an OceanServer OS5000 digital compass.
OpenIMAJ Groovy NMEA parser Contains a parser for NMEA sentences written in Groovy.
The OpenIMAJ Kinect Interface Library The OpenIMAJ Kinect Library contains the core classes and native code required interface with the Kinect device.
OpenIMAJ turntable integration Integration with our serially controlled turntable
core-gpgpu Sub-modules containing interfaces to hardware devices that we've used in projects built using OpenIMAJ.
OpenIMAJ Hardware Subprojects Sub-modules containing interfaces to hardware devices that we've used in projects built using OpenIMAJ.
The OpenIMAJ Interactive Slideshow Creation Library A library for creating slideshows and presentations that can contain interactive demos that utilise all OpenIMAJ components.
The OpenIMAJ Animation Library Code to help make an animation of data/models/etc.
The OpenIMAJ Visualisations Library A library that contains classes for visualising various different features, such as audio and video.
OpenIMAJ Content Creation Libraries Libraries for multimedia content creation.
OpenIMAJ IDE Integration Plugins Plugins to aid OpenIMAJ development in various IDE's.
Tutorial DocBook XML and Figures The content of the OpenIMAJ tutorial
Tutorial PDF Rendering Project OpenIMAJ tutorial in PDF format
Tutorial DocBook to HTML Conversion OpenIMAJ Tutorial in HTML format
tutorial-code The source-code for the OpenIMAJ Tutorial
OpenIMAJ Tutorial The OpenIMAJ tutorial
OpenIMAJ Documentation Submodule for documentation.