GeoJasper GUI


GeoJasper is a free and open source geo supporting extension for JPEG2000 JasPer library and a command line transcoder. It converts images between GeoTiff and GeoJp2™ (GeoJpeg2000) correctly preserving all geo information, like "geotifcp" tool. GeoJasper supports 8, 12, 16 and 32 bit channels, supports images with more than 4 channels, striped as well as tiled images for reading and writing and also images geo-referenced through World Files (TFW). Moreover, it may combine three 1 band TIFFs into one RGB image. Also, it can print geo data without decoding the whole JPEG2000 image showing it exactly like "listgeo" application, including projection information and lat/long for tie points (example). Recently XMP tag support was added, it allows seamlessly transfer XMP tag between jpeg2000 and TIFF images.

Latest version: 1.3.1, Latest beta: 1.4.0 beta 1

GeoJapser is based on JasPer library and follows it's respective licence, which is totally free now! Current distribution is maintained by me and Greg Coats who has performance evaluations and Mac binaries in his web page. The JPEG2000 encoder/decoder code contains several fixes of JasPer library and is also suggested for non-geo oriented users.

Information: JasPer Software Discussion Group (on Yahoo! Groups). This unmoderated group provides an open discussion forum for any matters relating to the JasPer software. Lately it's also used for GeoJasper discussions.

Softpedia 100% Free Award
Softpedia 100% Clean Award


OS File Size Description
» 402KB Windows 32 bits
» geojasper_linux32.tgz 976KB Linux (Debian x86)
» geojasper_sparc.tgz 1.1MB Sparc Solaris 8
» 0.9MB MacOS X PowerPC
» 4.4MB MacOS X universal (IBM/Intel) binaries for all four GeoJasPer applications build by Greg Coats from USGS. Special thanks for his kind help with distributions and debugging!
» 11KB Chris Arko created GeoJasPer GUI for Windows which he kindly permitted to distribute here.
» 2.8MB source code
» 2.9MB source code, beta 1.4.0

What's new

[1.4.0] by Dmitry

NEW: 12 bit tiff support
NEW: UUID box support extended to handle also Adobe XMP (TIFF <-> JPEG2000)
NEW: GeoJasper updated to the latest 1.900 jasper release
FIX: Fixed broken reading of interleaved muti-channel tiled TIFF images
     thanks to Robert Dickinson and Greg Coats for finding the bug and
     providing the patch!

[1.3.1] by Dmitry
FIX: TIFF writing: support for images of arbitrary bit rates 
     (>1  and <=8  goes to 8  bits per plane)
     (>8  and <=16 goes to 16 bits per plane)
     (>16 and <=32 goes to 32 bits per plane)
FIX: Memory leak in jpeg encoder indicated by GYache team 

[1.3.0] by Dmitry (beta testing by: Greg Coats and Dirk Hildebrandt)
NEW: Support to read/write 16bit images preserving the bit rate. 
     i.e. 16 bit TIFF will produce 16 bit JPEG2000 and vice versa;
NEW: Support to write tiled tiffs and updated support for reading tiled TIFFs;
NEW: Read/write support for images with more than 3 channels for JPEG2000 and TIFF;
FIX: Errors reading tiled JPEG2000 images produced by Photoshop CS2 and kdu_compress.
Updated libraries:
  libtiff:    3.8.2
  libgeotiff: 1.2.3
  libproj:    4.4.9

[1.2.9] by Dmitry (beta testing by: Greg Coats)
NEW: Added functionality for -listgeo argument. It now prints projection names
and tie-points (corners) are also shown in Lat/Long. 
To make this happen the library was extended adding Proj.4 library and compiling
into the code projection database from libgeotiff.

[1.2.8] Assembled by Greg Coats
IMPROVED: Decoding/Encoding speed is dramatically improved by changes in QMFB code
by Kaspar Daugaard and Greg Coats.
Here we do have some considerations regarding the buffer size, 
even though the selected size of 128 should perform perfectly the better
result can be achieved on specific platforms. e.g. on p4 machine
with intel compiler the block of size 256 performed better.
The appropriate change can be made in the file:
changing the size of #define JPC_BATCH_SIZE 128

FIX: Corrected wrong decoding RGB tiled TIFF images. Bug in the height of 
the last tile if it's less then tile size. Thanks to Greg Coats for 
identifying the problem!

FIX: Corrected listgeo option to print the exact copy of 1.2.2 listgeo

NEW: Option to list Geo information contained in the file without
     actually decoding it: "listgeo"

UPDATE: Now used latest libraries and redesigned source release: 
  jasper: 1.701.0
  libtiff: 3.6.1
  libgeotiff: 1.2.1  

FIX: Fixed incorrect file retrieval resulted in incorrect world file
     for long file names or core dumping.

NEW: Support for reading The World File
FIX: small fixes in tiff reader

NEW: Support for images separated bands in different tiffs
IMPROVED: Tiff reader improved to support Tiled and other tiffs

How to use

There are batch files supplied within the distribution to simplify command line execution:

jp2tif     - converts jp2 into TIFF, ex: jp2tif geo.jp2 geo.tif
tif2jp2    - converts TIFF into jp2, ex: tif2jp2 geo.tif geo.jp2
tif2jp2_5t - converts TIFF into jp2 with 5 times compression, 
             ex: tif2jp2 geo.tif geo.jp2 
tif2jp2_LS - converts TIFF into jp2 with lossless compression, 
             ex: tif2jp2 geo.tif geo.jp2
tif3f2jp2  - converts 3 TIFF 1 channel images into RGB jp2 (5 times compr), 
             ex: tif2jp2 geo1.tif geo2.tif geo3.tif geo.jp2
tif2geotif - converts TIFF image plus world file into GeoTIFF 
             (must have: img.tif img.tfw) 
             ex: tif2geotif img.tif img
listgeojp2 - prints Geo information contained in the file without
             actually decoding it,
             ex: listgeojp2 geo.jp2
jp2tif4tiles - converts JPEG2000 into tiled TIFF with tile size 256x256
               ex: jp2tif geo.jp2 geo.tif
jp2tif4tiles64 - converts JPEG2000 into tiled TIFF with tile size 64x64
                 ex: jp2tif geo.jp2 geo.tif
Simple command line options:
-f : input file name
-F : output file name
-T : output type

Specific GeoTIFF arguments: 

input passed by -o command line argument:
  -o listgeo : print Geo information to stdout
  -o listxmp : print Adobe XMP tag to stdout  
  -f infile1 -o filename2 -o filename3 : combine three gray images into one RGB
  -f infile1.ext with existing infile1.tfw
output passed by -O command line argument:  
  -O tiles : generate tiled TIFF using default tile size of 256x256 pixels
  -O tilewidth=n : generate tiled TIFF using tile width equal to n
  -O tileheight=n : generate tiled TIFF using tile height equal to n                 


1) To simply convert one image:
  geojasper -f infile -F outfile -T type
  Here "type" could be: tif, jp2, bmp ...
2) To convert one image into JPEG-2000 using 10 times compression:
  geojasper -f infile -F outfile -T jp2 -O rate=0.1
2) To convert three GRAY images into RGB JPEG-2000:
  geojasper -f infile1 -o infile2 -o infile3 -F outfile -T jp2

3) To print Geo information without decoding the file:
  geojasper -f infile1 -T tif -o listgeo