diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2022-04-30 15:36:54 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2022-04-30 15:36:54 +0000 |
commit | 15dcbc9b5f550e758e7b95208677bf5f50aef21c (patch) | |
tree | a126361a2908efb4a4c61eaea6ce2e3f889e5e3c | |
parent | 61c296305814a003d4e2fad1bf8b165357eb4c79 (diff) | |
download | netpbm-mirror-15dcbc9b5f550e758e7b95208677bf5f50aef21c.tar.gz netpbm-mirror-15dcbc9b5f550e758e7b95208677bf5f50aef21c.tar.xz netpbm-mirror-15dcbc9b5f550e758e7b95208677bf5f50aef21c.zip |
miscellaneous update
git-svn-id: http://svn.code.sf.net/p/netpbm/code/userguide@4329 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | pamrestack.html | 180 | ||||
-rw-r--r-- | pamshuffle.html | 159 | ||||
-rw-r--r-- | pamtopdbimg.html | 12 |
3 files changed, 350 insertions, 1 deletions
diff --git a/pamrestack.html b/pamrestack.html new file mode 100644 index 00000000..008eabbd --- /dev/null +++ b/pamrestack.html @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamrestack User Manual</title></head> +<body> +<h1>pamrestack</h1> +Updated: +<br> +<a href="#index">Table Of Contents</a> + +<h2>NAME</h2> +pamrestack - Rearrange rows of a Netpbm image + +<h2 id="synopsis">SYNOPSIS</h2> + +<b>pamrestack</b> + +[<b>-width=</b><i>width</i>] + +[<b>-trim=</b>{<b>fill</b>|<b>crop</b>|<b>abort</b>}] + +[<b>-verbose</b>] + +[<i>pamfile</i>] + +<p>Minimum unique abbreviations of option are acceptable. You may use +double hyphens 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. + +<h2 id="description">DESCRIPTION</h2> + +<p>This program is part of <a href="index.html">Netpbm</a>. + +<p><b>pamrestack</b> rearranges the pixels of a Netpbm image into different +size rows. E.g. if an image is 100 pixels wide and 50 pixels high, you can +rearrange it to 125 wide and 40 high. In that case, 25 pixels from the start +of the 2nd row of the input would be moved to the end of the 1st row of input, +50 pixels from the 3rd row would be moved to the 2nd row, etc. + +<p>Put another way, <b>pamrestack</b> arranges all the input rows into one +long sequence and produces output rows therefrom, in FIFO order. + +<p>Input is from Standard Input if you don't specify the input +file <i>pamfile</i>. + +<p>Output is to Standard Output. + +<p><b>pamrestack</b> works on a multi-image stream. It cuts each image in the +stream independently and produces a multi-image stream output. + + +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamrestack</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-width=</b><i>width</i> + +<dd>The width of the output. If this option is not specified, the output will + consist of a single row wide enough to contain all the pixels of the input + image. + +<dt><b>-trim=</b>{<b>fill</b>|<b>crop</b>|<b>abort</b>} + +<dd>This option specifies what to do when the new width does not cleanly +divide the number of pixels in the input image. + +<dl> + <dt><b>fill</b> + <dd>(Default) Complete the final row by adding black pixels as necessary. + + <dt><b>crop</b> + <dd>Discard the final partial row. If this means there is nothing to + output, fail the program. + + <dt><b>abort</b> + <dd>Fail the program.. +</dl> + +<dt><b>-verbose</b> + +<dd> +Print information about the processing to Standard Error. + +</dl> + +<h2 id="usage">USAGE</h2> + +<p><b>pamrestack</b> is a general editor with many possible uses. +<ul> + <li> + <b>pamrestack</b> can rearrange into rectangles single-dimention images + produced by programs such as <b>ppmhist</b> and <b>pamseq</b>. This makes + the output easier to examine with a viewer. Conversely, <b>pamrestack</b> + can be used to convert a normal rectangular image into one wide row or one + tall column if that is desireable for compression, conversion, or analysis. + + <li> + <b>pamrestack</b> can repair images corrupted by an incorrect width value + in the header. Images grabbed from the framebuffer device often exhibit + this problem. + + <li><b>pamrestack</b> can be used with <b>pamdice</b>, <b>pamundice</b>, + <b>pnmcat</b>, etc. to divide and combine images in the process of + interlacing. + </ul> + + +<h2 id="examples">EXAMPLES</h2> + +<ul> + <li>Rearrange the one-dimensional output of <b>pamseq</b> into a square: + +<pre> +<kbd> +pamseq 3 255 | pamrestack -width=4096 +</kbd> +</pre> + +<li>Combine two files, each 600 pixels wide, one with the odd rows and + another with the even rows, to construct an interlaced image: + +<pre> +<kbd> +pnmcat -leftright oddrows.ppm evenrows.ppm | pamrestack -width=600 +</kbd> +</pre> + + +<li>Like the above, but invert all pixels in the even rows left to right + to produce a serpentine interlace: + +<pre> +<kbd> + pamflip -leftright evenrows.ppm | + pnmcat -leftright oddrows.ppm - | + pamrestack -width 600 +</kbd> +</pre> + +</ul> + +<h2 id="seealso">SEE ALSO</h2> + +<b><a href="pamseq.html">pamseq</a></b>, +<b><a href="ppmhist.html">ppmhist</a></b>, +<b><a href="pnmshear.html">pnmshear</a></b>, +<b><a href="pamdeinterlace.html">pamdeinterlace</a></b>, +<b><a href="pamdice.html">pamdice</a></b>, +<b><a href="pamundice.html">pamundice</a></b>, +<b><a href="pnmcat.html">pnmcat</a></b>, +<b><a href="pam.html">pam</a></b> + + +<h2 id="history">HISTORY</h2> + +<p><b>pamrestack</b> was new in Netpbm 10.99 (June 2022). + + +<h2 id="author">AUTHOR</h2> + +By Akira F. Urushibata. Contributed to the public domain by the author. + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#usage">USAGE</a> +<li><a href="#examples">EXAMPLES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +<li><a href="#author">AUTHOR</a> +</ul> + +</body> +</html> diff --git a/pamshuffle.html b/pamshuffle.html new file mode 100644 index 00000000..e6646b7f --- /dev/null +++ b/pamshuffle.html @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamshuffle User Manual</title></head> +<body> +<h1>pamshuffle</h1> +Updated: +<br> +<a href="#index">Table Of Contents</a> + +<h2>NAME</h2> +pamshuffle - Shuffle pixels of a Netpbm image + +<h2 id="synopsis">SYNOPSIS</h2> + +<b>pamshuffle</b> +[<b>-column</b> +[<b>-randomseed</b> <i>integer</i>]] +[<i>pamfile</i>] + +<p>Minimum unique abbreviations of option are acceptable. You may use +double hyphens 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. + +<h2 id="description">DESCRIPTION</h2> + +<p>This program is part of <a href="index.html">Netpbm</a>. + +<p><b>pamshuffle</b> reads a Netpbm image as input and produces an output file +with the pixels shuffled. The operation only changes the location of existing +pixels; nothing is discarded or added. + +<p>By default, pixels change location within rows independently, but it is +also possible to perform the same shuffle on every row, meaning the program is +shuffling vertical columns of pixels. Either way, there is no vertical +rearrangement; this means images consisting entirely of horizontal stripes, +such as the national banners of Germany, Thailand and Ukraine, will be +unchanged. + +<p>To shuffle vertically, or to perform a complete scramble, use +<b>pamshuffle</b> together with <b>pamflip</b>. See examples below. + +<p>Input is from Standard Input if you don't specify the input file +<i>pamfile</i>. + +<p>Output is to Standard Output. + +<p><b>pamshuffle</b> works on a multi-image stream. It operates on +each image in the stream independently and produces a multi-image +stream output. + +<p>The shuffling algorithm is the widely known +<a href="https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle"> +Fisher-Yates method</a>. + + +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamshuffle</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-column</b> + +<dd>Shuffle vertical columns, i.e. perform the same movement on all rows. +Without this option, the program shuffles each row independently. + +<dt><b>-randomseed</b>= <i>integer</i> + +<dd>This is the seed for the random number generator that generates the +pixels. + +<p>Use this to ensure you get the same image on separate invocations. + +<p>By default, <b>pamshuffle</b> uses a seed derived from the time of day +and process ID, which gives you fairly uncorrelated results in multiple +invocations. +</dl> + + +<h2 id="examples">EXAMPLES</h2> + +<p>In the following example, output is to Standard Output. You will probably +want to add redirection to somewhere useful. + +<ul> +<li><p><b>pamshuffle</b> is useful when you want to randomize the orderly +output of image generators such as <b>pamseq</b> and <b>pgmramp</b>. + +<p>Produce five permutations of integers 0 to 15: + +<pre> +<kbd> +pgmramp -lr -maxval=15 16 5 | pamshuffle -plain +</kbd> +</pre> + +<li>Shuffle columns: + +<pre> +<kbd> +pamshuffle -column image.ppm +</kbd> +</pre> + + +<li>Shuffle rows: + +<pre> +<kbd> +pamflip -cw image.ppm | pamshuffle | pamflip -ccw +</kbd> +</pre> + +<li>Perform complete shuffle: + +<pre> +<kbd> +pamflip -cw image.ppm | pamshuffle | pamflip -ccw | pamshuffle +</kbd> +</pre> + +</ul> + + +<h2 id="seealso">SEE ALSO</h2> + +<b><a href="pamseq.html">pamseq</a></b>, +<b><a href="pgmramp.html">pgmramp</a></b>, +<b><a href="pamflip.html">pamflip</a></b>, +<b><a href="ppmshift.html">ppmshift</a></b>, +<b><a href="ppmspread.html">ppmspread</a></b>, +<b><a href="pam.html">pam</a></b> + + +<h2 id="history">HISTORY</h2> + +<p><b>pamshuffle</b> was new in Netpbm 10.99 (June 2022). + + +<h2 id="author">AUTHOR</h2> + +By Akira F. Urushibata. Contributed to the public domain by the author. + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#examples">EXAMPLES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +<li><a href="#author">AUTHOR</a> +</ul> + +</body> +</html> diff --git a/pamtopdbimg.html b/pamtopdbimg.html index f163e522..c67f6527 100644 --- a/pamtopdbimg.html +++ b/pamtopdbimg.html @@ -2,7 +2,7 @@ <html><head><title>Pamtopdbimg User Manual</title></head> <body> <h1>pamtopdbimg</h1> -Updated: 25 September 2010 +Updated: 12 March 2022 <br> <a href="#index">Table Of Contents</a> @@ -19,6 +19,7 @@ pamtopdbimg - convert a Netpbm image to a Palm Pilot Image Viewer PDB Image [<b>-uncompressed</b>] [<b>-maybecompressed</b>] [<b>-4depth</b>] +[<b>-fixedtime</b>] [<i>netpbmfile</i>] @@ -76,6 +77,15 @@ Attach the note in the specified file to the image. <p> If you don't specify this, <b>pamtopdbimg</b> does not attach any note. +<dt><b>-fixedtime</b> +<dd> +Fake the mtime and ctime vaues in the PDB image with a value that is the +same every time you run the program. This facilitates testing and +verification because it means with the same input you always get the +same output. +<p> +This option was new in Netpbm 10.98 (March 2022). + </dl> <h2 id="seealso">SEE ALSO</h2> |