archetypes
Maven archetypes for OpenIMAJ.
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.
core
Submodule for modules containing functionality used across the OpenIMAJ libraries.
core
Core library functionality concerned with general programming problems rather than multimedia specific functionality. Includes I/O utilities, randomisation, hashing and type conversion.
core-image
Core definitions of images, pixels and connected components. Also contains interfaces for processors for these basic types. Includes loading, saving and displaying images.
core-video
Core definitions of a video type and functionality for displaying and processing videos.
core-audio
Core definitions of audio streams and samples/chunks. Also contains interfaces for processors for these basic types.
core-math
Mathematical implementations including geometric, matrix and statistical operators.
core-feature
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).
core-experiment
Classes to formally describe experiments and evaluations, with support for automatically evaluating their results.
core-citation
Tools for annotating code with publication references and automatically generating bibliographies for your code.
core-aop-support
Core support for Aspect Oriented Programming and Bytecode manipulation as used in core-citation and core-experiment.
image
Submodule for image related functionality.
image-processing
Implementations of various image, pixel and connected component processors (resizing, convolution, edge detection, ...).
image-local-features
Methods for the extraction of local features. Local features are descriptions of regions of images (SIFT, ...) selected by detectors (Difference of Gaussian, Harris, ...).
image-feature-extraction
Methods for the extraction of low-level image features, including global image features and pixel/patch classification models.
faces
Implementation of a flexible face-recognition pipeline, including pluggable detectors, aligners, feature extractors and recognisers.
image-annotation
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.
vector-image
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.
video
Sub-modules containing support for analysing and processing video.
video-processing
Various video processing algorithms, such as shot-boundary detection.
xuggle-video
Plugin to use Xuggler as a video source. Allows most video formats to be read into OpenIMAJ.
gstreamer-video
...
audio
Submodule for audio processing and analysis related functionality.
audio-processing
Implementations of various audio processors (e.g. multichannel conversion, volume change, ...).
machine-learning
Sub-module for machine-learning libraries.
clustering
Various clustering algorithm implementations for all primitive types including random, random forest, K-Means (Exact, Hierarchical and Approximate), ...
nearest-neighbour
Implementations of K-Nearest-Neighbour methods, including approximate methods.
machine-learning
The OpenIMAJ Machine Learning Library contains implementations of optimised machine learning techniques that can be applied to OpenIMAJ structures and features.
text
Text Analysis functionality for OpenIMAJ.
nlp
The OpenIMAJ NLP Library contains a text pre-processing pipeline which goes from raw unstructured text to part of speech tagged stemmed text.
thirdparty
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.
klt-tracker
A port of Stan Birchfield's Kanade-Lucas-Tomasi tracker to OpenIMAJ. See http://www.ces.clemson.edu/~stb/klt/.
tld
A port of Georg Nebehay's tracker https://github.com/gnebehay/OpenTLD originally created by Zdenek Kalal https://github.com/zk00006/OpenTLD.
ImprovedArgs4J
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
MatrixLib
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.
demos
Demos showing the functionality of 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!.
examples
Example code snippets showing specific functionalities.
SimpleOCR
Simple (numerical) OCR using template matching to extract the timestamps embedded in GlacsWeb time-lapse videos.
knowledge
Submodule for modules related to knowledge representation and reasoning.
core-rdf
Core support for the Resource Description Framework (RDF), including object-rdf mapping.
ontologies
Submodule for modules which each represent a specific ontology represented in java.
sioc
geocoder
Geocoding and reverse geocoding utilities.
test-resources
Resources for running OpenIMAJ JUnit tests.
tools
Sub-modules containing commandline tools exposing OpenIMAJ functionality.
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.
OCRTools
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.
hadoop
Sub-modules for integrating OpenIMAJ with Apache Hadoop to allow Map-Reduce style distributed processing.
core-hadoop
Reusable wrappers and helpers to access and create sequence-files and map-reduce jobs.
tools
Tools that provide multimedia analysis algorithms expressed as Map-Reduce jobs that can be run on a Hadoop cluster.
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
...
streams
Sub-modules for stream provision, processing and analysis.
storm
Sub-modules for integrating OpenIMAJ with Storm to allow distrbuted stream processing.
core-storm
The main Storm dependency and some extra utility classes specific to OpenIMAJ.
tools
Tools that provide multimedia analysis algorithms expressed as Storm topology that can be run locally or on a Storm cluster.
StormTwitterPreprocessingTool
Tool for processing tweets on Storm.
core-storm-tool
Base for tools built on top of storm.
common-stream
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.
web
Sub-modules containing support for analysing and processing web-pages.
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.
hardware
Sub-modules containing interfaces to hardware devices that we've used in projects built using OpenIMAJ.
core-video-capture
Cross-platform video capture interface using a lightweight native interface. Supports 32 and 64 bit JVMs under Linux, OSX and Windows.
serial-driver
Interface to hardware devices that connect to serial or USB-serial ports.
gps
Interface to GPS devices that support the NMEA protocol.
compass
Interface to an OceanServer OS5000 digital compass.
nmea-parser
Contains a parser for NMEA sentences written in Groovy.
kinect
The OpenIMAJ Kinect Library contains the core classes and native code required interface with the Kinect device.
turntable
Integration with our serially controlled turntable.
core-gpgpu
content
Libraries for multimedia content creation.
slideshow
A library for creating slideshows and presentations that can contain interactive demos that utilise all OpenIMAJ components.
animation
Code to help make an animation of data/models/etc.
visualisations
A library that contains classes for visualising various different features, such as audio and video.
ide-integration
Plugins to aid OpenIMAJ development in various IDE's.
documentation
Submodule for documentation.
tutorial
The OpenIMAJ tutorial.
tutorial-content
The content of the OpenIMAJ tutorial.
tutorial-pdf
OpenIMAJ tutorial in PDF format.
tutorial-html
OpenIMAJ Tutorial in HTML format.
tutorial-code
The source-code for the OpenIMAJ Tutorial.