<div dir="ltr">I have been saving the metadata.txt with the ome-tifs, but now I realize there has been an unnoticed error at the import step. We normally import the folders and not the files directly, so there has not been any indications of this error to the user. If I import ome-tif + metadata.txt files directly, I discovered that the metadata.txt files are not processed correctly by BioFormats. The following error is logged in the OMERO-insight64 importer:<div><div><br></div><div><div><font size="1" face="monospace">java.lang.NumberFormatException: For input string: ""</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at java.lang.NumberFormatException.forInputString(Unknown Source)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at java.lang.Integer.parseInt(Unknown Source)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">     </span>at java.lang.Integer.parseInt(Unknown Source)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">     </span>at loci.formats.in.MicromanagerReader.parsePosition(MicromanagerReader.java:765)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at loci.formats.in.MicromanagerReader.parsePosition(MicromanagerReader.java:441)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at loci.formats.in.MicromanagerReader.initFile(MicromanagerReader.java:305)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.FormatReader.setId(FormatReader.java:1397)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">        </span>at loci.formats.ImageReader.setId(ImageReader.java:842)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.ChannelFiller.setId(ChannelFiller.java:223)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:291)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.Memoizer.setId(Memoizer.java:662)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at ome.formats.importer.ImportCandidates.singleFile(ImportCandidates.java:427)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at ome.formats.importer.ImportCandidates.handleFile(ImportCandidates.java:576)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at ome.formats.importer.ImportCandidates.execute(ImportCandidates.java:384)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at ome.formats.importer.ImportCandidates.<init>(ImportCandidates.java:222)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at ome.formats.importer.ImportCandidates.<init>(ImportCandidates.java:174)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at org.openmicroscopy.shoola.env.data.OMEROGateway.getImportCandidates(OMEROGateway.java:5989)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.importFile(OmeroImageServiceImpl.java:1070)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.importFile(ImagesImporter.java:73)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.access$000(ImagesImporter.java:48)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter$1.doCall(ImagesImporter.java:97)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at org.openmicroscopy.shoola.env.data.views.BatchCall.doStep(BatchCall.java:144)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at org.openmicroscopy.shoola.util.concur.tasks.CompositeTask.doStep(CompositeTask.java:226)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at org.openmicroscopy.shoola.env.data.views.CompositeBatchCall.doStep(CompositeBatchCall.java:126)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">        </span>at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.exec(ExecCommand.java:165)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">     </span>at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.run(ExecCommand.java:276)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">      </span>at org.openmicroscopy.shoola.util.concur.tasks.AsyncProcessor$Runner.run(AsyncProcessor.java:91)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at java.lang.Thread.run(Unknown Source)</font></div><div><font size="1" face="monospace"><br></font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at org.openmicroscopy.shoola.env.data.util.Status.update(Status.java:594)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at ome.formats.importer.ImportCandidates.safeUpdate(ImportCandidates.java:536)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at ome.formats.importer.ImportCandidates.singleFile(ImportCandidates.java:471)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at ome.formats.importer.ImportCandidates.handleFile(ImportCandidates.java:576)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at ome.formats.importer.ImportCandidates.execute(ImportCandidates.java:384)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at ome.formats.importer.ImportCandidates.<init>(ImportCandidates.java:222)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at ome.formats.importer.ImportCandidates.<init>(ImportCandidates.java:174)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at org.openmicroscopy.shoola.env.data.OMEROGateway.getImportCandidates(OMEROGateway.java:5989)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.importFile(OmeroImageServiceImpl.java:1070)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.importFile(ImagesImporter.java:73)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.access$000(ImagesImporter.java:48)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter$1.doCall(ImagesImporter.java:97)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at org.openmicroscopy.shoola.env.data.views.BatchCall.doStep(BatchCall.java:144)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at org.openmicroscopy.shoola.util.concur.tasks.CompositeTask.doStep(CompositeTask.java:226)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at org.openmicroscopy.shoola.env.data.views.CompositeBatchCall.doStep(CompositeBatchCall.java:126)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">        </span>at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.exec(ExecCommand.java:165)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">     </span>at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.run(ExecCommand.java:276)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">      </span>at org.openmicroscopy.shoola.util.concur.tasks.AsyncProcessor$Runner.run(AsyncProcessor.java:91)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at java.lang.Thread.run(Unknown Source)</font></div><div><font size="1" face="monospace">Caused by: java.lang.NumberFormatException: For input string: ""</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at java.lang.NumberFormatException.forInputString(Unknown Source)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at java.lang.Integer.parseInt(Unknown Source)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">     </span>at java.lang.Integer.parseInt(Unknown Source)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">     </span>at loci.formats.in.MicromanagerReader.parsePosition(MicromanagerReader.java:765)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at loci.formats.in.MicromanagerReader.parsePosition(MicromanagerReader.java:441)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">  </span>at loci.formats.in.MicromanagerReader.initFile(MicromanagerReader.java:305)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.FormatReader.setId(FormatReader.java:1397)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">        </span>at loci.formats.ImageReader.setId(ImageReader.java:842)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">   </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.ChannelFiller.setId(ChannelFiller.java:223)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:291)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at loci.formats.Memoizer.setId(Memoizer.java:662)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap"> </span>at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">       </span>at ome.formats.importer.ImportCandidates.singleFile(ImportCandidates.java:427)</font></div><div><font size="1" face="monospace"><span style="white-space:pre-wrap">    </span>... 16 more</font></div></div><div><br></div><div>This error is given by both MM 1.4.23-nightly & MM 2.0-beta3-nightly metadata.txt files. ome-tifs from these import without errors.</div><div><br></div><div><br></div><div>Best,</div><div><br></div><div>Jens<br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 15, 2018 at 3:13 PM Sebastien Besson (Staff) <<a href="mailto:s.besson@dundee.ac.uk" target="_blank">s.besson@dundee.ac.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word;line-break:after-white-space">
<div dir="auto" style="word-wrap:break-word;line-break:after-white-space">
<div dir="auto" style="word-wrap:break-word;line-break:after-white-space">
<div dir="auto" style="word-wrap:break-word;line-break:after-white-space">
Hi Jens,
<div><br>
</div>
<div>
<div><br>
<blockquote type="cite">
<div>On 13 Nov 2018, at 14:42, Jens Eriksson <<a href="mailto:jenseri@gmail.com" target="_blank">jenseri@gmail.com</a>> wrote:</div>
<div>
<div dir="ltr"> <snip></div></div></blockquote></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><blockquote type="cite"><div><div dir="ltr"><br>
<div>I recently finished implementing an OMERO.server with a OMERO.web interface, together with the OMERO.figure & OMERO.iviewer apps (good job BTW, users and PIs LOVE these!).</div>
</div></div></blockquote></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><blockquote type="cite"><div><div dir="ltr"></div>
</div>
</blockquote>
<div><br>
</div>
<div>Thanks for the positive feedback. Always appreciated.</div></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div>
<br>
<blockquote type="cite">
<div>
<div dir="ltr">
<div>However, neither OMERO.viewer or OMERO.figure display correct time points on timelapse data we generate.</div>
<div>It seems like OMERO/Bio-Formats is not correctly reading (or utilizing) TimeIncrement & TimeIncrementUnit from Micro-Manager generated files, even though the deltaT value for each image is displayed correctly.</div>
<div>We are running both MM 1.4.23-nightly and 2.0-beta-nightly to control our microscope, depending on user preference.</div>
<div>I occasionally upgrade the nightlies, but the problems I describe are common for all versions tested.</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div dir="ltr">
<div>How can I get correct TimeIncrement & TimeIncrementUnit values set for my existing Micromanager generated data in the OMERO.server/web environment?</div>
</div>
</blockquote>
</div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div>
<blockquote type="cite">
<div>
<div dir="ltr">
<div>Question 2:</div>
<div>During the setup of the MM configuration files I have been very systematic and thorough, so that all relevant data (filter bandpass, product numbers, objective NAs, etc...) is captured in the Micro-Manager metadata through informative device and
 property names.</div>
<div>As a facility manager it would be very helpful for me and my users to have easy access to this data through OMERO.</div>
</div>
</div>
</blockquote>
<br>
</div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><div>
<div>There are different types of metadata and file representations created by Micro-Manager. For</div>
<div>versions 1.4.x, we tried to summarise the representation of the various scenarios in the table</div>
<div>at the bottom of this documentation page [1].</div>
<div><br>
</div>
<div>As you mentioned Micro-Manager captures extensive metadata which is stored within a TIFF tag.</div>
<div>This metadata can optionally be saved as a separate text file. Additionally, a subset is also</div>
<div>converted into OME metadata and stored in the ImageDescription tag as per the OME-TIFF</div>
<div>specification.</div>
<div><br>
</div>
<div>To maximise the acquisition metadata, our current recommendation is to create companion files</div>
<div>at acquisition containing the MM metadata and use this file when importing the data into OMERO.</div>
<div>This should result in the data being available as Original Metadata in the right-hand panel - see</div>
<div>screenshots below for an example with a sample dataset [2] created with the demo configuration.</div>
</div>
<div><br>
</div>
<div>[1] <a href="http://docs.openmicroscopy.org/bio-formats/5.9.2/users/micromanager/index.html" target="_blank">http://docs.openmicroscopy.org/bio-formats/5.9.2/users/micromanager/index.html</a> </div>
<div>[2] <font color="#0069d9"><span><u><a href="http://downloads.openmicroscopy.org/images/Micro-Manager/1.4.22/thomas/test/test2_stack/" target="_blank">http://downloads.openmicroscopy.org/images/Micro-Manager/1.4.22/thomas/test/test2_stack/</a></u></span></font></div>
<div><br>
</div>
<div><img id="m_2977828888505119788m_2889380162356099707D802730A-08D4-4BA2-9F86-7312DC5A2F2E"></div></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div>
<br>
<blockquote type="cite">
<div>
<div dir="ltr">
<div>Is there some plugin/app/script that makes the Micro-Manager metadata accessible on the OMERO.server, or at least viewable from the web interface?</div>
<div>If not, I can try to implement one. I have spent some time reading through tif-tags and MM metadata for other projects, but there is no need to reinvent the wheel if there is something out there.</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><div>If you cannot get the data in the representation described above or if you have data already</div>
<div>imported, the expectationfrom the Micro-Manager file format specification [3] is that the</div>
<div>extra metadata should be stored in the private TIFF tag 51123. </div>
<div><br>
</div>
<div>
<div>
<div>[3] <a href="https://micro-manager.org/wiki/Micro-Manager_File_Formats#Image_File_Directories" target="_blank">https://micro-manager.org/wiki/Micro-Manager_File_Formats#Image_File_Directories</a></div>
<div><br>
</div>
</div>
</div></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div>
<blockquote type="cite">
<div>
<div dir="ltr">
<div>Comments:</div>
<div><br>
</div>
<div>It has always annoyed me that MM ome-tiff files won't display a correct frame interval when drag&dropped into ImageJ/FIJI.</div>
<div>On the other hand, if images are instead opened through the Bio-Formats Importer, then they loose their LUTs (but gain the lost frame intervals).</div>
<div>The lost LUTs is also a (minor) issue when importing MM data to OMERO.server.</div>
<div>I suspect that this is because ImageJ has its own TIF-tag that stores imageJ-metadata, and that there is some inconsistencies in how MM writes the tif tags here.</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div>
<div dir="ltr">
<div>Anyway, thanks for great softwares everyone, let's make them even better!</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><div>All agreed. Micro-manager datasets are certainly a very interesting example of imaging data</div>
<div>where the overall metadata is stored according to various models (OME, ImageJ, MM-JSON)</div>
<div>and in different places. Preliminary discussion have been engaged on how to reconcile these</div>
<div>various sources of metadata when reading the files [4]. In the short run, the suggestion described</div>
<div>above is the one that hopefully should offer the maximal preservation of the original metadata.</div>
<div><br>
</div>
[4] <a href="https://github.com/openmicroscopy/bioformats/pull/2213" target="_blank">https://github.com/openmicroscopy/bioformats/pull/2213</a> </div>
<div><br>
</div>
<div>Best,</div>
<div>Sebastien</div>
<div><br>
<blockquote type="cite">
<div></div></blockquote></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><blockquote type="cite"><div>
<div dir="ltr">
<div>Dr. Jens Eriksson, manager</div>
<div>Sellin Imaging Platform</div>
<div>Dep. Medical Biohecmistry and Microbiology</div>
<div>Uppsala University</div>
<div>Sweden</div>
</div></div></blockquote></div></div></div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div><div><blockquote type="cite"><div>
_______________________________________________<br>
ome-users mailing list<br>
<a href="mailto:ome-users@lists.openmicroscopy.org.uk" target="_blank">ome-users@lists.openmicroscopy.org.uk</a><br>
<a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users" target="_blank">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
<br>
<span style="font-size:10pt">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</div>

_______________________________________________<br>
ome-users mailing list<br>
<a href="mailto:ome-users@lists.openmicroscopy.org.uk" target="_blank">ome-users@lists.openmicroscopy.org.uk</a><br>
<a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users" rel="noreferrer" target="_blank">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users</a><br>
</blockquote></div></div></div>