<div dir="ltr">Hi Heinrich,<div><br></div><div><div>> I am currently developing a microscope that is controlled by a LabView</div><div>> program and generates a massive amount of data output. As I like</div><div>> ome-tiff, I'd like to save my images in that format.</div></div><div><br></div><div>Your major options are:</div><div><br></div><div>1) Wait for the native Bio-Formats C++ implementation [1], slated for OME version 5.1 (and subject to change until 5.2).</div><div> - Pro: No more need for Java on the acquisition machine!</div><div> - Con: Non-trivial to build and deploy due to required dependencies.</div><div> - Con: Not actually ready yet. ;-)</div><div><br></div><div>2) Use the Bio-Formats C++ bindings [2], available now.</div><div> - Pro: Provides access to the entire Bio-Formats API.</div><div> - Con: Non-trivial to build and deploy due to required dependencies.</div><div><br></div><div>3) Use an interprocess solution such as:</div><div> - Subimager [3] -- used by CellProfiler</div><div> - A pipes-based bridge [4] -- used by ITK</div><div> - Pro: As fast as in-process solutions, with fewer dependencies.</div><div> - Con: Requires some coding to conform to your project's requirements.</div><div><br></div><div>4) Write TIFF using libtiff, injecting your own OME-XML at the end. General approach:</div><div><br></div><div>- Write a stub ImageDescription comment (four chars or less; e.g., "xx") using libtiff.</div><div><br></div><div>- Generate your own OME-XML, maybe using a C++ XML library of your choice.</div><div><br></div><div>- Inject the XML string by appending it to the TIFF (fast), then seeking to the ImageDescription offset and length fields of the TIFF and updating them accordingly (also fast).</div><div><br></div><div>- This approach avoids needing to rewrite the entire TIFF file just to add OME-XML later. This is how we do it in WiscScan, although we do use the Bio-Formats C++ bindings (see option 2 above) for actually building the OME-XML string itself using the Bio-Formats MetadataStore API.<br></div><div><br></div><div>Further reading:</div><div><a href="http://loci.wisc.edu/software/interfacing-non-java-code">http://loci.wisc.edu/software/interfacing-non-java-code</a><br></div><div><br></div><div>Regards,</div><div>Curtis</div><div><br></div><div><div>[1] <a href="http://openmicroscopy.org/site/support/bio-formats5.1/developers/cpp.html">http://openmicroscopy.org/site/support/bio-formats5.1/developers/cpp.html</a><br></div><div>[2] <a href="http://openmicroscopy.org/site/support/bio-formats5.0/developers/c-bindings.html">http://openmicroscopy.org/site/support/bio-formats5.0/developers/c-bindings.html</a></div></div><div>[3] <a href="https://github.com/CellProfiler/subimager">https://github.com/CellProfiler/subimager</a></div><div>[4] <a href="https://github.com/scifio/scifio-itk-bridge">https://github.com/scifio/scifio-itk-bridge</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 19, 2015 at 3:42 PM, Grabmayr, Heinrich <span dir="ltr"><<a href="mailto:Heinrich.Grabmayr@ph.tum.de" target="_blank">Heinrich.Grabmayr@ph.tum.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi everyone,<br>
<br>
I am currently developing a microscope that is controlled by a LabView program and generates a massive amount of data output. As I like ome-tiff, I'd like to save my images in that format. Now, while LabView can easily talk to .dlls, java libraries are harder to implement. I was in a similar situation before, and back then, I used libtiff to write files that comply with ome-tiff (2010 schema). As I am not a software engineer, the solution turned out to work for me (with low data rates) but is not nice and probably far from efficient.<br>
Now with these more stringent requirements, I would be interested in a better solution. Might anyone have run into the same situation and come up with something good?<br>
When looking around the loci website, I found mention of i3dcore, and that it uses java4cpp to wrap the library. Do you know about how this performs? Or do you know any other solution, maybe not ome-tiff after all?<br>
To be more specific, in one type of experiment I want to do, I'll acquire 30GB of images into RAM in 10 min and want to then save this to files.<br>
<br>
Thanks<br>
Heinrich<br>
_______________________________________________<br>
ome-devel mailing list<br>
<a href="mailto:ome-devel@lists.openmicroscopy.org.uk">ome-devel@lists.openmicroscopy.org.uk</a><br>
<a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" target="_blank">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</a><br>
</blockquote></div><br></div>