<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Curtis,<div class=""><br class=""></div><div class="">Many thanks. We may dump the captured frames to disk in whatever format allows for the fastest time to save, perhaps raw data, since it’s possible that the streaming acquisition may run quickly and we need to release the memory used for holding the images as soon as possible. Our image acquisition approach allows for image frames to be returned to the camera for refuse to avoid memory reallocation.</div><div class=""><br class=""></div><div class="">But we certainly should plan as you have outlined to accumulate the metadata during acquisition.</div><div class=""><br class=""></div><div class="">Then we can replay the frames out of raw storage into the OME.TIFF in our case we might be writing the image data   twice but increasingly we are working on computers with flash drives so it’s probably not too big a hit.</div><div class=""><br class=""></div><div class="">Being able to capture the data at highest possible frame rate is probably more important for us.</div><div class=""><br class=""></div><div class="">— ME</div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 2 Dec 2016, at 16:45, Curtis Rueden <<a href="mailto:ctrueden@wisc.edu" class="">ctrueden@WISC.EDU</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Michael,<div class=""><br class=""></div><div class=""><div class="">> Since I will need the ability to stream frames, and all my frames will</div><div class="">> be of same size and type, I’ll write the frame data to disk as it is</div><div class="">> collected and the populate the OME.TIFF file by recovering the frames</div><div class="">> from disk. Not ideal but not too much work.                    </div></div><div class=""><br class=""></div><div class="">For what it's worth, here is how we do it at LOCI with our WiscScan laser scanning software:</div><div class=""><br class=""></div><div class="">During the run:</div><div class=""><br class=""></div><div class="">- Acquire TIFF frames, writing them to individual files on disk.</div><div class=""><br class=""></div><div class="">- Keep an OME-XML data structure in memory which is continuously updated as the acquisition proceeds.</div><div class=""><br class=""></div><div class="">- Write a snapshot of the OME-XML block to a temporary file on disk, in case the run crashes.</div><div class=""><br class=""></div><div class="">At the completion of the run:</div><div class=""><br class=""></div><div class="">- Rewrite all TIFF frames into the final desired organization—in our case, one TIFF file per time point and channel, with all Z positions in the same file.</div><div class=""><br class=""></div><div class="">- Generate the final OME-XML block from the OME-XML data structure, injecting it into every 10th TIFF file.</div><div class=""> -- The other 9 TIFFs receive a "partial OME-XML metadata" stub as described in the OME-TIFF specification [1].</div><div class=""> -- This provides some redundancy of metadata without bloating the size of all TIFF files.</div><div class=""><br class=""></div><div class="">It is also feasible not to rewrite the TIFFs ever, and instead efficiently inject the final OME-XML into each existing TIFF file. The Bio-Formats library provides convenience methods for doing this [2], as long as you write a stub ImageDescription initially.</div><div class=""><br class=""></div><div class="">In this way, it is possible to do e.g. streaming acquisition, and ultimately end up with OME-TIFF.</div><div class=""><br class=""></div><div class="">Regards,</div><div class="">Curtis</div><div class=""><br class=""></div><div class="">[1] <a href="http://www.openmicroscopy.org/site/support/ome-model/ome-tiff/specification.html#partial-ome-xml-metadata" class="">http://www.openmicroscopy.org/site/support/ome-model/ome-tiff/specification.html#partial-ome-xml-metadata</a></div><div class="">[2] <a href="https://github.com/openmicroscopy/bioformats/blob/v5.2.4/components/formats-bsd/src/loci/formats/tiff/TiffSaver.java#L892-L897" class="">https://github.com/openmicroscopy/bioformats/blob/v5.2.4/components/formats-bsd/src/loci/formats/tiff/TiffSaver.java#L892-L897</a></div></div><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><span style="font-size:12.8px" class="">--</span></div><div class=""><span style="font-size:12.8px" class="">Curtis Rueden</span><br class=""></div><div class=""><span style="font-size:12.8px" class="">LOCI software architect - <a href="http://loci.wisc.edu/software" target="_blank" class="">http://loci.wisc.edu/software</a></span></div><div class="">ImageJ2 lead, Fiji maintainer - <span style="font-size:12.8px" class=""><a href="http://imagej.net/User:Rueden" target="_blank" class="">http://imagej.net/User:Rueden</a></span></div><div class="">Did you know ImageJ has a forum? <a href="http://forum.imagej.net/" target="_blank" class="">http://forum.imagej.net/</a></div><div class=""><br class=""></div></div></div></div></div></div></div></div>
<br class=""><div class="gmail_quote">On Fri, Dec 2, 2016 at 10:06 AM, Michael Ellis <span dir="ltr" class=""><<a href="mailto:michael.ellis@dsuk.biz" target="_blank" class="">michael.ellis@dsuk.biz</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On 2 Dec 2016, at 15:40, Roger Leigh <<a href="mailto:rleigh@dundee.ac.uk" target="_blank" class="">rleigh@dundee.ac.uk</a>> wrote:</div><br class="m_-7314666743622578867Apple-interchange-newline"><div class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">On 01/12/16 15:26, Michael Ellis wrote:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="">Dear Roger<br class=""><br class="">The main body of my code can be seen<br class="">here: <a href="https://cloud.karyotyper.com/s/K9SoEKgLOcbgwTg" target="_blank" class="">https://cloud.karyotyper.com/<wbr class="">s/K9SoEKgLOcbgwTg</a><br class=""><br class="">CaptureImages is essential a sorted ArrayList of CaptureImage<br class="">CapturedImage is a BufferImage that has a Map<String, Object> associated<br class="">with it for additional image properties such as channel name, colour,<br class="">stage position, exposure time etc.<br class=""><br class="">My BioFormatsWriter class interrogates those extra image properties to<br class="">build the extra metadata.<br class=""><br class="">Because BioFormats has to have all metadata constructed before writing<br class="">the pixel data, this  BioFormatsWriter simple implementation<br class="">construct all the metadata as each image series is added with the<br class="">addSeries() method, and then actually writes the images data when it<br class="">gets to the close() method.<br class=""></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">I checked through the OMETiffWriter code, and unfortunately it does</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">require all the image series' to be present up-front.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><a href="https://github.com/openmicroscopy/bioformats/blob/develop/components/formats-bsd/src/loci/formats/out/OMETiffWriter.java#L218" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank" class="">https://github.com/<wbr class="">openmicroscopy/bioformats/<wbr class="">blob/develop/components/<wbr class="">formats-bsd/src/loci/formats/<wbr class="">out/OMETiffWriter.java#L218</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">This could potentially be made more general, but will require more</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">thought about its implications.  The writer is currently oblivious to</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">the subsequently added image series', which is why it's unfortunately</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">not working properly as it stands.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""></div></blockquote><div class=""><br class=""></div></span>Since I will need the ability to stream frames, and all my frames will be of same size and type, I’ll write the frame data to disk as it is collected and the populate the OME.TIFF file by recovering the frames from disk. Not ideal but not too much work.                                                                                                                                                                                                                                                   </div><div class=""><span class=""><br class=""><blockquote type="cite" class=""><div class=""><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="">Some pointers in regards to what “is not facet-valid with respect to<br class="">pattern '(urn:lsid:([\w\-\.]+\.[\w\-\.<wbr class="">]+)+:\S+:\S+)|(\S+:\S+)’” would be<br class="">much appreciated too.<br class=""></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Here the above regular expression is used to validate the "ID"</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">attributes for various elements.  The default is to match the (\S+:\S+)</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">pattern by using identifiers like "Instrument:0", "Channel:1",</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">"FilterSet:2" and so on.  I think use of "Fitc" and "TxRed" as Filter</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">IDs is not matching; you could use e.g. "Model" here as a description,</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">though the most user-visible place is probably on Channel "Name" if you</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">want it visible in user interfaces.  The same applies to</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">"EmulatedCamera_0" on Detector; this is expecting Detector:n as the ID;</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">"Model" is likely the most appropriate attribute here for the camera</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">name.  A shorthand Name attribute would perhaps be a convenient addition</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">to the model for these components, as a shorthand reference, since the</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">ID is essentially a primary key with a strict naming requirement.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""></div></blockquote></span>Yes, that is a terrific help and I will look to make my code comply.<span class=""><br class=""><blockquote type="cite" class=""><div class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">I hope that helps, please let me know if there's anything you'd like</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">explaining further.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""></div></blockquote><div class=""><br class=""></div></span>I am very appreciative of the help you have offered. I am writing a computer assisted microscope application and storage of multiple 5D images with associated metadata has to be tackled one way or another. Rolling my own was not an attractive option especially since ImageJ will be one popular end points and if the ImageJ BioFormats Importer plugin does a half decent job, then I have a real benefit for zero (extra) effort.</div><div class=""><br class=""></div><div class="">Again many thanks!</div><span class=""><div class=""><br class=""></div><div class=""> <br class=""><blockquote type="cite" class=""><div class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Regards,</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Roger</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">--</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Dr Roger Leigh -- Open Microscopy Environment</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Wellcome Trust Centre for Gene Regulation and Expression,</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">College of Life Sciences, University of Dundee, Dow Street,</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Dundee DD1 5EH Scotland UK   Tel: (01382) 386364</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">The University of Dundee is a registered Scottish Charity, No: SC015096</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">______________________________<wbr class="">_________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">ome-devel mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><a href="mailto:ome-devel@lists.openmicroscopy.org.uk" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank" class="">ome-devel@lists.<wbr class="">openmicroscopy.org.uk</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank" class="">http://lists.openmicroscopy.<wbr class="">org.uk/mailman/listinfo/ome-<wbr class="">devel</a></div></blockquote></div><br class=""></span><span class=""><div class="">
<div style="text-align:right" class="">Michael Ellis (Managing Director)</div><div style="text-align:right" class="">Digital Scientific UK Ltd.</div><div style="text-align:right" class=""><a href="http://www.dsuk.biz/" target="_blank" class="">http://www.dsuk.biz</a></div><div style="text-align:right" class=""><a href="mailto:michael.ellis@dsuk.biz" target="_blank" class="">michael.ellis@dsuk.biz</a></div><div style="text-align:right" class="">tel: <a href="tel:+44%201223%20911215" value="+441223911215" target="_blank" class="">+44(0)1223 911215</a></div><div style="text-align:right" class=""><br class=""></div><div style="text-align:right" class="">The Commercial Centre</div><div style="text-align:right" class="">6 Green End</div><div style="text-align:right" class="">Cambridge</div><div style="text-align:right" class="">CB23 7DY</div>

</div>
<br class=""></span></div><br class="">______________________________<wbr class="">_________________<br class="">
ome-devel mailing list<br class="">
<a href="mailto:ome-devel@lists.openmicroscopy.org.uk" class="">ome-devel@lists.<wbr class="">openmicroscopy.org.uk</a><br class="">
<a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" rel="noreferrer" target="_blank" class="">http://lists.openmicroscopy.<wbr class="">org.uk/mailman/listinfo/ome-<wbr class="">devel</a><br class="">
<br class=""></blockquote></div><br class=""></div>
_______________________________________________<br class="">ome-devel mailing list<br class=""><a href="mailto:ome-devel@lists.openmicroscopy.org.uk" class="">ome-devel@lists.openmicroscopy.org.uk</a><br class="">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel<br class=""></div></blockquote></div><br class=""><div class="">
<div style="text-align: right;" class="">Michael Ellis (Managing Director)</div><div style="text-align: right;" class="">Digital Scientific UK Ltd.</div><div style="text-align: right;" class=""><a href="http://www.dsuk.biz" class="">http://www.dsuk.biz</a></div><div style="text-align: right;" class=""><a href="mailto:michael.ellis@dsuk.biz" class="">michael.ellis@dsuk.biz</a></div><div style="text-align: right;" class="">tel: +44(0)1223 911215</div><div style="text-align: right;" class=""><br class=""></div><div style="text-align: right;" class="">The Commercial Centre</div><div style="text-align: right;" class="">6 Green End</div><div style="text-align: right;" class="">Cambridge</div><div style="text-align: right;" class="">CB23 7DY</div>

</div>
<br class=""></div></body></html>