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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel