Discussion:
from kakadu to imagemagick .. what encoding options to use?
Kris Bulman
2011-06-14 18:48:43 UTC
Permalink
Hi all,

We use a set of kakadu switches that work well for jpeg2000 viewing using
our Djatoka/OpenLayers viewer.

The lossy jpeg2000 conversion line using kdu_compress is as follows:

kdu_compress -i input.tif -o output.jp2 -rate 0.5 Clayers=1 Clevels=7
"Cprecincts={256,256},{256,256},{256,256},{128,128},{128,128},{64,64},{64,64},{32,32},{16,16}"
"Corder=RPCL" "ORGgen_plt=yes" "ORGtparts=R" "Cblk={64,64}" Cuse_sop=yes
This was from a recommendation for IIPViewer found here:
http://help.oldmapsonline.org/jpeg2000/

We're looking for an equivalent set of parameters using imagemagick, but the
command options don't all seem to line up. The available encoding options
are located here:http://www.imagemagick.org/script/jp2.php

Any help or input from someone with experience would be appreciated.

Thanks,
Kris Bulman
Digitization, UPEI
Kris Bulman
2011-06-14 19:26:34 UTC
Permalink
I have tried this:

convert Picture_287.jpg -define jp2:tilewidth=1024 -define
jp2:tileheight=1024 -define jp2:numrlvls=6 -define jp2:rate=1 -define
jp2:ilyrrates=r1[0.015625,0.01858,0.0221,0.025,0.03125,0.03716,0.04419,0.05,0.0625,0.075,0.088,0.1,0.125,0.15,0.18,0.21,0.25,0.3,0.35,0.4,0.5,0.6,0.7,0.84]
-define jp2:prg=rpcl Picture_287-imgmgklevls6.jp2

but get

warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
Post by Kris Bulman
Hi all,
We use a set of kakadu switches that work well for jpeg2000 viewing using
our Djatoka/OpenLayers viewer.
kdu_compress -i input.tif -o output.jp2 -rate 0.5 Clayers=1 Clevels=7
"Cprecincts={256,256},{256,256},{256,256},{128,128},{128,128},{64,64},{64,64},{32,32},{16,16}"
"Corder=RPCL" "ORGgen_plt=yes" "ORGtparts=R" "Cblk={64,64}" Cuse_sop=yes
http://help.oldmapsonline.org/jpeg2000/
We're looking for an equivalent set of parameters using imagemagick, but
the command options don't all seem to line up. The available encoding
options are located here:http://www.imagemagick.org/script/jp2.php
Any help or input from someone with experience would be appreciated.
Thanks,
Kris Bulman
Digitization, UPEI
Kris Bulman
2011-06-16 14:12:35 UTC
Permalink
OK, I have worked out a similar concoction of the kakadu lossy &
kakadu lossless commands. These commands were derived for working best
in the iipviewer and djatoka, they aren't thoroughly tested and only
minimal comparisons have been done, but they both perform well in our
viewers. Any feedback or refinement is appreciated.

kakadu lossy:

kdu_compress -i input.tif -o output.jp2 -rate 0.5 Clayers=1 Clevels=7
"Cprecincts={256,256},{256,256},{256,256},{128,128},{128,128},{64,64},{64,64},{32,32},{16,16}"
"Corder=RPCL" "ORGgen_plt=yes" "ORGtparts=R" "Cblk={64,64}"
Cuse_sop=yes

imagemagick lossy:

convert input.tif -define numrlvls=7 -define jp2:tilewidth=1024
-define jp2:tileheight=1024 -define jp2:rate=0.02348 -define
jp2:prg=rpcl -define jp2:mode=int -define jp2:prcwidth=16383 -define
jp2:prcheight=16383 -define jp2:cblkwidth=64 -define jp2:cblkheight=64
-define jp2:sop output.jp2

kakadu lossless:

kdu_compress -i YOURINPUT.pgm -o YOUROUTPUT.jp2 -rate
1,0.84,0.7,0.6,0.5,0.4,0.35,0.3,0.25,0.21,0.18,0.15,0.125,0.1,0.088,0.075,0.0625,0.05,0.04419,0.03716,0.03125,0.025,0.0221,0.01858,0.015625
Clevels=6 Stiles={1024,1024} Cmodes={BYPASS} Corder=RLCP

imagemagick lossless:

convert input.tif -define numrlvls=6 -define jp2:tilewidth=1024
-define jp2:tileheight=1024 -define jp2:rate=1.0 -define jp2:lazy
-define jp2:prg=rlcp -define
jp2:ilyrrates=0.015625,0.01858,0.0221,0.025,0.03125,0.03716,0.04419,0.05,0.0625,0.075,0.088,0.1,0.125,0.15,0.18,0.21,0.25,0.3,0.35,0.4,0.5,0.6,0.7,0.84
-define jp2:mode=int output.jp2
convert Picture_287.jpg -define jp2:tilewidth=1024 -define jp2:tileheight=1024 -define jp2:numrlvls=6 -define jp2:rate=1 -define jp2:ilyrrates=r1[0.015625,0.01858,0.0221,0.025,0.03125,0.03716,0.04419,0.05,0.0625,0.075,0.088,0.1,0.125,0.15,0.18,0.21,0.25,0.3,0.35,0.4,0.5,0.6,0.7,0.84] -define jp2:prg=rpcl Picture_287-imgmgklevls6.jp2
but get
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
warning: empty layer generated
Post by Kris Bulman
Hi all,
We use a set of kakadu switches that work well for jpeg2000 viewing using our Djatoka/OpenLayers viewer.
kdu_compress -i input.tif -o output.jp2 -rate 0.5 Clayers=1 Clevels=7 "Cprecincts={256,256},{256,256},{256,256},{128,128},{128,128},{64,64},{64,64},{32,32},{16,16}" "Corder=RPCL" "ORGgen_plt=yes" "ORGtparts=R" "Cblk={64,64}" Cuse_sop=yes
This was from a recommendation for IIPViewer found here: http://help.oldmapsonline.org/jpeg2000/
We're looking for an equivalent set of parameters using imagemagick, but the command options don't all seem to line up. The available encoding options are located here:http://www.imagemagick.org/script/jp2.php
Any help or input from someone with experience would be appreciated.
Thanks,
Kris Bulman
Digitization, UPEI
Loading...