<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="">
Hi Paul,
<div class=""><br class="">
</div>
<div class="">The work on the reader looks like it is coming along nicely. I was able to carry out some debugging of the exceptions you have been seeing. The first exception is due to a missing ExperimenterID which can be set as below at the same point which
you are setting instrument and objective ID’s.</div>
<div class="">
<div style="margin: 0px; font-size: 11px; font-family: Monaco;" class=""><span style="color: #7e504f" class=""><br class="">
</span></div>
<div style="margin: 0px; font-size: 11px; font-family: Monaco;" class=""><span style="color: #7e504f" class="">store</span>.setExperimenterID(<span style="text-decoration: underline" class="">MetadataTools</span>.createLSID(<span style="color: #3933ff" class="">"Experimenter"</span>,
0), 0);</div>
</div>
<div class=""><br class="">
</div>
<div class="">Once that NullPointerException is resolved you will see a number of other exceptions relating to null values on the Pixels object for sizeC, sizeT, sizeZ etc. These largely relate to the handling of resolutions depending on if the flattenedResolutions
is set to true or not. In this regard we had a numerous bits of feedback on various sections of code, would it be possible to upload the reader to GitHub? It might make it easier to provide comments on the individual sections or lines of code.</div>
<div class=""><br class="">
</div>
<div class="">With Thanks,</div>
<div class="">David Gault</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 8 Mar 2017, at 22:10, Paul Richards <<a href="mailto:paulrichards321@gmail.com" class="">paulrichards321@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">You can grab a small test slide here: <a href="http://medtech.med.wayne.edu/test/SG09-599.zip" class="">
http://medtech.med.wayne.edu/test/SG09-599.zip</a>
<div class=""><br class="">
</div>
<div class="">You would then change into that directory and import SlideScan.ini or any of the other .ini files.</div>
<div class=""><br class="">
</div>
<div class="">Here is the crucial part of the import log after all the jpg files are uploaded:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">2017-03-08 16:32:28,615 19727 [ main] INFO ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_END</div>
<div class="">2017-03-08 16:32:28,753 19865 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_STARTED Logfile: 4000</div>
<div class="">2017-03-08 16:32:28,980 20092 [l.Client-1] ERROR ome.formats.importer.cli.ErrorHandler - INTERNAL_EXCEPTION: /home/omero/SG09-599/SlideScan.ini</div>
<div class="">java.lang.RuntimeException: Failure response on import!</div>
<div class="">Category: ::omero::grid::ImportRequest</div>
<div class="">Name: import-request-failure</div>
<div class="">Parameters: {stacktrace=java.lang.NullPointerException</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.model.ChannelProcessor.process(ChannelProcessor.java:469)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.OMEROMetadataStoreClient.postProcess(OMEROMetadataStoreClient.java:1752)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.blitz.repo.ManagedImportRequestI.importMetadata(ManagedImportRequestI.java:623)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:501)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI.steps(HandleI.java:438)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI$1.doWork(HandleI.java:366)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI$1.doWork(HandleI.java:362)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at sun.reflect.GeneratedMethodAccessor291.invoke(Unknown Source)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.lang.reflect.Method.invoke(Method.java:498)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:562)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.security.basic.EventHandler.invoke(EventHandler.java:154)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at com.sun.proxy.$Proxy72.doWork(Unknown Source)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.Executor$Impl.execute(Executor.java:443)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI.run(HandleI.java:360)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.Executor$Impl$1.call(Executor.java:484)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.FutureTask.run(FutureTask.java:266)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.lang.Thread.run(Thread.java:745)</div>
<div class="">, message=}</div>
<div class=""><br class="">
</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:665)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.Incoming.invoke(Incoming.java:222)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at Ice.ConnectionI.invokeAll(ConnectionI.java:2482)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at Ice.ConnectionI.dispatch(ConnectionI.java:1258)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at Ice.ConnectionI.message(ConnectionI.java:1213)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.ThreadPool.run(ThreadPool.java:321)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.ThreadPool.access$300(ThreadPool.java:12)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.lang.Thread.run(Thread.java:745)</div>
<div class=""><br class="">
</div>
<div class="">java.lang.RuntimeException: Failure response on import!</div>
<div class="">Category: ::omero::grid::ImportRequest</div>
<div class="">Name: import-request-failure</div>
<div class="">Parameters: {stacktrace=java.lang.NullPointerException</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.model.ChannelProcessor.process(ChannelProcessor.java:469)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.OMEROMetadataStoreClient.postProcess(OMEROMetadataStoreClient.java:1752)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.blitz.repo.ManagedImportRequestI.importMetadata(ManagedImportRequestI.java:623)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:501)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI.steps(HandleI.java:438)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI$1.doWork(HandleI.java:366)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI$1.doWork(HandleI.java:362)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at sun.reflect.GeneratedMethodAccessor291.invoke(Unknown Source)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.lang.reflect.Method.invoke(Method.java:498)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:562)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.security.basic.EventHandler.invoke(EventHandler.java:154)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at com.sun.proxy.$Proxy72.doWork(Unknown Source)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.Executor$Impl.execute(Executor.java:443)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.HandleI.run(HandleI.java:360)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.services.util.Executor$Impl$1.call(Executor.java:484)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.FutureTask.run(FutureTask.java:266)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.lang.Thread.run(Thread.java:745)</div>
<div class="">, message=}</div>
<div class=""><br class="">
</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:665) ~[blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334) [blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118) [blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145) [blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.Incoming.invoke(Incoming.java:222) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at Ice.ConnectionI.invokeAll(ConnectionI.java:2482) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at Ice.ConnectionI.dispatch(ConnectionI.java:1258) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at Ice.ConnectionI.message(ConnectionI.java:1213) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.ThreadPool.run(ThreadPool.java:321) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.ThreadPool.access$300(ThreadPool.java:12) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693) [ice.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]</div>
<div class="">2017-03-08 16:32:28,985 20097 [ main] ERROR ome.formats.importer.ImportLibrary - Error on import</div>
<div class="">java.lang.Exception: Import failure</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:560) ~[blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:289) ~[blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:293) [blitz.jar:na]</div>
<div class=""><span class="gmail-Apple-tab-span" style="white-space:pre"></span>at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:950) [blitz.jar:na]</div>
<div class="">2017-03-08 16:32:28,985 20097 [ main] INFO ome.formats.importer.ImportLibrary - Exiting on error</div>
<div class=""><br class="">
</div>
<div class="">==> Summary</div>
<div class="">494 files uploaded, 0 filesets created, 0 images imported, 1 error in 0:00:17.810</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
<div class="gmail_extra"><br class="">
<div class="gmail_quote">On Wed, Mar 8, 2017 at 4:55 PM, Paul Richards <span dir="ltr" class="">
<<a href="mailto:paulrichards321@gmail.com" target="_blank" class="">paulrichards321@gmail.com</a>></span> wrote:<br class="">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" class="">Hello,
<div class=""><br class="">
</div>
<div class="">I have successfully developed a separate open source C++ program to convert Olympus SlideScan.ini pyramid images into big tiff format. I have since been working on a open microscopy version of this importer, but keep running into a java NullPointer
exception on import. I have been debugging this for about a week with no luck. I can import the images fine if I do not assign resolutionCount > 1, but then I do not see the pyramid view. Attached is the log with the java runtime error. I have tried different
version of bioformats, and grabbed yesterday's git version of the open microscopy source code and also tried 5.2.7 with no luck. I keep getting the same NullPointer error. I know I must be doing something wrong!</div>
<div class=""><br class="">
</div>
<div class="">Here is the source code of the import module: </div>
<div class=""><br class="">
</div>
<div class=""><a href="http://medtech.med.wayne.edu/test/OlympusINIReader.java" target="_blank" class="">http://medtech.med.wayne.edu/<wbr class="">test/OlympusINIReader.java</a></div>
<div class=""><br class="">
</div>
<div class="">(just plop this file into bioformats-5.3.4/components/<wbr class="">formats-gpl/src/loci/in and run ant in the formats-gpl directory)</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://medtech.med.wayne.edu/test/readers.txt" target="_blank" class="">http://medtech.med.wayne.edu/<wbr class="">test/readers.txt</a></div>
<div class=""><br class="">
</div>
<div class="">(this file goes into bioformats-5.3.4/components/<wbr class="">formats-api/src/loci/<wbr class="">formatsats-api/src/)</div>
<div class=""><br class="">
</div>
<div class="">Please let me know if you would like me to use the git tree for these, I didn't include them since they are not working properly.</div>
<div class=""><br class="">
</div>
<div class="">Any help is greatly appreciated!</div>
<div class=""><br class="">
</div>
<div class="">Best Regards,</div>
<div class=""><br class="">
</div>
<div class="">Paul Richards</div>
<div class="">Web Developer</div>
<div class="">Wayne State University School of Medicine</div>
</div>
</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>
<br>
<span style="font-size:10pt;">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</body>
</html>