summary refs log tree commit diff
path: root/pnmcat.html
blob: 15aa8d83a7a573ae1fd58a732836f379aeba174d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN">
<html><head><title>Pnmcat User Manual</title></head>
<body>
<h1>pnmcat</h1>
Updated: 30 July 2022

<h2>NAME</h2>

pnmcat - replaced by pamcat

<h2>DESCRIPTION</h2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p><b>pnmcat</b> was obsoleted by <a href="pamcat.html"><b>pamcat</b></a>,
introduced with Netpbm 11.00 (September 2022).  <b>pamcat</b> is almost
backward compatible with <b>pnmcat</b>, plus adds many additional functions,
including the ability to process PAM images.

<p>These are the ways in which <b>pamcat</b> is not backward compatible with
  <b>pnmcat</b>:

  <ul>
    <li><b>pamcat</b> produces PAM output, whereas <b>pnmcat</b> produces PNM.
      With <b>pamcat</b>, If your inputs are PNM and you want PNM output, you
      can run the output through <b>pamtopnm</b>.  But most Netpbm programs
      that take PNM input can just as well take the PAM input, so this may not
      be necessary.

    <li><b>pnmcat</b> recognizes PBM, PGM, and PPM input images as visual
      images and makes sure the images are the same in the concatenated
      outputs even though the output may be a different format.  For example,
      if you are concatenating PBM image foo.pbm and PPM image bar.ppm, the
      resulting image will be PPM and the foo part of it will have the same
      black and white pixels as the foo.pbm input.

      <p><b>pamcat</b>, on the other hand, work on generic PAM images and does
        not really recognize colors.  It sees a PBM input as a 1-plane image
        and a PPM input as a 3-plane image and produces a 3-plane output
        image.  By default, in the example above, the foo part of the output
        contains the black and white sample values in its first plane, but
        zeroes in its second and third planes, which means if you take the
        output image to be a PPM-like color visual image, the foo part is
        black and red instead of black and white.

      <p>But this is easy to fix.  Use the <b>-extendplane</b> option to say
        instead of making those additional planes zero, make them copies of
        the first plane.  So the three panes in the foo part of the output
        image will all contain the same sample values as the single plane of
        the PBM input, which means if you use the output image as a color
        image, those pixels are black and white.
  </ul>

<p>For full backward compatibility, <b>pnmcat</b> remains in Netpbm,
  implemented as a simple wrapper of <b>pamcat</b>.  For the fewest problems
  with future releases of Netpbm, you should not use <b>pnmcat</b> in any
  new work.


<h2>Using pnmcat in old Netpbm</h2>

<p>In Netpbm before 11.00, use the manual for <b>pamcat</b> with
<b>pnmcat</b>, observing the following differences:

<ul>
  <li><b>pnmcat</b> accepts only PNM input (i.e. PBM, PGM, or PPM)
    and produces only PNM output.  The output is the highest format
    (PBM, PGM, PPM) of any of its inputs.

  <li>Features that the manual says were added to <b>pamcat</b>
    in Release 11.00 or later are not there.
</ul>


</body>
</html>