[ome-devel] adding woolz to bioformats

Melissa Linkert melissa at glencoesoftware.com
Mon Jul 1 14:07:30 BST 2013


Hi Bill,

> Thanks for the quick replies. I'll look to getting the
> stage labels into the Reader and starting on the writer
> next week. *Q* Will these work outside OME, eg in imagej?

As long as the reader is included in Bio-Formats and the user has Woolz
installed, then yes, it should work anywhere Bio-Formats is already used
(ImageJ, Matlab, etc.).

> I'm not sure how you want to handle the packaging? You'll
> probably want to avoid any dependence on Woolz in bioformats.
> I've a few Woolz plugins, eg gimp, Amira, etc and my thoughts
> were to pushing this out to a new Woolz associated repository
> but I'm happy with any way of getting it out there. I've
> cloned but not forked in git, seems overkill yet as it's only
> a single file modification and two new source files. Some
> time ago (before swig existed!) I built a java wrapper
> generator for Woolz. This makes most of the higher level stuff
> of Woolz available to Java. It's probably only us that would
> be interested, but it may be of interest? It's the volume of
> stuff that's pulled in that makes me think you might want to
> keep it separate, eg 500+ Woolz Java files and 8 Woolz libs.

For the moment, the best thing is probably:

  * put the Woolz Java library wherever you want, as long as a .jar is available
  * put the calls to the Woolz library in a service (essentially, a
    wrapper around the Woolz Java library that can fail gracefully if
    it's missing)
  * have the Woolz reader call the service; if the service detects that
    the Woolz library is missing, then initFile(String) can throw and
    exception and isThisType(*) can return false

The service and reader then go in bioformats.git, and it's the user's
responsibility to make sure that the Woolz library is installed.  An
example of how this works in a reader is:

https://github.com/openmicroscopy/bioformats/blob/develop/components/scifio/src/loci/formats/in/OMETiffReader.java#L182

and the corresponding service interface and implementation:

https://github.com/openmicroscopy/bioformats/blob/develop/components/scifio/src/loci/formats/services/OMEXMLService.java
https://github.com/openmicroscopy/bioformats/blob/develop/components/scifio/src/loci/formats/services/OMEXMLServiceImpl.java

Regards,
-Melissa

On Fri, Jun 28, 2013 at 05:40:35PM +0100, Bill Hill wrote:
> Melissa & Roger,
> 
> Thanks for the quick replies. I'll look to getting the
> stage labels into the Reader and starting on the writer
> next week. *Q* Will these work outside OME, eg in imagej?
> 
> I'm not sure how you want to handle the packaging? You'll
> probably want to avoid any dependence on Woolz in bioformats.
> I've a few Woolz plugins, eg gimp, Amira, etc and my thoughts
> were to pushing this out to a new Woolz associated repository
> but I'm happy with any way of getting it out there. I've
> cloned but not forked in git, seems overkill yet as it's only
> a single file modification and two new source files. Some
> time ago (before swig existed!) I built a java wrapper
> generator for Woolz. This makes most of the higher level stuff
> of Woolz available to Java. It's probably only us that would
> be interested, but it may be of interest? It's the volume of
> stuff that's pulled in that makes me think you might want to
> keep it separate, eg 500+ Woolz Java files and 8 Woolz libs.
> 
> Cheers,
> Bill
> 
> 
> >Hi Bill,
> >
> >>*Q* At the meeting we talked about some way of encoding the
> >>origin (Woolz objects have an arbitrary, possibly -ve origin).
> >>I can't remember, did it involve stage coordinates meta-data?
> >
> >The metadata I was referring to was:
> >
> >http://www.openmicroscopy.org/Schemas/Documentation/Generated/OME-2012-06/ome_xsd.html#StageLabel
> >
> >...which is "setStageLabelX", "setStageLabelY", and "setStageLabelZ" in
> >the MetadataStore interface.
> >
> >>Test run:
> >>
> >>bill at bill-lt% setenv LD_LIBRARY_PATH \
> >>               /home/bill/src/Bioformats/bioformats/lib
> >>bill at bill-lt% ./tools/showinf ~/pics/artic_s4_02_06_06.wlz
> >>Checking file format [Woolz]
> >>Initializing reader
> >>WlzReader initializing /home/bill/pics/artic_s4_02_06_06.wlz
> >>Initialization took 0.038s
> >
> >That all certainly looks like reasonable output; I would suggest
> >checking with the '-omexml' flag as well to make sure that the generated
> >OME-XML is valid.  Do you have a branch for this reader on Github?
> >
> >Regards,
> >-Melissa
> >
> >On Fri, Jun 28, 2013 at 05:00:58PM +0100, Bill Hill wrote:
> >>After speaking to Melissa at the Paris meeting I've written a
> >>Woolz reader for bioformats using the JNI. There are still a
> >>few bits to complete and I haven't started the writer, but
> >>the basics are there.
> >>
> >>*Q* At the meeting we talked about some way of encoding the
> >>origin (Woolz objects have an arbitrary, possibly -ve origin).
> >>I can't remember, did it involve stage coordinates meta-data?
> >>
> >>Test run:
> >>
> >>bill at bill-lt% setenv LD_LIBRARY_PATH \
> >>               /home/bill/src/Bioformats/bioformats/lib
> >>bill at bill-lt% ./tools/showinf ~/pics/artic_s4_02_06_06.wlz
> >>Checking file format [Woolz]
> >>Initializing reader
> >>WlzReader initializing /home/bill/pics/artic_s4_02_06_06.wlz
> >>Initialization took 0.038s
> >>
> >>Reading core metadata
> >>Filename = /home/bill/pics/artic_s4_02_06_06.wlz
> >>Series count = 1
> >>Series #0 :
> >>         Image count = 1
> >>         RGB = false (1)
> >>         Interleaved = false
> >>         Indexed = false (false color)
> >>         Width = 424
> >>         Height = 199
> >>         SizeZ = 1
> >>         SizeT = 1
> >>         SizeC = 1
> >>         Thumbnail size = 128 x 60
> >>         Endianness = motorola (big)
> >>         Dimension order = XYZCT (certain)
> >>         Pixel type = uint8
> >>         Valid bits per pixel = 8
> >>         Metadata complete = false
> >>         Thumbnail series = false
> >>         -----
> >>         Plane #0 <=> Z 0, C 0, T 0
> >>
> >>
> >>Reading pixel data (0-0)
> >>         Read 1/1 planes (100%)
> >>[done]
> >>0.027s elapsed (27.0ms per plane)
> >>
> >>Launching image viewer
> >>
> >>Reading global metadata
> >>
> >>Reading metadata
> >>
> >>Cheers,
> >>Bill
> >>--
> >>Bill Hill                              : http://www.hgu.mrc.ac.uk
> >>MRC Human Genetics Unit                : http://www.emouseatlas.org
> >>MRC IGMM, University of Edinburgh      : Bill.Hill at igmm.ed.ac.uk
> >>Western General Hospital               : +44-131-3322471x2119
> >>Crewe Road, Edinburgh EH4 2XU, UK.     : +44-131-4678456
> >>
> >>The University of Edinburgh is a charitable body, registered in
> >>Scotland, with registration number SC005336.
> >>
> >>_______________________________________________
> >>ome-devel mailing list
> >>ome-devel at lists.openmicroscopy.org.uk
> >>http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
> >
> 
> -- 
> Bill Hill                              : http://www.hgu.mrc.ac.uk
> MRC Human Genetics Unit                : http://www.emouseatlas.org
> MRC IGMM, University of Edinburgh      : Bill.Hill at igmm.ed.ac.uk
> Western General Hospital               : +44-131-3322471x2119
> Crewe Road, Edinburgh EH4 2XU, UK.     : +44-131-4678456
> 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
> 


More information about the ome-devel mailing list