[ome-users] tile-access problems with certain ndpi-files
MEYENHOFER Felix
felix.meyenhofer at unifr.ch
Tue Jan 30 18:18:05 GMT 2018
Hello
when accessing a certain magnification (one that requires to access the lowest pixels of the resolution pyramid), with the omero viewer, the server fails to generate and consequently cannot deliver the tiles.
OMERO.web.log contains the following error:
2018-01-30 17:47:58,730 WARNI [ omero.gateway] (proc.08522) debug():4507 InternalException on <class 'omeroweb.webclient.webclient_gateway.OmeroWebSafeCallWrapper'> to <6febc192-51e6-4901-a08d-1d6fdb91698bomero.api.RenderingEngine> renderCompressed((object #0 (::omero::romio::PlaneDef)
{
slice = 0
x = 0
y = 0
z = 0
t = 0
region = object #1 (::omero::romio::RegionDef)
{
x = 15360
y = 44032
width = 1024
height = 1024
}
stride = 0
}, <ServiceOptsDict: [...]
Traceback [...]
File "[...]OMERO.server/lib/python/omero_api_RenderingEngine_ice.py", line 905, in renderCompressed
return _M_omero.api.RenderingEngine._op_renderCompressed.invoke(self, ((_def, ), _ctx))
InternalException: exception ::omero::InternalException
{
serverStackTrace = ome.conditions.InternalException: Wrapped Exception: (java.lang.RuntimeException):
java.io.IOException
at omeis.providers.re.data.PlaneFactory.createPlane(PlaneFactory.java:223)
at omeis.providers.re.HSBStrategy.getWavelengthData(HSBStrategy.java:104)
at omeis.providers.re.HSBStrategy.makeRenderingTasks(HSBStrategy.java:284)
at omeis.providers.re.HSBStrategy.render(HSBStrategy.java:380)
at omeis.providers.re.HSBStrategy.renderAsPackedInt(HSBStrategy.java:344)
at omeis.providers.re.Renderer.renderAsPackedInt(Renderer.java:557)
at ome.services.RenderingBean.renderAsPackedInt(RenderingBean.java:522)
at ome.services.RenderingBean.renderCompressed(RenderingBean.java:552)
at sun.reflect.GeneratedMethodAccessor979.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.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.$Proxy103.renderCompressed(Unknown Source)
at sun.reflect.GeneratedMethodAccessor979.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.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy103.renderCompressed(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1019.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
at ome.services.throttling.Callback.run(Callback.java:56)
at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
at ome.services.blitz.impl.RenderingEngineI.renderCompressed_async(RenderingEngineI.java:352)
at sun.reflect.GeneratedMethodAccessor1018.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 omero.cmd.CallContext.invoke(CallContext.java:78)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy104.renderCompressed_async(Unknown Source)
at omero.api._RenderingEngineTie.renderCompressed_async(_RenderingEngineTie.java:298)
at omero.api._RenderingEngineDisp.___renderCompressed(_RenderingEngineDisp.java:998)
at omero.api._RenderingEngineDisp.__dispatch(_RenderingEngineDisp.java:2363)
at IceInternal.Incoming.invoke(Incoming.java:221)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
at Ice.ConnectionI.message(ConnectionI.java:1056)
at IceInternal.ThreadPool.run(ThreadPool.java:395)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
at java.lang.Thread.run(Thread.java:748)
serverExceptionClass = ome.conditions.InternalException
message = Wrapped Exception: (java.lang.RuntimeException):
java.io.IOException
}
So I took the file [1] and checked how the bio-formats library deals with it using fiji. When trying to open series-1 I got:
"java.lang.IllegalArgumentException: Array size too large: 35304 x 86184 x 1".
Nothing new here [2]. So I try cropping on opening (which seem how RenderingEngine is accessing the data anyway) using a bounding box: 0,0,1000,1000. This fails telling me via dialog: "sorry, there was an I/O problem during import. switching scijava log level DEBUG I get:
java.io.IOException
at loci.formats.services.JPEGTurboServiceImpl.getTile(JPEGTurboServiceImpl.java:329)
at loci.formats.services.JPEGTurboServiceImpl.getTile(JPEGTurboServiceImpl.java:235)
at loci.formats.in.NDPIReader.openBytes(NDPIReader.java:191)
at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:156)
at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:148)
at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:198)
at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:159)
at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:334)
at loci.formats.DimensionSwapper.openBytes(DimensionSwapper.java:233)
at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:334)
at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:334)
at loci.plugins.util.ImageProcessorReader.openProcessors(ImageProcessorReader.java:186)
at loci.plugins.in.ImagePlusReader.readProcessors(ImagePlusReader.java:422)
at loci.plugins.in.ImagePlusReader.readPlanes(ImagePlusReader.java:387)
at loci.plugins.in.ImagePlusReader.readImage(ImagePlusReader.java:282)
at loci.plugins.in.ImagePlusReader.readImages(ImagePlusReader.java:243)
at loci.plugins.in.ImagePlusReader.readImages(ImagePlusReader.java:221)
at loci.plugins.in.ImagePlusReader.openImagePlus(ImagePlusReader.java:116)
at loci.plugins.in.Importer.readPixels(Importer.java:149)
at loci.plugins.in.Importer.run(Importer.java:86)
at loci.plugins.LociImporter.run(LociImporter.java:78)
at ij.IJ.runUserPlugIn(IJ.java:221)
at ij.IJ.runPlugIn(IJ.java:185)
at ij.Executer.runCommand(Executer.java:137)
at ij.Executer.run(Executer.java:66)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NegativeArraySizeException
at org.libjpegturbo.turbojpeg.TJDecompressor.decompress(TJDecompressor.java:338)
at loci.formats.services.JPEGTurboServiceImpl.getTile(JPEGTurboServiceImpl.java:322)
... 25 more
So before drilling deeper. Does anyone already have a guess about what this might be?
[1]https://drive.switch.ch/index.php/s/xYo5nzkEflj04eT
[2]http://lists.openmicroscopy.org.uk/pipermail/ome-users/2015-March/005142.html
Best regards,
Felix
More information about the ome-users
mailing list