[ome-devel] Avian VM and Bio-Formats

Roger Leigh r.leigh at dundee.ac.uk
Fri Oct 18 14:35:50 BST 2013


On 17/10/2013 01:28, Johannes Schindelin wrote:

> Also at that meeting, I got into contact with the OpenMole project, and in
> particular with Mark Hammons who not only explained patiently the benefits
> of the Scala language to me, but also pointed out the existence of the
> Avian VM, a small, embeddable, BSD-licensed Java Virtual Machine written
> in C++, with a tiny Just-In-Time compiler, just enough to make it a
> practical choice for running limited Java inside a C++ program/library:
> http://oss.readytalk.com/avian/
>
> It is actually very, very, *very* limited, as I found out when I tried to
> get it to run the bfconvert tool of Bio-Formats.
>
> But I did get it to run bfconvert. To be precise, in my hands, the 5MB
> executable compiled from my fork of Avian was able to run my
> (minimally-diverging) Bio-Formats v4.4.8 fork's
> loci.formats.tools.ImageConverter class to convert Fiji's icon.png (my
> standard example) to a .tiff file (although the colors are off, but
> running the same example with plain Java results in a byte-identical
> file).

Hi Johannes,

This looks very intereresting.  Do you think this could replace the
existing use of JACE to provide C++ bindings, or would we still require
something like JACE to provide all the bindings/entry points into the
Avian VM?  I assume you will still need C++ headers/wrapper proxies
generating somehow?

On a related note, over the last few weeks, the first parts of the
native Bio-Formats C++ implementation have been staged.  This includes
shared libraries for the OME-XML data model and bioformats, though more
work is pending review; it's not yet complete.  In terms of the work
done, this includes all the basic infrastructure (cmake, platform
compatibility code), generated data model, and base model
interfaces/classes.  The metadata store classes are pending, and once
those are done we'll have all the needed bits for native
OME-XML/OME-TIFF reading and writing.

It may be the case that something like the Avian VM would be very useful
in providing support for readers and writers which do not have a native
C++ implementation.


Regards,
Roger

--
Dr Roger Leigh -- Open Microscopy Environment
Wellcome Trust Centre for Gene Regulation and Expression,
College of Life Sciences, University of Dundee, Dow Street,
Dundee DD1 5EH Scotland UK   Tel: (01382) 386364

The University of Dundee is a registered Scottish Charity, No: SC015096


More information about the ome-devel mailing list