1Pamcat User Manual(0) Pamcat User Manual(0)
2
3
4
6 pamcat - concatenate Netpbm images
7
8
10 pamcat
11
12 {-leftright | -lr | -topbottom | -tb}
13
14 [-white|-black]
15
16 [-jtop|-jbottom|-jcenter] [-jleft|-jright|-jcenter]
17
18 [netpbmfile ... | -listfile={filename|-}]
19
20 Minimum unique abbreviation of option is acceptable. You may use dou‐
21 ble hyphens instead of single hyphen to denote options. You may use
22 white space in place of the equals sign to separate an option name from
23 its value.
24
25
27 This program is part of Netpbm(1).
28
29 pamcat reads one or more Netpbm images as input, concatenates them ei‐
30 ther left to right or top to bottom, and produces a single Netpbm image
31 as output.
32
33 Options -leftright and -topbottom determine the direction
34 of the concatenation.
35
36
37 The images do not have to be the same shape: You can concatenate im‐
38 ages
39 of different widths top to bottom and of different heights left to
40 right.
41 You can concatenate images of different depths (numbers of planes).
42 You
43 can concatenate a PBM image with a PPM image. Et cetera.
44
45 The format of the output image is the highest of the formats of the
46 input images, in the order PBM, PGM, PPM, PAM.
47
48 For PAM output, if all of the input images have the same tuple type
49 (including implied tuple types of PNM images), that is the tuple type
50 of the
51 output. If the inputs differ, but are all visual tuple types, the
52 output's tuple type is the most primitive that can represent all
53 the
54 input. E.g. if inputs are GRAYSCALE and RGB, the output is RGB, and
55 if the
56 inputs are GRAYSCALE_ALPHA and RGB, the output is RGB_ALPHA. If the
57 inputs
58 differ and are not all visual, the output tuple type is a null
59 string.
60
61 When the output is PAM, its depth is the maximum of the depths of the
62 inputs (including implied depths of PNM images), but at least enough
63 to
64 represent the tuple type specified above. In the case of nonvisual
65 PAM
66 output, input images are padded to this output depth with higher num‐
67 bered
68 planes of all zeroes.
69
70 Where the input images are of different widths and you concatenate top
71 to bottom, pamcat generates output as wide as the widest of the
72 inputs and pads the narrower ones. The images can be justified ei‐
73 ther
74 left, right, or center within this padded field. Use options
75 -jleft, -jright, and -jcenter to control this.
76
77 Similarly, where the input images are of different heights and you
78 concatenate left to right, pamcat generates output as tall as the
79 tallest of the inputs and pads the shorter ones. The images can be
80 justified either top, bottom, or center within this padded field.
81 Use
82 options
83 -jtop, -jbottom, and -jcenter to control this.
84
85 You can make the padding black or white or let pamcat determine a
86 likely background color, with possibly different colored padding for
87 each
88 input image. Control this with the -black and -white options.
89
90 Where the output image contains transparency information (because at
91 least
92 one of the input images does), the padding is opaque. (That is con‐
93 sistent
94 with the result for an output image without transparency information,
95 because
96 such an image is defined to be opaque).
97
98
99 The arguments are names of input files. Any one of these, but not more
100 than one, may be "-" to indicate Standard Input. If you have no argu‐
101 ments (and do not specify -listfile), that means a single input image
102 from Standard Input (and that is pointless - the output is the same as
103 the input). You can supply the file names in a file instead of as ar‐
104 guments with a -listfile option.
105
106 Regardless of how you specify the input files, you may not concatenate
107 more files than your system's limit on the number of concur‐
108 rently
109 open files by one process. 16 is a typical number for that.
110
111 To assemble a regular grid of images, you can use pamundice.
112
113 To do the reverse, you might use pamdice to split an image up into
114 smaller ones of equal size or pamcut to chop off part of an image or
115 extract part of an image.
116
117 pnmtile concatenates a single input image to itself repeatedly.
118
119
120
122 In addition to the options common to all programs based on libnetpbm
123 (most notably -quiet, see
124 Common Options ⟨index.html#commonoptions⟩ ), pamcat recognizes the
125 following command line options:
126
127
128 Direction
129 -topbottom, -tb
130 Combine images vertically, top to bottom.
131
132
133 -leftright, -lr
134 Combine images horizontally, left to right.
135
136 You must specify the direction by specifying one of the above.
137 You cannot
138 specify both.
139
140
141
142
143 Justification
144 -jleft
145
146 Left-justify images in a top-bottom concatenation.
147
148 You cannot specify this with -jright
149
150 This option is invalid in a left-right concatenation.
151
152
153 -jright
154
155 Right-justify images in a top-bottom concatenation.
156
157 You cannot specify this with -jleft
158
159 This option is invalid in a left-right concatenation.
160
161
162 -jtop
163
164 Top-justify images in a left-right concatenation.
165
166 You cannot specify this with -jbottom
167
168 This option is invalid in a top-bottom concatenation.
169
170
171 -jbottom
172
173 Bottom-justify images in a left-right concatenation.
174
175 You cannot specify this with -jtop
176
177 This option is invalid in a top-bottom concatenation.
178
179
180 -jcenter
181
182 Center images (valid for both left-right and top-bottom concate‐
183 nations).
184 This is the default.
185
186
187
188 By default, pamcat centers the smaller images.
189 -topbottom -jleft would stack the images on top of each other, flush
190 with the left edge. -leftright -jbottom would line up the images
191 left to right with their bottom edges aligned as if sitting on a ta‐
192 ble.
193
194
195
196 Padding Color
197 These options specify what color to use to fill in the extra space when
198 doing the justification. If neither is specified, pamcat chooses
199 whichever color seems to be right for the images, and the color may be
200 different for each image.
201
202
203 -white Make all padding white.
204
205 You may not specify this with -black
206
207 -black Make all padding black.
208
209 You may not specify this with -white
210
211
212
213
214 Miscellaneous
215 -listfile={filename|-}
216 This specifies the name of a file that contains the list of in‐
217 put files.
218 Option value - means the list comes from Standard Input.
219
220 The file contains one file name per newline-delimited line in
221 whatever
222 code the system fopen service expects. You may omit the
223 newline
224 on the last line. Empty lines are ignored. There is no
225 mechanism for
226 including comments in the list (so if you want to have a
227 commented list,
228 preprocess it to remove comments before supplying it to pam‐
229 cat).
230
231 You may not specify file names as command line arguments to‐
232 gether with
233 -listfile
234
235 You may not list more files than than your system's limit
236 on the
237 number of concurrently open files by one process. 16 is a
238 typical number
239 for that.
240
241 This option was new in Netpbm 11.01 (December 2022).
242
243
244
245
247 pamundice(1), pamdice(1), pnmtile(1), pamcut(1), pnm(1), pam(1)
248
249
250
252 pamcat was new in Netpbm 11.00 (September 2022); in earlier versions,
253 pnmcat does most of the same thing.
254
255 Primordial Netpbm/Pbmplus contained concatenation tools, but there were
256 two
257 of them: pbmcatlr for left-right concatenation of PBM images
258 and pbmcattb for top-bottom concatenation. When the PGM and PPM
259 formats were added, these programs were combined and extended to han‐
260 dle all
261 three formats, as pnmcat. All of this work was done by Pbmplus
262 author Jef Poskanzer.
263
264 In Netpbm 10.44 (September 2008), Akira F Urushibata added special fast
265 processing for raw PBM images, exploiting bitstring processing CPU
266 facilities.
267
268 pnmcat was one of the most essential programs in Netpbm, but one
269 thing it could not concatenate was PAM images with transparency. So
270 in
271 Netpbm 11.00 (September 2022), Bryan Henderson wrote pamcat to
272 replace it. It reused the raw PBM fast path code from pnmcat almost
273 verbatim.
274
276 This manual page was generated by the Netpbm tool 'makeman' from HTML
277 source. The master documentation is at
278
279 http://netpbm.sourceforge.net/doc/pamcat.html
280
281netpbm documentation 30 November 2022 Pamcat User Manual(0)