Hi,

I have 32 bit floating point images which are compressed with the deflate 
method and by using the floating point predictor. OpenJUMP accepts these images 
and they are added into the table of contents. It is possible to zoom to 
extents but the screen remains empty. The console window reveals what happens:

14:09:06.765 javax.imageio.IIOException: Illegal value for Predictor in TIFF 
file
java.lang.RuntimeException: javax.imageio.IIOException: Illegal value for 
Predictor in TIFF file
        at 
com.sun.media.jai.imageioimpl.ImageReadOpImage.computeTile(ImageReadOpImage.java:706)
        at 
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
        at javax.media.jai.OpImage.getTile(OpImage.java:1129)
        at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:962)
        at 
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
        at javax.media.jai.OpImage.getTile(OpImage.java:1129)
        at javax.media.jai.PlanarImage.copyData(PlanarImage.java:2343)
        at javax.media.jai.RenderedOp.copyData(RenderedOp.java:2299)
        at javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2525)
        at 
org.openjump.core.rasterimage.TiffUtilsV2.readImageAndMetadata(TiffUtilsV2.java:355)
        at 
org.openjump.core.rasterimage.RasterImageIO.loadImage(RasterImageIO.java:150)
        at 
org.openjump.core.rasterimage.RasterImageLayer.reLoadImage(RasterImageLayer.java:500)
        at 
org.openjump.core.rasterimage.RasterImageLayer.createImage(RasterImageLayer.java:368)
        at 
org.openjump.core.rasterimage.RasterImageRenderer.renderHook(RasterImageRenderer.java:112)
        at 
com.vividsolutions.jump.workbench.ui.renderer.ImageCachingRenderer$1.run(ImageCachingRenderer.java:91)
        at 
com.vividsolutions.jump.workbench.ui.renderer.ThreadQueue$Worker.run(ThreadQueue.java:86)
Caused by: javax.imageio.IIOException: Illegal value for Predictor in TIFF file
        at 
it.geosolutions.imageioimpl.plugins.tiff.TIFFDeflateDecompressor.<init>(TIFFDeflateDecompressor.java:98)
        at 
it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1849)
        at 
com.sun.media.jai.imageioimpl.ImageReadOpImage.computeTile(ImageReadOpImage.java:697)
        ... 15 more

With the tiffinfo tool I can see that image that the predictor is this:
Predictor: floating point predictor 3 (0x3)

I tested that with deflate compression and predictor=none OpenJUMP opens the 
file as Sextante image. It would be nice if OpenJUMP could capture the error 
and show a message for the users. To support floating point predictor is not so 
important, even it does compress floating point data well and is therefore used 
in real datasets.

Test data attached.

-Jukka Rahkonen-
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to