[ome-devel] adding woolz to bioformats

Bill Hill Bill.Hill at igmm.ed.ac.uk
Tue Jul 2 09:44:21 BST 2013


Melissa,

Thanks for all this help. I'll let you know how I get on.

Cheers,
Bill

> 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.
>>
>

-- 
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