The Image I/O-Ext project extends the Java Sun's ImageI/O framework capabilities by providing access to new raster formats directly or through the integration of other frameworks and libraries, like GDAL, JMagick (experimental) and Kakadu. The project is Open Source but commercial-friendly, part of the code is released under an LGPL license, some other parts (namely, derivative work from SUN's imageio source code) are licensed under BSD license.
This work has been started with the Google Summer of Code in 2006 by Ing. Daniele Romagnoli mentored by Ing. Simone Giannecchini (GeoSolutions).
The latest released version of the Image I/O-Ext project is 1.0.8.
All the releases for the Image I/O-Ext project are available here.
Notice that pre-built binaries for various platform are available for the download. As time goes by more platform will be added. Please, feel free to contact us in case the support for the platform you need is absent.
In case you want to enable ECW Decode support, It is mandatory you agree with the ECW Eula. Moreover if you want to support ECW Decode in a Server application you need to BUY a license from ERDAS.
Image I/O-Ext Project source code is available for download via subversion.
All the deployed imageio-ext maven2 artifacts are available from this Maven2 repository.
Commercial support is available through GeoSolutions. Please contact Ing. Simone Giannecchini at simoneDOTgiannecchiniATgeo-solutions.it for further information.
Being an Open Source project, anyone can freely checkout the code (see instructions here). In case you want to take active membership check out this page. Various degrees of membership are envisioned. Notice that a java.net account is needed for most operations.
The Image I/O-Ext road map is available here.
The "Documents & Files" section contains some documents which could help you in order to set-up and the Image I/O-Ext. The available documents are:
Set-up Guide, a step-to-step guide in order to set-up the project as well as all the tools/software needed for this purpose
User Guide, a preliminary Guide to use the Image I/O-Ext. Note that it should be considered a "WORK in PROGRESS". (It may contains some errors as well as empty chapters...)
Finally, a brief document on the JHDF revisited libraries has been written. It is available at: HDF Access revisited Framework Report
The core module of the project is the gdalframework module which provide a bridge between the Java Image I/O framework and the Geospatial Data Abstraction Library (GDAL) via SWIG's generated Java bindings to provide support for a reach set of data formats. Here below a brief list of the current supported formats is provided. Note that for each of these formats an Image I/O-Ext plugin is provided which integrates into the standard SUN Image I/O SPI mechanism.
Format Name |
Access capabilities* |
Additional Notes |
License |
Arc/Info ASCII Grid |
R |
|
LGPL |
Arc/Info Binary Grid |
R |
|
LGPL |
DOQ1 |
R |
|
LGPL |
DOQ2 |
R |
|
LGPL |
DTED |
R |
|
LGPL |
ECW |
R |
|
LGPL |
EHdr |
R |
|
LGPL |
ENVI Hdr |
R |
|
LGPL |
Envisat |
R |
|
LGPL |
Erdas Imagine HFA |
R |
|
LGPL |
NITF |
R |
|
LGPL |
GeoTiff via GDAL |
R/W |
|
LGPL |
HDF4 |
R |
|
LGPL |
JPEG |
R |
|
LGPL |
JPEG 2000 (Kakadu) |
R/W |
|
LGPL |
JPEG 2000 (MrSID) |
R |
|
LGPL |
JPEG 2000 (ECW) |
R |
|
LGPL |
MrSID |
R |
|
LGPL |
The Image I/O-Ext project provides some additional utility modules as described here below.
imagereadmt provides a specific ImageRead operation implementation with support for multithreading. License adopted for this module is a modified BSD.
customstreams contains a wide set of extended input/output streams. License adopted for this module is LGPL.
jhdfaccess revisited version of the NCSA JHDF libraries which provide access to HDF format. It currently provides only read access to the HDF4 format but write access capabilities could also be added. Liecnse for this module is LGPL.
Image I/O-Ext provides a set of additional plugins (which don't rely on GDAL):
Format Name |
Data access capabilities* |
Additional Notes |
License |
TIFF |
R/W |
Improved version of the ImageIO tiff library |
BSD |
Arc/Info ASCII Grid |
R/W |
|
LGPL |
JMagick |
R |
Built on the JMagick library |
LGPL |
JPEG 2000 |
R/W |
Built on the Kakadu library. This plugin
version leverages on |
LGPL |
Data access capabilities*: R=Readonly capabilities; R/W=Read and write capabilities
Most part of the source code for the Image I/O-Ext Project is licensed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3.0 of the License. Some parts of the source code are licensed under the terms of the BSD license. Please, refer to the LICENSE.TXT files in the source tree.
The Image I/O-Ext project includes items that have been sourced from third parties. See belove.
The Image I/O-Ext integrates code developed by SUN Java Advanced Imaging project at https://jai-imageio-core.dev.java.net/. The original SUN's code was released under the BSD license, and contained the following extra restriction: "You acknowledge that Software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility." Several class files were included in Image I/O-Ext with modifications. See bsd_licenses.txt for an overview of the class files released under BSD license).
Please use the Issue Tracker to track issues (bugs, feature requests, etc.) for Image I/O-Ext project.
Before filing a new issue, please check to see if your issue has already been reported: search the "summary" fields of open bugs in the Issue Tracker system. If you're new to Issue tracking, you might want to take a moment to browse these introductory docs:
A Step by Step Guide to filing a useful bug report
Five main Image I/O-Ext mailing lists are available in this project: