[ome-devel] Olympus SlideScan.ini importer problems with ome.formats.model.ChannelProcessor.process(ChannelProcessor.java:469)

David Gault (Staff) d.gault at dundee.ac.uk
Fri Mar 10 15:22:17 GMT 2017


Hi Paul,

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.

store.setExperimenterID(MetadataTools.createLSID("Experimenter", 0), 0);

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.

With Thanks,
David Gault

On 8 Mar 2017, at 22:10, Paul Richards <paulrichards321 at gmail.com<mailto:paulrichards321 at gmail.com>> wrote:

You can grab a small test slide here: http://medtech.med.wayne.edu/test/SG09-599.zip

You would then change into that directory and import SlideScan.ini or any of the other .ini files.

Here is the crucial part of the import log after all the jpg files are uploaded:

2017-03-08 16:32:28,615 19727      [      main] INFO   ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_END
2017-03-08 16:32:28,753 19865      [      main] INFO   ormats.importer.cli.LoggingImportMonitor - IMPORT_STARTED Logfile: 4000
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
java.lang.RuntimeException: Failure response on import!
Category: ::omero::grid::ImportRequest
Name: import-request-failure
Parameters: {stacktrace=java.lang.NullPointerException
at ome.formats.model.ChannelProcessor.process(ChannelProcessor.java:469)
at ome.formats.OMEROMetadataStoreClient.postProcess(OMEROMetadataStoreClient.java:1752)
at ome.services.blitz.repo.ManagedImportRequestI.importMetadata(ManagedImportRequestI.java:623)
at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:501)
at omero.cmd.HandleI.steps(HandleI.java:438)
at omero.cmd.HandleI$1.doWork(HandleI.java:366)
at omero.cmd.HandleI$1.doWork(HandleI.java:362)
at sun.reflect.GeneratedMethodAccessor291.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:562)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy72.doWork(Unknown Source)
at ome.services.util.Executor$Impl.execute(Executor.java:443)
at omero.cmd.HandleI.run(HandleI.java:360)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at ome.services.util.Executor$Impl$1.call(Executor.java:484)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
, message=}

at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:665)
at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334)
at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118)
at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145)
at IceInternal.Incoming.invoke(Incoming.java:222)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2482)
at Ice.ConnectionI.dispatch(ConnectionI.java:1258)
at Ice.ConnectionI.message(ConnectionI.java:1213)
at IceInternal.ThreadPool.run(ThreadPool.java:321)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693)
at java.lang.Thread.run(Thread.java:745)

java.lang.RuntimeException: Failure response on import!
Category: ::omero::grid::ImportRequest
Name: import-request-failure
Parameters: {stacktrace=java.lang.NullPointerException
at ome.formats.model.ChannelProcessor.process(ChannelProcessor.java:469)
at ome.formats.OMEROMetadataStoreClient.postProcess(OMEROMetadataStoreClient.java:1752)
at ome.services.blitz.repo.ManagedImportRequestI.importMetadata(ManagedImportRequestI.java:623)
at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:501)
at omero.cmd.HandleI.steps(HandleI.java:438)
at omero.cmd.HandleI$1.doWork(HandleI.java:366)
at omero.cmd.HandleI$1.doWork(HandleI.java:362)
at sun.reflect.GeneratedMethodAccessor291.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:562)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy72.doWork(Unknown Source)
at ome.services.util.Executor$Impl.execute(Executor.java:443)
at omero.cmd.HandleI.run(HandleI.java:360)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at ome.services.util.Executor$Impl$1.call(Executor.java:484)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
, message=}

at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:665) ~[blitz.jar:na]
at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334) [blitz.jar:na]
at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118) [blitz.jar:na]
at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145) [blitz.jar:na]
at IceInternal.Incoming.invoke(Incoming.java:222) [ice.jar:na]
at Ice.ConnectionI.invokeAll(ConnectionI.java:2482) [ice.jar:na]
at Ice.ConnectionI.dispatch(ConnectionI.java:1258) [ice.jar:na]
at Ice.ConnectionI.message(ConnectionI.java:1213) [ice.jar:na]
at IceInternal.ThreadPool.run(ThreadPool.java:321) [ice.jar:na]
at IceInternal.ThreadPool.access$300(ThreadPool.java:12) [ice.jar:na]
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693) [ice.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
2017-03-08 16:32:28,985 20097      [      main] ERROR        ome.formats.importer.ImportLibrary - Error on import
java.lang.Exception: Import failure
at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:560) ~[blitz.jar:na]
at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:289) ~[blitz.jar:na]
at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:293) [blitz.jar:na]
at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:950) [blitz.jar:na]
2017-03-08 16:32:28,985 20097      [      main] INFO         ome.formats.importer.ImportLibrary - Exiting on error

==> Summary
494 files uploaded, 0 filesets created, 0 images imported, 1 error in 0:00:17.810





On Wed, Mar 8, 2017 at 4:55 PM, Paul Richards <paulrichards321 at gmail.com<mailto:paulrichards321 at gmail.com>> wrote:
Hello,

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!

Here is the source code of the import module:

http://medtech.med.wayne.edu/test/OlympusINIReader.java

(just plop this file into bioformats-5.3.4/components/formats-gpl/src/loci/in and run ant in the formats-gpl directory)

http://medtech.med.wayne.edu/test/readers.txt

(this file goes into bioformats-5.3.4/components/formats-api/src/loci/formatsats-api/src/)

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.

Any help is greatly appreciated!

Best Regards,

Paul Richards
Web Developer
Wayne State University School of Medicine

_______________________________________________
ome-devel mailing list
ome-devel at lists.openmicroscopy.org.uk<mailto:ome-devel at lists.openmicroscopy.org.uk>
http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel


The University of Dundee is a registered Scottish Charity, No: SC015096
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openmicroscopy.org.uk/pipermail/ome-devel/attachments/20170310/f0f3b607/attachment.html>


More information about the ome-devel mailing list