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
_______________________________________________
ImageJ-devel mailing list
ImageJ-devel@imagej.net
http://imagej.net/mailman/listinfo/imagej-devel