I think SIGLE did some work with image support before. I wonder if they can comment on this.
I also wonder what the UDig team is using for image support. Maybe I'll bounce an e-mail of their list to see if I can find out. I always hate moving away from "pure Java" solutions. The Sunburned Surveyor On 8/17/07, Larry Becker <[EMAIL PROTECTED]> wrote: > Hi Paul, > > Now that you mention it, I was remembering incorrectly. The MrSID > plugin does ues a command line tool and not JNI. This has the > advantage of spawning a new process that doesn't affect the Java > process memory. > > Larry > > On 8/17/07, Paul Austin <[EMAIL PROTECTED]> wrote: > > There is also another option that using a jni interface to an image > > library. You can always execute a command line tool which you use to > > create a temporary file for the resize and crop and then load that. > > > > I switched my photo web site code to do this as I was having memory and > > quality problems with JAI. > > > > Paul > > > > Larry Becker wrote: > > > This whole issue of support for large image sizes is the reason that > > > SkyJUMP doesn't have Image Layers yet. It seems to open up a can of > > > worms. If you need jai to process images, IMHO you are already in > > > (memory) trouble. Also, some formats, such as GeoTIFF are simply to > > > complex to ever get working reliably for all variations. As with the > > > discussions of vector formats, it all boils down to the fact that > > > there isn't one single good (and open) file format that well > > > supported. > > > > > > I think that perhaps the best way to handle image formats (and perhaps > > > some other issues too) is to bite the bullet and add a JNI interface > > > to gdal. I can imagine modifying the MrSID plugin (which uses JNI) to > > > do this. I believe there are versions of gdal for most platforms. > > > > > > regards, > > > Larry > > > > > > On 8/17/07, Rahkonen Jukka <[EMAIL PROTECTED]> wrote: > > > > > >> Hi, > > >> > > >> It really seems to be due to the size. I made small versions (1000 by > > >> 1000 pixels) of the png and jpg images, and they do work. They also > > >> seem to accept both .tfw named world files and those named according to > > >> image format (jgw/pgw). That's good. > > >> > > >> User should get some informative warning about file exceeding the size > > >> limits, perhaps with a hint to use tiff of ecw formats instead for > > >> bigger images. > > >> > > >> By the way, those interested in trying how OpenJUMP performs with ecw > > >> can download wonderful images to play with from geotorrent.org. For > > >> example 1.8 gigabyte europe_landsat742 image covering almost whole > > >> Europe, despite half of Finland :( , works very well and consumes just > > >> few tens of megabytes of OpenJUMP memory. Image dimensions totals > > >> 141970 by 141970 pixels. There are other good images as well, and they > > >> are free for any use. > > >> > > >> -Jukka- > > >> > > >> > > >> > > >> > > >> > > >> > > >>> -----Alkuperäinen viesti----- > > >>> Lähettäjä: [EMAIL PROTECTED] > > >>> [mailto:[EMAIL PROTECTED] > > >>> Puolesta Stefan Steiniger > > >>> Lähetetty: 17. elokuuta 2007 14:34 > > >>> Vastaanottaja: List for discussion of JPP development and use. > > >>> Aihe: Re: [JPP-Devel] OJN 1.2D: Add Image Layer > > >>> > > >>> btw.. if it does not load.. > > >>> can it be a image size problem? > > >>> > > >>> because 9996x9996 px is shown by Adobe Photoshop as file with > > >>> 285MB size in memory (stored as jpg: 15MB - of course > > >>> depending on the image packability itself) > > >>> > > >>> If i try to load the file with OpenJUMP (java memory option > > >>> -Xmx256M).. > > >>> then it is not shown as well.. without any error message > > >>> > > >>> don't know how diffcult it is to obtain at least a message > > >>> from jai that the file is to large. > > >>> > > >>> > > >>> stefan > > >>> > > >>> Rahkonen Jukka schrieb: > > >>> > > >>>> Hi, > > >>>> > > >>>> I made a quick test with one 9996 by 9996 pixel colour > > >>>> > > >>> image. The original is band interleaved geotiff. I converted > > >>> it with gdal_translate to following formats: > > >>> > > >>>> - png (gdal_translate -of PNG jumptest.tif jumptest.png) > > >>>> - jpeg (gdal_translate -of jpeg jumptest.tif jumptest.jpg) > > >>>> - ecw (gdal_translate -of ECW -co LARGE_OK=YES jumptest.tif > > >>>> > > >>> jumptest.ecw) > > >>> > > >>>> - pixel interleaved geotiff (gdal_translate -of GTiff -co > > >>>> > > >>> interleave=pixel jumptest.tif jumptest_pixel_int.tif) > > >>> > > >>>> I created also ESRI world file (.tfw) and copied it for > > >>>> > > >>> jpeg and png formats as .jgw and .pgw, respectively. > > >>> > > >>>> Results: > > >>>> - band interleaved tiff does not show > > >>>> - jpeg does not show > > >>>> - png does not show > > >>>> - pixel interleaved tiff shows OK > > >>>> - ecw shows OK > > >>>> > > >>>> Read error with band interleaved tiffs is quite usual, and > > >>>> > > >>> a few weeks ago GDAL default was changed to pixel interleave. > > >>> There must be another reason for problems with jpeg and png. > > >>> > > >>>> Right click - Properties on the failed jpeg and png image > > >>>> > > >>> layer shows this error: > > >>> > > >>>> Javax.media.jai.util.ImagingException: All factories fail > > >>>> > > >>> for the operation "FileLoad" > > >>> > > >>>> Regards, > > >>>> > > >>>> -Jukka- > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>>>> -----Alkuperäinen viesti----- > > >>>>> Lähettäjä: [EMAIL PROTECTED] > > >>>>> [mailto:[EMAIL PROTECTED] > > >>>>> Puolesta Uwe Dalluege > > >>>>> Lähetetty: 17. elokuuta 2007 11:48 > > >>>>> Vastaanottaja: Devel Jump > > >>>>> Aihe: [JPP-Devel] OJN 1.2D: Add Image Layer > > >>>>> > > >>>>> Hi, > > >>>>> > > >>>>> when I load a TIFF file which has a worldfile with Layer>Add > > >>>>> Image Layer a new layer appears but nothing happens (no > > >>>>> errormessage and no image)! > > >>>>> > > >>>>> Running OpenJUMPNight 1.2D with Eclipse I see the error: > > >>>>> > > >>>>> com.vividsolutions.jump.JUMPException: Neither geotiff tags > > >>>>> nor valid worldfile found. > > >>>>> This is not a valid GeoTIFF file. > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.imagery.geotiff.GeoTIFFImage > > >>>>> .init(GeoTIFFImage.java:72) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.imagery.geotiff.GeoTIFFImage > > >>>>> .<init>(GeoTIFFImage.java:56) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.imagery.geotiff.GeoTIFFImage > > >>>>> Factory.createImage(GeoTIFFImageFactory.java:53) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.imagery.ImageryLayerDataset. > > >>>>> createImage(ImageryLayerDataset.java:76) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.ui.plugin.imagery.ImageFeatu > > >>>>> reCreator.createFeature(ImageFeatureCreator.java:174) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.ui.plugin.imagery.ImageFeatu > > >>>>> reCreator.access$0(ImageFeatureCreator.java:159) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.ui.plugin.imagery.ImageFeatu > > >>>>> reCreator$1.yield(ImageFeatureCreator.java:153) > > >>>>> at > > >>>>> com.vividsolutions.jump.util.CollectionUtil.collect(Collection > > >>>>> Util.java:298) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.ui.plugin.imagery.ImageFeatu > > >>>>> reCreator.createFeatures(ImageFeatureCreator.java:148) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.ui.plugin.imagery.ImageFeatu > > >>>>> reCreator.getImages(ImageFeatureCreator.java:79) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.ui.plugin.imagery.AddImageLa > > >>>>> yerPlugIn.execute(AddImageLayerPlugIn.java:34) > > >>>>> at > > >>>>> com.vividsolutions.jump.workbench.plugin.AbstractPlugIn$1.acti > > >>>>> onPerformed(AbstractPlugIn.java:130) > > >>>>> at > > >>>>> > > >>> javax.swing.AbstractButton.fireActionPerformed(Unknown Source) > > >>> > > >>>>> at > > >>>>> javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) > > >>>>> at > > >>>>> javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) > > >>>>> at javax.swing.DefaultButtonModel.setPressed(Unknown Source) > > >>>>> at javax.swing.AbstractButton.doClick(Unknown Source) > > >>>>> at > > >>>>> > > >>> javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) > > >>> > > >>>>> at > > >>>>> javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(U > > >>>>> nknown Source) > > >>>>> at java.awt.Component.processMouseEvent(Unknown Source) > > >>>>> at javax.swing.JComponent.processMouseEvent(Unknown Source) > > >>>>> at java.awt.Component.processEvent(Unknown Source) > > >>>>> at java.awt.Container.processEvent(Unknown Source) > > >>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) > > >>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) > > >>>>> at java.awt.Component.dispatchEvent(Unknown Source) > > >>>>> at > > >>>>> java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) > > >>>>> at > > >>>>> java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) > > >>>>> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) > > >>>>> at java.awt.Container.dispatchEventImpl(Unknown Source) > > >>>>> at java.awt.Window.dispatchEventImpl(Unknown Source) > > >>>>> at java.awt.Component.dispatchEvent(Unknown Source) > > >>>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) > > >>>>> at > > >>>>> > > >>>>> > > >>> java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) > > >>> > > >>>>> at > > >>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) > > >>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > > >>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > > >>>>> at java.awt.EventDispatchThread.run(Unknown Source) > > >>>>> > > >>>>> > > >>>>> Regards, > > >>>>> > > >>>>> Uwe > > >>>>> > > >>>>> > > >>>>> -------------------------------------------------------------- > > >>>>> ----------- > > >>>>> This SF.net email is sponsored by: Splunk Inc. > > >>>>> Still grepping through log files to find problems? Stop. > > >>>>> Now Search log events and configuration files using AJAX and > > >>>>> a browser. > > >>>>> Download your FREE copy of Splunk now >> > > >>>>> http://get.splunk.com/ > > >>>>> > > >>> _______________________________________________ > > >>> > > >>>>> Jump-pilot-devel mailing list > > >>>>> Jump-pilot-devel@lists.sourceforge.net > > >>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > >>>>> > > >>>>> > > >>>> > > >>> -------------------------------------------------------------- > > >>> ----------- > > >>> > > >>>> This SF.net email is sponsored by: Splunk Inc. > > >>>> Still grepping through log files to find problems? Stop. > > >>>> Now Search log events and configuration files using AJAX > > >>>> > > >>> and a browser. > > >>> > > >>>> Download your FREE copy of Splunk now >> http://get.splunk.com/ > > >>>> _______________________________________________ > > >>>> Jump-pilot-devel mailing list > > >>>> Jump-pilot-devel@lists.sourceforge.net > > >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > >>>> > > >>>> > > >>>> > > >>> -------------------------------------------------------------- > > >>> ----------- > > >>> This SF.net email is sponsored by: Splunk Inc. > > >>> Still grepping through log files to find problems? Stop. > > >>> Now Search log events and configuration files using AJAX and > > >>> a browser. > > >>> Download your FREE copy of Splunk now >> http://get.splunk.com/ > > >>> _______________________________________________ > > >>> Jump-pilot-devel mailing list > > >>> Jump-pilot-devel@lists.sourceforge.net > > >>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > >>> > > >>> > > >> ------------------------------------------------------------------------- > > >> This SF.net email is sponsored by: Splunk Inc. > > >> Still grepping through log files to find problems? Stop. > > >> Now Search log events and configuration files using AJAX and a browser. > > >> Download your FREE copy of Splunk now >> http://get.splunk.com/ > > >> _______________________________________________ > > >> Jump-pilot-devel mailing list > > >> Jump-pilot-devel@lists.sourceforge.net > > >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > >> > > >> > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Splunk Inc. > > Still grepping through log files to find problems? Stop. > > Now Search log events and configuration files using AJAX and a browser. > > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > _______________________________________________ > > Jump-pilot-devel mailing list > > Jump-pilot-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > -- > http://amusingprogrammer.blogspot.com/ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel