This image breaks WADO on dcm4chee 2.17.x and 2.18.x

60 views
Skip to first unread message

Jon Ander Zuccaro

unread,
Dec 1, 2017, 1:36:22 PM12/1/17
to dcm4che
Please, kindly review this anonymous image that I am attaching. It breaks the WADO servlet on dcm4chee 2, up to the latest version.

I've narrowed down the problem to the LUT values, since passing Window Center and Window Level values to the servlet works:

wado?requestType=WADO&studyUID=1.3.6.1.4.1.18047.1.6.1005561512152019791&seriesUID=1.3.6.1.4.1.18047.1.6.1005561512152019792&objectUID=1.3.6.1.4.1.18047.1.6.1005561512152019793&windowCenter=1500&windowWidth=2047&frameNumber=1

But this breaks the servlet with a 500 error:

wado?requestType=WADO&studyUID=1.3.6.1.4.1.18047.1.6.1005561512152019791&seriesUID=1.3.6.1.4.1.18047.1.6.1005561512152019792&objectUID=1.3.6.1.4.1.18047.1.6.1005561512152019793

Here is the stack trace:

2017-12-01 14:32:59,105 INFO  -> (http-8443-9) [org.dcm4chex.wado.web.WADOServlet] 192.168.1.193 - WADO URL:/wado?requestType=WADO&studyUID=1.3.6.1.4.1.18047.1.6.1005561512152019791&seriesUID=1.3.6.1.4.1.18047.1.6.1005561512152019792&objectUID=1.3.6.1.4.1.18047.1.6.1005561512152019793
2017-12-01 14:32:59,105 INFO  -> (http-8443-9) [org.dcm4chex.wado.mbean.WADOSupport] Get WADO object for 1.3.6.1.4.1.18047.1.6.1005561512152019793
2017-12-01 14:32:59,140 INFO  -> (http-8443-9) [org.dcm4cheri.image.MonochromeParam] Detect Agfa ADC VOI LUT bug => assume VOI LUT Bit Depth = 12
2017-12-01 14:32:59,142 ERROR -> (http-8443-9) [org.dcm4chex.wado.mbean.WADOSupport] Can't read image:
java.lang.ArrayIndexOutOfBoundsException: 8192
    at org.dcm4cheri.image.MonochromeParam.createInverseCMAPfrom16bitVOILUT(MonochromeParam.java:477)
    at org.dcm4cheri.image.MonochromeParam.createCMAPfromVOILUT(MonochromeParam.java:328)
    at org.dcm4cheri.image.MonochromeParam.newColorModel(MonochromeParam.java:236)
    at org.dcm4cheri.image.ColorModelFactoryImpl.getColorModel(ColorModelFactoryImpl.java:69)
    at org.dcm4cheri.imageio.plugins.DcmImageReader.getImageTypeSpecifier(DcmImageReader.java:393)
    at org.dcm4cheri.imageio.plugins.DcmImageReader.getImageTypes(DcmImageReader.java:377)
    at org.dcm4cheri.imageio.plugins.DcmImageReader.read(DcmImageReader.java:411)
    at org.dcm4chex.wado.mbean.WADOSupport.getImage(WADOSupport.java:1381)
    at org.dcm4chex.wado.mbean.WADOSupport.getBufferedImage(WADOSupport.java:892)
    at org.dcm4chex.wado.mbean.WADOSupport.getImage(WADOSupport.java:858)
    at org.dcm4chex.wado.mbean.WADOSupport.handleImage(WADOSupport.java:782)
    at org.dcm4chex.wado.mbean.WADOSupport.getWADOObject(WADOSupport.java:385)
    at org.dcm4chex.wado.mbean.WADOService.getWADOObject(WADOService.java:511)
    at sun.reflect.GeneratedMethodAccessor369.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
    at org.dcm4chex.wado.web.WADOServiceDelegate.getWADOObject(WADOServiceDelegate.java:124)
    at org.dcm4chex.wado.web.WADOServlet.doGet(WADOServlet.java:114)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:745)

Any insights will be greatly appreciated. Notice that viewers like Weasis display the image correctly using the VOI LUT values.

image_0001.dcm.zip
Reply all
Reply to author
Forward
0 new messages