Blame userguide/pamundice.html

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>