Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


				  PAMTOJPEG2K

   Updated: 27 October 2002
   Table Of Contents

NAME

   pamtojpeg2k - convert PAM/PNM image to a JPEG-2000 code stream

SYNOPSIS

   pamtojpeg2k	[-imgareatlx=column]  [-imgareatly=row]	  [-tile-
grdtlx=column]
   [-tilegrdtly=row]	      [-tilewidth=columns]	  [-tile-
height=rows]
   [-prcwidth=columns]	       [-prcheight=rows]	  [-cblk-
width=columns]
   [-cblkheight=rows]	 [-mode={integer|int|real}]    [-compres-
sion=ratio]
   [-ilyrrates=ratestring]				  [-numr-
lvls=number]
   [-progression={lrcp|rlcp|rpcl|pcrl|cprl}][-numgbits=num-
ber][-nomct][-sop]
   [-eph]   [-lazy]   [-termall]  [-segsym]  [-vcausal]	 [-pterm]
[-resetprob]
   [-verbose] [-debuglevel=number] filename

   Minimum  unique  abbreviation of option is acceptable. You may
use double
   hypens instead of single hyphen to denote options. You may use
white space
   in  place  of  the equals sign to separate an option name from
its value.

DESCRIPTION

   This program is part of Netpbm.

   pamtojpeg2k converts the named PBM, PGM, PPM, or PAM file,  or
Standard Input
   if  no file is named, to a JPEG-2000 code stream file on Stan-
dard Output.

   The	JPEG-2000  specification specifies two different formats:
JP2 and
   JPEG-2000  code  stream  (JPC).  JP2	 represents  a visual im-
age quite
   specifically, whereas JPC is a more or less arbitrary array of
codes. The
   JPC	image  that pamtojpeg2k produces is very similar to a JP2
if the input is
   a PBM, PGM, or PPM image or equivalent PAM image. One  differ-
ence is that
   that	  RGB  intensity  values  in a JP2 are SRGB values, while
pamtojpeg2k
   produces ITU Rec 709 values. Those are very similar,	 but  not
identical.
   Another difference is that a JP2 can contain extra information
about an
   image that JPC cannot.

   When the input is a PAM image other than a PBM,  PGM,  or  PPM
equivalent, the
   JPC	raster produced contains whatever the PAM raster does. It
can have any
   number of planes with any meanings; the planes are in the same
order in the
   JPC output as in the PAM input.

   A  JPC  image  has  a "precision," which is the number of bits
used for each
   code (in Netpbm lingo, "sample"). Actually, it has a	 separate
precision for
   each	 component.  pamtojpeg2k  uses for the precision of every
component the
   least number of bits that can represent the maxval of the  in-
put image. A JPC
   image does not have an independent concept of maxval; the max-
val of a JPC
   sample  is  the maximum value that the number of  bits  speci-
fied by the
   precision  can represent in pure binary code. E.g. if the pre-
cision is 4, the
   maxval is 15. pamtojpeg2k does of course scale the sample val-
ues from the
   input  maxval  to the output maxval. Example: The input maxval
is 99. This
   means JPC precision is 7 bits and the JPC  maxval  is  127.	A
sample value of
   33 in the input becomes a sample value of 43 in the output.

   pamtojpeg2k generates the JPC output with the Jasper JPEG-2000
library. See
   documentation of the library for details on	what  pamtojpeg2k
produces. Note
   that	 the  Jasper  library contains facilities for reading PNM
images, but
   pamtojpeg2k does not use those. It uses the Netpbm library in-
stead. Note
   that	  the	makers	 of the Jasper library write it "JasPer,"
but Netpbm
   documentation follows  standard  American  English  typography
rules, which
   don't allow that kind of capitalization.

   Use jpeg2ktopam to convert in the other direction.

   The	 program  jasper,  which  is  packaged	with  the  Jasper
JPEG-2000 library,
   also converts between JPEG-2000 and PNM formats. Because  it's
packaged with
   the	library,  it  may  exploit it better, especially recently
added features.
   However, since it does not use the Netpbm library to read  and
write the
   Netpbm formats, it doesn't do as good a job on that side.

OPTIONS

   Most	 of the options are identical in name and function to op-
tions that the
   Jasper library JPC encoder subroutine takes. See Jasper  docu-
mentation for
   details.  Here,  we	document only options that are not direct
analogs of
   Jasper options.
   -compression=ratio
	  ratio is a floating point  number  that  specifies  the
compression
	  ratio.  pamtojpeg2k will adjust quality as necessary to
ensure that
	  you get this compression ratio. E.g. 4 means the output
will be about
	  one fourth the size in bytes of the input file.
	  The  compression  ratio must be at least 1. The default
is 1, which
	  means the output has all the quality of  the	input  --
the conversion
	  is lossless.
	  Note	that  though  Jasper  library takes a compression
factor, this
	  option specifies a compression ratio.	 The  compression
factor is the
	  multiplicative  inverse  of (1 divided by) the compres-
sion ratio.
   -verbose
	  This option causes pamtojpeg2k to  issue  informational
messages about
	  the conversion process.
   -debuglevel=number
	  This	 option	 controls  debug messages from the Jasper
library.
	  pamtojpeg2k  passes number as the debug  level  to  the
Jasper JPC
	  encoder.



EXAMPLES

   This example compresses losslessly.
  pamtojpeg2k myimg.ppm >myimg.jpc

   jpeg2ktopam will recreate myimg.ppm exactly.

   This	 example  compresses  the  file to one tenth its original
size, throwing
   away information as necessary.
  pamtojpeg2k -compression=10 myimg.pgm >myimg.jpc

ABOUT JPEG-2000

   JPEG-2000 is a format that compresses a  visual  image  (or	a
similar set of
   data)  into a minimal number of bytes for storage or transmis-
sion. In that,
   its goal is similar to JPEG. It has two main differences  from
JPEG.

   One	difference  is that it does a much better job on most im-
ages of throwing
   out information in order to achieve	a  smaller  output.  That
means when you
   reconstruct	the  image from the resulting compressed file, it
looks a lot
   closer to the image you started with with JPEG-2000 than  with
JPEG, for the
   same	 compressed  file  size.  Or, looked at another way, with
JPEG-2000 you get
   a much smaller file than with JPEG for the same image quality.

   The	 second	 difference  is	 that  with JPEG-2000, you decide
how much
   compression you want and the compressor adjusts the quality to
meet your
   requirement,	 whereas  with	JPEG, you decide how much quality
you want and the
   compressor adjusts the size of the output  to  meet	your  re-
quirement. I.e.
   with	 JPEG-2000, the quality of the result depends on the com-
pressibility of
   the	input,	but  with  JPEG,  the  size  of	 the  result  de-
pends on the
   compressibility of the input.

   With	 JPEG-2000,  you  can  specify lossless compression, thus
making it compete
   with GIF and PNG. With standard JPEG, you  always  lose  some-
thing. (There are
   rumored  to	be  variations	of JPEG around that are lossless,
though).

   JPEG is much older than JPEG-2000 and far more  popular.  JPEG
is one of the
   half	  dozen	 most  popular graphics formats and virtually all
graphics
   facilities understand it. JPEG-2000 is virtually unknown.

   There is no compatibility between JPEG and JPEG-2000. Programs
that read
   JPEG do not automatically read JPEG-2000 and vice versa.

SEE ALSO

   jpeg2ktopam, pnmtopeg, ppm, pgm, pbm, pam,

History

   pamtojpeg2k	was  added  to	Netpbm in Release 10.12 (November
2002).
     _________________________________________________________________



Table Of Contents

     * SYNOPSIS
     * DESCRIPTION
     * OPTIONS
     * EXAMPLES
     * ABOUT JPEG-2000
     * SEE ALSO























UNIX/Linux commands referenced on this page:
  1. convert
  2. file
  3. more
  4. less
  5. as
  6. which
  7. write
  8. jpeg2ktopam
  9. size
  10. at