|
Packit |
78deda |
|
|
Packit |
78deda |
<HTML><HEAD><TITLE>Pamundice User Manual</TITLE></HEAD>
|
|
Packit |
78deda |
<BODY>
|
|
Packit |
78deda |
pamundice
|
|
Packit |
78deda |
Updated: 1 April 2007
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Table Of Contents
|
|
Packit |
78deda |
|
|
Packit |
78deda |
NAME
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamundice - combine grid of images (tiles) into one
|
|
Packit |
78deda |
|
|
Packit |
78deda |
EXAMPLE
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
$ pamdice myimage.ppm -outstem=myimage_part -width=10 -height=8
|
|
Packit |
78deda |
$ pamundice myimage_part_%1d_%1a.ppm -across=10 -down=8 >myimage.ppm
|
|
Packit |
78deda |
|
|
Packit |
78deda |
$ pamundice myimage.ppm myimage_part_%2a -across=13 -hoverlap=9
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
SYNOPSIS
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamundice
|
|
Packit |
78deda |
|
|
Packit |
78deda |
[-across=n]
|
|
Packit |
78deda |
|
|
Packit |
78deda |
[-down=n]
|
|
Packit |
78deda |
|
|
Packit |
78deda |
[-hoverlap=pixels]
|
|
Packit |
78deda |
|
|
Packit |
78deda |
[-voverlap=pixels]
|
|
Packit |
78deda |
|
|
Packit |
78deda |
[-verbose]
|
|
Packit |
78deda |
|
|
Packit |
78deda |
input_filename_pattern
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
You can use the minimum unique abbreviation of the options. You can use
|
|
Packit |
78deda |
two hyphens instead of one. You can separate an option name from its value
|
|
Packit |
78deda |
with white space instead of an equals sign.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
DESCRIPTION
|
|
Packit |
78deda |
|
|
Packit |
78deda |
This program is part of Netpbm.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamundice reads a bunch of Netpbm images as input and combines them
|
|
Packit |
78deda |
as a grid of tiles into a single output image of the same kind on Standard
|
|
Packit |
78deda |
Output.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
You can optionally make the pieces overlap.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
See the input_filename_pattern argument for information on
|
|
Packit |
78deda |
naming of the input files.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
The input images must all have the same format (PAM, PPM, etc.)
|
|
Packit |
78deda |
and maxval and for PAM must have the same depth and tuple type.
|
|
Packit |
78deda |
All the images in a rank (horizontal row of tiles) must have the
|
|
Packit |
78deda |
same height. All the images in a file (vertical column of tiles)
|
|
Packit |
78deda |
must have the same width. But it is not required that every rank
|
|
Packit |
78deda |
have the same height or every file have the same width.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamdice is the inverse of pamundice. You can use
|
|
Packit |
78deda |
pamundice to reassemble an image sliced up by pamdice.
|
|
Packit |
78deda |
You can use pamdice to recreate the tiles of an image created
|
|
Packit |
78deda |
by pamundice, but to do this the original ranks must all have
|
|
Packit |
78deda |
been the same height except for the bottom one and the original files
|
|
Packit |
78deda |
must all have been the same width except the right one.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
One use for this is to make pieces that take less computer
|
|
Packit |
78deda |
resources than the whole image to process. For example, you might
|
|
Packit |
78deda |
have an image so large that an image editor can't read it all into
|
|
Packit |
78deda |
memory or processes it very slowly. You can split it into smaller
|
|
Packit |
78deda |
pieces with pamdice, edit one at a time, and then reassemble them
|
|
Packit |
78deda |
with pamundice.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
An alternative to join images in a single direction (i.e. a single
|
|
Packit |
78deda |
rank or a single file) is pnmcat. pnmcat gives you more
|
|
Packit |
78deda |
flexibility than pamundice in identifying the input images: you
|
|
Packit |
78deda |
can supply them on Standard Input or as a list of arbitrarily named
|
|
Packit |
78deda |
files.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
To join piecewise photographs, use pnmstitch instead of
|
|
Packit |
78deda |
pamundice, because it figures out where the pieces overlap,
|
|
Packit |
78deda |
even if they don't overlap exactly vertically or horizontally.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
To create an image of the same tile repeated in a grid, that's
|
|
Packit |
78deda |
pnmtile.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pnmindex does a similar thing to pamundice: it
|
|
Packit |
78deda |
combines a bunch of small images in a grid into a big one. But its
|
|
Packit |
78deda |
purpose is to produce a an index image of the input images. So it
|
|
Packit |
78deda |
leaves space between them and has labels for them, for example.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
ARGUMENTS
|
|
Packit |
78deda |
|
|
Packit |
78deda |
There is one non-option argument, and it is mandatory:
|
|
Packit |
78deda |
input_filename_pattern. This tells pamundice what files
|
|
Packit |
78deda |
contain the input tiles.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamundice reads the input images from files which are named
|
|
Packit |
78deda |
with a pattern that indicates their positions in the combined image.
|
|
Packit |
78deda |
For example, tile_00_05.ppm could be the 6th tile over in the
|
|
Packit |
78deda |
1st rank, while tile_04_01 is the 2nd tile over in the 5th rank.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
You cannot supply any of the data on Standard Input, and the files
|
|
Packit |
78deda |
must be the kind that pamundice can close and reopen and read
|
|
Packit |
78deda |
the same image a second time (e.g. a regular file is fine; a named
|
|
Packit |
78deda |
pipe is probably not).
|
|
Packit |
78deda |
|
|
Packit |
78deda |
input_filename_pattern is a printf-style pattern. (See the
|
|
Packit |
78deda |
standard C library printf subroutine). For the example above,
|
|
Packit |
78deda |
it would be tile_%2d_%2a.ppm. The only possible conversion
|
|
Packit |
78deda |
specifiers are:
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
d
|
|
Packit |
78deda |
"down": The rank (row) number, starting with 0.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
a
|
|
Packit |
78deda |
"across": The file (column) number, starting with 0.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
%
|
|
Packit |
78deda |
The per cent character (%).
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
The number between the % and the conversion specifier is the
|
|
Packit |
78deda |
precision and is required. It says how many characters of the file
|
|
Packit |
78deda |
name are described by that conversion. The rank or file number is
|
|
Packit |
78deda |
filled with leading zeroes as necessary.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
So the example tile_%2d_%2a.ppm means to get the name of
|
|
Packit |
78deda |
the file that contains the tile at Rank 0, File 5, you:
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
replace the "%2d" with the rank number, as a 2 digit
|
|
Packit |
78deda |
decimal number: "00"
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Replace the "%2a" with the file number, as a 2 digit
|
|
Packit |
78deda |
decimal number: "05"
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Note that this pattern describes file names that pamdice
|
|
Packit |
78deda |
produces, except that the precision may be more or less.
|
|
Packit |
78deda |
(pamdice uses however many digits are required for the highest
|
|
Packit |
78deda |
numbered image).
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
OPTIONS
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
-across=N
|
|
Packit |
78deda |
|
|
Packit |
78deda |
This is the number of tiles across in the grid, i.e. the number of
|
|
Packit |
78deda |
tiles in each rank, or the number of files.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Default is 1.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
-down=N
|
|
Packit |
78deda |
|
|
Packit |
78deda |
This is the number of tiles up and down in the grid, i.e. the
|
|
Packit |
78deda |
number of tiles in each file, or the number of ranks.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Default is 1.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
-hoverlap=pixels
|
|
Packit |
78deda |
|
|
Packit |
78deda |
This is the amount in pixels to overlap the tiles horizontally.
|
|
Packit |
78deda |
pamundice clips this much off the right edge of every tile
|
|
Packit |
78deda |
before joining it to the adjacent image to the right. The tiles along
|
|
Packit |
78deda |
the right edge remain whole.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
There must not be any input image narrower than this.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Note that this undoes the effect of the same -hoverlap
|
|
Packit |
78deda |
option of pamdice.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Default is zero -- no overlap.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
-voverlap=pixels
|
|
Packit |
78deda |
|
|
Packit |
78deda |
This is analogous to -hoverlap, but pamundice
|
|
Packit |
78deda |
clips the bottom edge of each image before joining it to the one below.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
-verbose
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Print information about the processing to Standard Error.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
HISTORY
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamundice was new in Netpbm 10.39 (June 2007). Before that,
|
|
Packit |
78deda |
pnmcat is the best substitute.
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
SEE ALSO
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pamdice,
|
|
Packit |
78deda |
pnmcat,
|
|
Packit |
78deda |
pnmindex,
|
|
Packit |
78deda |
pnmtile,
|
|
Packit |
78deda |
pnm
|
|
Packit |
78deda |
pam
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
Table Of Contents
|
|
Packit |
78deda |
|
|
Packit |
78deda |
EXAMPLE
|
|
Packit |
78deda |
SYNOPSIS
|
|
Packit |
78deda |
DESCRIPTION
|
|
Packit |
78deda |
ARGUMENTS
|
|
Packit |
78deda |
OPTIONS
|
|
Packit |
78deda |
HISTORY
|
|
Packit |
78deda |
SEE ALSO
|
|
Packit |
78deda |
|
|
Packit |
78deda |
</BODY>
|
|
Packit |
78deda |
</HTML>
|