Main Page: Difference between revisions

From Alida
Jump to navigationJump to search
(42 intermediate revisions by the same user not shown)
Line 3: Line 3:
...formerly known as Alida - <span style="color:#CC0000">A</span>utomatic <span style="color:#CC0000">L</span>ogging of Process <span style="color:#CC0000">I</span>nformation in <span style="color:#CC0000">D</span>ata <span style="color:#CC0000">A</span>nalysis  
...formerly known as Alida - <span style="color:#CC0000">A</span>utomatic <span style="color:#CC0000">L</span>ogging of Process <span style="color:#CC0000">I</span>nformation in <span style="color:#CC0000">D</span>ata <span style="color:#CC0000">A</span>nalysis  


{|width="100%"
|-
|style="vertical-align:top; width:65%;"" |
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
<div style="padding: 0.3em 1em 0.7em 1em;">
'''What is Alida?'''<br>
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. Alida's 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.
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. Alida's 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.


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.  
<!--
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. Consequently currently there is only active maintenance and support for the Java implementation of the concept. A prototypical C++ implementation is also available [[CPlusPlus | (C++ version)]], however, still lacks a lot of features and is in general at a rather early stage.
-->


==== Java implementation ====
The Java implementation of the Alida concept is in a quite mature state. It 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 the Alida concept is in a quite mature state. It 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.
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.
</div>
</div>
<br>
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
<div style="padding: 0.3em 1em 0.7em 1em;">
'''Grappa - the Graphical Programming Editor for Alida'''<br>


[[file:Grappa_logo.png|left|link=]]
[[file:Grappa_logo.png|left|100px|link=]]  
<ul>
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.<br> The design of such workflows can best be done graphically, and consequently the Java implementation of Alida now includes '''''Grappa''''', a graphical programming editor for designing workflows. Grappa provides users with an intuitive tool for developing sophisticated image analysis workflows.
<li> '''Grappa''' - the Graphical Programming Editor for Alida<br>
Since release 2.0 Alida extends its operator concept towards combining operators into more complex workflows.<br>
A workflow is defined as a combination of operators being excuted sequentially, in parallel or in a nested fashion. <br>
The design of such workflows can best be done graphically, and Alida's core not only allows GUIs to be automatically generated,<br> but also
significantly simplifies graphical programming. In particular, now the Java implementation of Alida includes Grappa, a graphical programming editor for designing workflows.<br>
Grappa provides users with an intuitive tool for developing sophisticated image analysis workflows.<br>
All Alida operators are right away available as operator nodes in Grappa and form the building blocks for workflows.<br>
All Alida operators are right away available as operator nodes in Grappa and form the building blocks for workflows.<br>
</ul>
</div>
 
</div>
 
<br>
==== C++ implementation ====
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
The C++ implementation is mainly a proof-of-concept implementation. In its current state it 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.
<div style="padding: 0.3em 1em 0.7em 1em;">
 
'''Visit Alida also at...'''<br>
{|
|style="text-align:center;width:10%"|[[file:90px-Imagej-128.png|90px|link=http://imagej.net/MiToBo]]
|style="text-align:center;width:10%"|[[file:90px-Git.png|90px|link=https://github.com/mitobo-hub]]
|-
|style="text-align:center;width:10%"|[http://imagej.net/Alida ImageJ.net]
|style="text-align:center;width:10%"|[https://github.com/alida-hub GitHub]
|}
</div>
</div>
|
|style="vertical-align:top;width:35%;" |
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
<div style="padding: 0.3em 1em 0.7em 1em;">
'''How to get Alida?'''<br>
* You can download Alida 3.0.2 [[Downloads | here]]. <br/>


== News ==
* You can find the API documentation for this release [http://www2.informatik.uni-halle.de/agprbio/alida/api/java/index.html here].<br/>


* 07/18/2014: <br>Release of version 2.4.1<br> Bugfixed an annoying problem with keyboard shortcuts.
* Alida offers you a user and programmer guide which you can download [http://www2.informatik.uni-halle.de/agprbio/alida/downloads/manual/AlidaManual.pdf here].
 
</div>
* 06/29/2014: <br>Release of version 2.4.<br> Main new feature is the support for progress events of operators. In addition, numerous bugfixes and enhancements in the graphical user interfaces are included.
</div>
 
<br>
* 01/31/2014: <br>Release of version 2.3.1.<br> A serious bug in saving and loading workflows and operator configurations was fixed.
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
 
<div style="padding: 0.3em 1em 0.7em 1em;">
* 01/17/2014: <br>Release of version 2.3.<br> The project management of the Alida Java project has switched to Maven, i.e. from now on Alida can be downloaded directly from our Maven server.<br> The new release by itself mainly includes bugfixes in the core of Alida improving the stability.  
'''Latest News'''<br>
 
* 04/2021: Alida 3.0.2 has been released coming with a more fancy handling of parameters on command line resulting in full support for dynamic operator interfaces from command line.
* 05/17/2013: <br> Alida will be presented at the '''MVA 2013''', which is the Thirteenth IAPR International Conference on Machine Vision Applications.<br> The title of the contribution is '''''A Framework Unifying the Development of Image Analysis Algorithms and Associated User Interfaces'''''.<br> The conference will take place in Kyoto/Japan from May 21st to 23rd. We hope to meet you there!
* 05/2020: Alida 3.0 has been released!<br> The main novelty is a change in the online help system which was formerly based on the [https://de.wikipedia.org/wiki/JavaHelp_System Java Help System] and now relies on operator class annotations.
 
* 07/2019: Alida 2.7.11 has been released.
* 05/17/2013: <br>Release of version 2.2.<br>  Grappa has increased its user-friendliness by supporting key shortcuts now. In addition, the mechanism to save and load configurations in Alida<br> has switched from the Java serialization framework to XML beans. Finally, many bugfixes in Alida's core were again applied.
* 02/2019: Alida 2.7.10 has been released.
 
The news archive can be found [[NewsArchive | here]].
* 02/28/2013: <br>Release of version 2.1.<br>  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.<br> Note that also a new version of the manual was released which now covers all important aspects of programming with Alida.
</div>
 
</div>
* [[NewsArchive | News Archive]]
<br>
 
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
== Licensing information ==
<div style="padding: 0.3em 1em 0.7em 1em;">
'''Licensing information'''<br>
Alida is free software: you can redistribute it and/or modify under the terms of the [http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3] or (at your option) any later version as published by the [http://www.fsf.org/ Free Software Foundation].
Alida is free software: you can redistribute it and/or modify under the terms of the [http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3] or (at your option) any later version as published by the [http://www.fsf.org/ Free Software Foundation].
 
</div>
 
</div>
== Current releases ==
<br>
 
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
 
<div style="padding: 0.3em 1em 0.7em 1em;">
==== Java ====
'''Gnu PGP Public Key'''<br>
You can download Alida's Java implementation in version 2.4 [[Downloads | here]]. <br />
Since version 2.7.4 Alida releases are PGP signed. Alida's [https://pgp.mit.edu/pks/lookup?op=get&search=0x72C17EF19A4D2F66 public key] for verification can be found on public key servers, e.g., at https://pgp.mit.edu/.
You can find the API documentation for this release [http://www2.informatik.uni-halle.de/agprbio/alida/api/java/index.html here].<br/>
</div>
 
</div>
==== C++ ====
<br>
You can download Alida's prototypical (!!!) C++ implementation in version 0.1 [[Downloads | here]]. <br />
<div style="margin: 0; margin-right:10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">
You can find the API documentation for this release [http://www2.informatik.uni-halle.de/agprbio/alida/api/cpp/index.html here].<br/>
<div style="padding: 0.3em 1em 0.7em 1em;">
 
'''Bug reports & Feature requests'''<br>
 
Bug reports and feature requests can be submitted as issues on [https://github.com/alida-hub/alida/issues Github]. Before reporting a new bug, please check if that bug has already been submitted.
== Manual ==
</div>
Alida offers you a user and programmer manual you can download [http://www2.informatik.uni-halle.de/agprbio/alida/downloads/manual/AlidaManual.pdf here]. <br>Note that the manual is currently focussed on the mature Java implementation, but it will be updated in near future to cover both implementations.
</div>
 
|}
 
== Bug reports & Feature requests ==
Bug reports and feature requests can be submitted via the [http://www2.informatik.uni-halle.de/agprbio/mitobo-bts/bug_report_page.php bugtracking system] or by mail to [mailto:alida@informatik.uni-halle.de alida@informatik.uni-halle.de].<br />
Before reporting a new bug, please check if that bug has already been submitted in the [http://www2.informatik.uni-halle.de/agprbio/mitobo-bts/view_all_bug_page.php report list].<br />

Revision as of 09:56, 9 April 2021

Alida - Advanced Library for Integrated Development of Data Analysis Applications

...formerly known as Alida - Automatic Logging of Process Information in Data Analysis

What is Alida?
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. Alida's 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.


The Java implementation of the Alida concept is in a quite mature state. It 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.


Grappa - the Graphical Programming Editor for Alida

Grappa logo.png

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 consequently the Java implementation of Alida now 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.


Visit Alida also at...

90px-Imagej-128.png 90px-Git.png
ImageJ.net GitHub

How to get Alida?

  • You can download Alida 3.0.2 here.
  • You can find the API documentation for this release here.
  • Alida offers you a user and programmer guide which you can download here.


Latest News

  • 04/2021: Alida 3.0.2 has been released coming with a more fancy handling of parameters on command line resulting in full support for dynamic operator interfaces from command line.
  • 05/2020: Alida 3.0 has been released!
    The main novelty is a change in the online help system which was formerly based on the Java Help System and now relies on operator class annotations.
  • 07/2019: Alida 2.7.11 has been released.
  • 02/2019: Alida 2.7.10 has been released.

The news archive can be found here.


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.


Gnu PGP Public Key
Since version 2.7.4 Alida releases are PGP signed. Alida's public key for verification can be found on public key servers, e.g., at https://pgp.mit.edu/.


Bug reports & Feature requests
Bug reports and feature requests can be submitted as issues on Github. Before reporting a new bug, please check if that bug has already been submitted.