<div dir="ltr"><div><div><div><div><div><div>Hello all,<br><br></div><div>In brief: Micro-Manager contains code for writing OME metadata, none of us understand it, and it doesn't always work; help?<br></div><div><br></div>We at Micro-Manager recently discovered that we're using a badly out-of-date version of the OME metadata libraries. I don't know exactly what the version is, but it's still under the loci.common / loci.formats namespace. This breaks our compatibility with Fiji (at least when it comes to trying to save multipage TIFF files), which is pretty unfortunate. <br><br>Additionally, when bugs pop up, we're rather at sea. For example, I recently discovered that we get an ArrayIndexOutOfBoundsException when calling MetadataTools.populateMetadata() if the "series" parameter is not provided "in order" (that is, if we hand it 1 first then it errors; if we hand it 0 and then 1 then everything is fine). It took me a long time to even figure that much out, because the error contained no explanation; I had to compare the values of the arguments across multiple versions of Micro-Manager and play "spot the difference". <br><br>Ideally, we'd patch our OME metadata-writing code so it could handle the "unordered" case cleanly, but I'm not confident in my ability to change this code without introducing potentially-subtle bugs. In fact, none of us have any working knowledge of the OME library; apparently our implementation was written for us by Melissa Linkert.<br></div></div><br></div>Micro-Manager doesn't actually read the OME metadata itself; it's 
present solely so that other programs can load some of our metadata. We'd like to upgrade our libraries to something more modern, but documentation appears to be scarce, and I wouldn't really know where to get started. Any advice would be appreciated.<br><br></div>Thanks for your time.<br><br></div>-Chris Weisiger<br></div>