GeoTools : JP2K Plugin



Module Maintainer:

Daniele Romagnoli



Email Help:


IP Review:


Plugin to support decoding JP2 and (limited) JPX files by means of either JJ2000, Jasper or Kakadu.

Module Status

Gold Star Quality Assurance Check

(star) IP Check: review.apt added, all headers are in place
(star) Quality Assurance: More than 60% test coverage reported by cobertura.
(star) Stability: No planned API changes
(star) Supported: Documents available. Module maintainer does watches user list, answers email.


The aim of this module is to allow access JPEG2K data using the Kakadu driver via the imageio-ext-kakadujp2 plugin we have prepared on imageio-ext (Which uses JNI) when the Kakadu SDK can be found in the path; otherwise the standard JAI ImageIO JPEG2K plugin will be used. Notice that at this stage if Kakadu sdk is absent we will not be able to leverage on JP2 boxes to parse georeferencing information, but we will simply look for prj and world file.
The underlying data access logics will be based on some of the key objects introduced by Simone on its imagemosaic plugin such as RasterManager, RasterLayerRequest, RasterLayerResponse which are preposed to handle any control/logics involving resolutions/envelope/overviews/crop/requests/... management.

Future plans

The idea is to proceed with improvements and tests on the previously introduced concepts/objects in order to extract a base architecture which may be shared by plugins to access coverages.
Example of future tasks during the development of the plugin include:

  • gmljp2 parsing
  • multiple codestreams access capabilities (Mainly for jpx format)

Leveraging Kakadu

Kakadu is a powerful implementation of the JPEG2000 standard.
It allows to build a set of JNI DLLs which may be used via Java through a Jar package containing bindings to the native libs. Our ImageIO-Ext kakadu plugin is based on this.
(The imageio-ext site already contains information about the Kakadu capabilities as well as instructions on how to setup and build the required kakadu native libs.)

The Image I/O-Ext project

The Image I/O-Ext project leverages existing native APIs to extend the set of formats that the JAI ImageIO API can read.
Actual version of Image I/O-Ext is 1.0.5.

Outstanding Issues

T Key Summary Assignee Reporter P Status Resolution Created Updated Due
Bug GEOT-3423 Datum mapping values are trashed if gt-jp2k is on the classpath Unassigned Joe Boese Major Open Unresolved Feb 10, 2011 Feb 23, 2011
Improvement GEOT-3135 JP2KReader should not depend on Kakadu to get the UUIDBox Daniele Romagnoli David Smiley Major Open Unresolved Jun 04, 2010 Jun 01, 2012
Improvement GEOT-2885 Add support for masking a specific color to all the raster plugins Simone Giannecchini Simone Giannecchini Minor In Progress Unresolved Dec 10, 2009 Sep 29, 2011
Improvement GEOT-1644 Add support for external overviews raster format Simone Giannecchini Andrea Aime Minor In Progress Unresolved Dec 27, 2007 Sep 29, 2011