Main Page
Alida - Advanced Library for Integrated Development of Data Analysis Applications
...formerly known as Alida - Automatic Logging of Process Information in Data Analysis
Alida defines a concept for designing libraries and toolkits in data analysis. It supports and simplifies integrated algorithm development by inherently joining algorithm implementation, automatic analysis process documentation and fully generic generation of user interfaces. In Alida each data analysis or manipulation action is realized in terms of an operator that acts on given data to produce desired output data. As all operators implement a common interface definition, their input and output parameters are accessible in a standardized manner, and they can also be invoked in a predefined way.
The Alida concept is independent of a specific programming language, however, relies on an object-oriented design. Moreover, in particular Java renders it quite easy to implement the conceptual features of Alida due to its reflection and annotation mechanisms. Anyway the concept has been implemented in two different programming languages. On the one hand a quite mature implementation in Java is available for download, and on the other hand a proof-of-concept implementation in C++ has been realized. Note, however, that the C++ implementation in its current state is still lacking lots of features defined by the Alida concept, e.g. the automatic process documentation and automatically generated graphical user interfaces. Currently only the Java implementation is ready for use in practice.
Java implementation
The Java implementation of the Alida concept provides a framework for implementing and running operators. It also includes automatic process documentation and automatically generated command line and graphical user interfaces. Calls to operators not only produce data analysis results, but are at the same time registered within the framework together with all input and output objects as well as parameters settings of the various operators. These data acquired during an analysis process and the order of operator calls form a directed graph datastructure containing all relevant information for later reconstruction or verification of the analysis procedure. The Java implementation of Alida allows to make the directed graph datastructure explicit in terms of XML representations which can be visually explored with appropriate graphical frontends like Chipory, or might be stored in data bases for archival purposes.
Alida's operator concept is well-suited to ease algorithm development and their application to real-world problems by non-expert users. Due to the operator interface definition and the unified handling of operators it is for example possible to automatically generate user interfaces for operators, i.e. graphical frontends or commandline interfaces.
- Grappa - the Graphical Programming Editor for Alida
Since release 2.0 Alida extends its operator concept towards combining operators into more complex workflows.
A workflow is defined as a combination of operators being excuted sequentially, in parallel or in a nested fashion.
The design of such workflows can best be done graphically, and Alida's core not only allows GUIs to be automatically generated,
but also significantly simplifies graphical programming. In particular, now the Java implementation of Alida includes Grappa, a graphical programming editor for designing workflows.
Grappa provides users with an intuitive tool for developing sophisticated image analysis workflows.
All Alida operators are right away available as operator nodes in Grappa and form the building blocks for workflows.
News
- 05/17/2013:
Alida will be presented at the MVA 2013, which is the Thirteenth IAPR International Conference on Machine Vision Applications.
The title of the contribution is A Framework Unifying the Development of Image Analysis Algorithms and Associated User Interfaces.
The conference will take place in Kyoto/Japan from May 21st to 23rd. We hope to meet you there!
- 05/17/2013:
Release of version 2.2.
Grappe has increased its user-friendliness by supporting key shortcuts now. In addition, the mechanism to save and load configurations in Alida
has switched from the Java serialization framework to XML beans. Finally, many bugfixes in Alida's core were again applied.
- 02/28/2013:
Release of version 2.1.
The new release includes many bugfixes in Alida's core improving the stability, and minor improvements regarding layout and handling of Alida's user interfaces.
Note that also a new version of the manual was released which now covers all important aspects of programming with Alida.
- 12/20/2012:
Release of version 2.0.
This version includes the graphical editor Grappa to compose workflows of operators.
- 11/10/2012:
Updated version of Chipory available for download.
- 26/07/2012:
Alida will be presented at the ImageJ User & Developer Conference 2012 to be held at the end of October in Mondorf-les-Bains, Luxembourg.
There will be a poster presentation combined with a demo entitled Automatic Generation of Processing Histories using Alida.
It will provide an introduction to the processing history mechanism implemented in Alida, and its usage.
Also a talk will be given about our new graphical editor Grappa entitled Graphical Programming in Alida and ImageJ 2.0 with Grappa.
- 12/07/2012:
New release of chipory ready for download
- 21/03/2012:
Alida will be presented at the IEEE International Symposium on Biomedical Imaging (ISBI) to be held at the end of April in Barcelona.
There will be a poster presentation combined with a demo at the Bioimage Analysis Workshop on Open Source Software held in conjunction with ISBI.
The title will be ALIDA - Automatic generation of user interfaces for data analysis algorithms.
- 12/03/2012:
The Alida concept now features a prototypical implementation in C++! It supports generic operator execution from command line.
Release 0.1 is available now from the download page.
- 02/03/2012:
Alida release 1.2 has just been published! You can get the new version in the download section!
Main new feature: generic user interface generation for operators to use them from commandline and via a Swing GUI!
Licensing information
Alida is free software: you can redistribute it and/or modify under the terms of the GNU General Public License version 3 or (at your option) any later version as published by the Free Software Foundation.
Current releases
Java
You can download Alida's Java implementation in version 2.2 here.
You can find the API documentation for this release here.
C++
You can download Alida's prototypical C++ implementation in version 0.1 here.
You can find the API documentation for this release here.
Manual
Alida offers you a user and programmer manual you can download here.
Note that the manual is currently focussed on the mature Java implementation, but it will be updated in near future to cover both implementations.
Bug reports & Feature requests
Bug reports and feature requests can be submitted via the bugtracking system or by mail to alida@informatik.uni-halle.de.
Before reporting a new bug, please check if that bug has already been submitted in the report list.