{
    "mode": "man",
    "parameter": "pamstereogram",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/pamstereogram/1/json",
    "generated": "2026-10-22T15:37:16Z",
    "synopsis": "pamstereogram  [-help]  [-verbose]  [-blackandwhite  |  -grayscale  | -color] [-maxval=value]\n[-patfile=pamfile] [-texfile=pamfile] [-bgcolor=color]  [-smoothing=pixels]  [-xbegin=pixels]\n[-xshift=pixels]   [-yshift=pixels]   [-yfillshift  pixels]  [-magnifypat=scale]  [-guidetop]\n[-guidebottom]  [-guidesize=pixels]   [-dpi=resolution]   [-crosseyed]   [-makemask]   [-eye‐\nsep=inches]    [-depth=fraction]    [-planes=nearpixels,farpixels]    [-randomseed=integer]\n[-tileable] [infile]",
    "sections": {
        "NAME": {
            "content": "pamstereogram - create a single-image stereogram from a PAM depth map\n\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "pamstereogram  [-help]  [-verbose]  [-blackandwhite  |  -grayscale  | -color] [-maxval=value]\n[-patfile=pamfile] [-texfile=pamfile] [-bgcolor=color]  [-smoothing=pixels]  [-xbegin=pixels]\n[-xshift=pixels]   [-yshift=pixels]   [-yfillshift  pixels]  [-magnifypat=scale]  [-guidetop]\n[-guidebottom]  [-guidesize=pixels]   [-dpi=resolution]   [-crosseyed]   [-makemask]   [-eye‐\nsep=inches]    [-depth=fraction]    [-planes=nearpixels,farpixels]    [-randomseed=integer]\n[-tileable] [infile]\n\n\n\n\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This program is part of Netpbm(1).\n\npamstereogram inputs a depth map (a map of the distances from your eye of  the  points  in  a\nscene)  and  outputs a single-image stereogram (SIS). A SIS is a 2-D image specially designed\nto appear three dimensional when viewed with relaxed, slightly unfocused eyes. What's  excit‐\ning  about  single-image  stereograms is that they don't require special glasses to view, al‐\nthough it does require a bit of practice to train your eyes to unfocus  properly.   The  pam‐\nstereogram program provides a wealth of control over how the stereogram is generated, includ‐\ning the following:\n\n\n\n•      black and white, grayscale, or color output\n\n\n•      single-image  random-dot  stereograms  (SIRDS), single-image stereograms (SIS) using a\ntiled image, or mapped-texture stereograms (MTS)\n\n\n•      images targeting a given device resolution and eye separation\n\n\n•      optional guide boxes to assist in focusing\n\n\n•      the ability to trade off depth levels for easier viewing\n\n\n•      choice of wall-eyed or cross-eyed stereograms\n\n\n\nThe output is a PAM image on standard output.  Options control the exact format of  the  PAM.\nIf  you want a PNM (PBM, PGM, or PPM) image, use pamtopnm on the output.  There is no need to\nconvert if you will use the image as input to a current Netpbm program, but many  other  pro‐\ngrams don't know what a PAM is.\n\nTo make a red/cyan type of stereogram (that you view with 3-D glasses) instead, see ppm3d.\n\n\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "You may use either single or double hyphens to denote options.  You may use either whitespace\nor an equals sign to separate an option name from its value.\n\nIn  addition  to  the options common to all programs based on libnetpbm (most notably -quiet,\nsee  Common Options ), pamstereogram recognizes the following command line options:\n\n\n\n",
            "subsections": [
                {
                    "name": "-verbose",
                    "content": "Display messages about image sizes and formats and properties of the stereogram  being\ngenerated.\n\n"
                },
                {
                    "name": "-blackandwhite",
                    "content": "Produce a single-image random-dot black-and-white stereogram.  This is the default.\n\n"
                },
                {
                    "name": "-grayscale",
                    "content": "Produce a single-image random-dot grayscale stereogram.\n\n"
                },
                {
                    "name": "-color",
                    "content": ""
                },
                {
                    "name": "-maxval=_",
                    "content": "Designate  the maximum value of each gray/color component, i.e.  the color resolution.\nSmaller values make the output image have smaller numbers of unique  grays/colors.  If\nyou  don't specify -maxval, pamstereogram uses the maxval of the input image. This op‐\ntion has no effect with -blackandwhite.\n\n"
                },
                {
                    "name": "-patfile=_",
                    "content": "Specify an image to use as a repeated background pattern for the stereogram instead of\na random-dot pattern. Intricate images generally produce a  crisper  3-D  effect  that\nsimpler images. The output file will have the same maxval and format (black and white,\ngrayscale  or color) as the pattern file. You cannot specify the -patfile option along\nwith -blackandwhite, -grayscale, -color, or -maxval.  The -verbose  option  will  give\nyou information on the ideal dimensions of the pattern file.\n\n"
                },
                {
                    "name": "-xbegin=_",
                    "content": "Specify  the horizontal coordinate at which to begin stereogram generation.  The back‐\nground pattern will be minimally distorted at this point and more distorted at greater\ndistances.  Consider using this in conjunction with -xshift to  align  the  horizontal\nstart  of  the  pattern with the horizontal start of stereogram generation. -xbegin is\nmeaningful only in conjunction with -patfile, -makemask, or  -texfile,  and  pamstere‐\nogram actually ignores it with respect to -texfile (but may not in a future version of\npamstereogram).\n\nThe default is to begin in the center.\n\nThis option was new in Netpbm 10.71 (June 2015).\n\n"
                },
                {
                    "name": "-texfile=_",
                    "content": "Specify  an  image to use as the texture for a mapped-texture stereogram.  The idea is\nthat the depth-map image provides the depth values of the 3-D object/scene  while  the\ntexture  image provides the true-color values.  Consequently, the texture image should\nalign with the depth-map image.  (Note that it's required  to  have  the  same  dimen‐\nsions.)  The texture image's background color is ignored when blending colors.\n\nThis option was new in Netpbm 10.53 (December 2010).\n\n\n"
                },
                {
                    "name": "-bgcolor=_",
                    "content": "Use color as the texture image's background color instead of letting pamstereogram de‐\ntermine  it  automatically.   Specify  the  color as described for the argument of the\npnmparsecolor() library routine .  The -bgcolor option is meaningful only in conjunc‐\ntion with -texfile.\n\nThis option was new in Netpbm 10.53 (December 2010).\n\n\n"
                },
                {
                    "name": "-smoothing=_",
                    "content": "When used without -texfile, attempt to eliminate artifacts introduced by edges in  the\ndepth map if pixels is greater than zero.\n\nWhen  used with -texfile, horizontally blur non-background colors into background pix‐\nels up to a distance of pixels pixels.  This helps smooth  over  distracting  glitches\nintroduced  by  the  stereogram's  color  constraints  when producing a mapped-texture\nstereogram.  In this case, the -smoothing option is helpful when the texture image in‐\ncludes smooth color transitions (as in a photograph) but makes  crisp  texture  images\n(as in a line drawing) appear blurry.\n\nThis  option  was  new in Netpbm 10.53 (December 2010).  Before Netpbm 10.61 (December\n2012), it has no effect without -texfile.\n\n\n"
                },
                {
                    "name": "-xshift=_",
                    "content": "Shift the pattern image (designated by -patfile) to the right by  pixels  pixels  (de‐\nfault: 0).\n\nThis option is valid only along with -patfile.\n\n"
                },
                {
                    "name": "-yshift _",
                    "content": "Shift  the pattern image (designated by -patfile) downwards by pixels pixels (default:\n0). This option is valid only along with -patfile.\n\n"
                },
                {
                    "name": "-yfillshift _",
                    "content": "Shift the pattern image (designated by -patfile) downwards by pixels pixels  (default:\n0)  but  only  after the initial population of the pattern.  (If used with -yshift the\nresulting shifts are summed.)  A small -yfillshift helps reduce  visual  artifacts  in\nthe 3-D image.  Steer's website, referenced under SEE ALSO , recommends a shift of ap‐\nproximately 1/16\" (6-7 pixels at pamstereogram's default of 100 DPI).\n\nThis option was new in Netpbm 10.94 (March 2021).\n\n"
                },
                {
                    "name": "-magnifypat=_",
                    "content": "Magnify  each  pixel in the pattern file or each random dot by integral scaling factor\nscale. Note that pamstereogram applies the pattern magnification after pattern  shift‐\ning (-xshift and -yshift).\n\n"
                },
                {
                    "name": "-guidebottom",
                    "content": "Draw  a  pair of black squares on a white background underneath the stereogram proper.\nThese squares help you guide your eyes into proper focus to view the 3-D  image.   The\ntrick  is  to  focus your eyes some distance behind the image, causing you to see four\nblack squares, then continue altering your focus distance until the middle  two  black\nsquares  fuse  into  a single black square. At that point, a crisp, 3-D image will ap‐\npear.\n\nThis option was new in Netpbm 10.61 (December 2012).  Before  that,  the  presence  of\n-guidesize, with a positive value, has the same effect.\n\n\n"
                },
                {
                    "name": "-guidetop",
                    "content": "Same as -guidebottom, except the guides go at the top of the image.\n\nThis  option  was  new  in Netpbm 10.61 (December 2012).  Before that, the presence of\n-guidesize, with a negative value, has the same effect.\n\n"
                },
                {
                    "name": "-guidesize=_",
                    "content": "The size (width and height) of each guide box.\n\nThis is valid only with -guidetop or -guidebottom.\n\nDefault is 20.\n\nBefore Netpbm 10.61 (December 2012), if you don't specify this  option,  pamstereogram\ndraws no guides.  If you specify it with a positive value, pamstereogram behaves as if\nyou  specified  -guidebottom  too, and if you specify it with a negative value, it be‐\nhaves as if you specified -guidetop and specified guidesize with the absolute value of\nthat negative value.\n\n"
                },
                {
                    "name": "-dpi=_",
                    "content": "Specify the resolution of the output device in dots per inch.  The default is 100 DPI,\nwhich represents a fairly crisp screen resolution.\n\nBefore Netpbm 10.53 (December 2010), the default was 96 DPI.\n\n\n"
                },
                {
                    "name": "-crosseyed",
                    "content": "Invert the gray levels in the depth map (input image) so that the 3-D image  pops  out\nof  the  page  where it would otherwise sink into the page and vice versa. Some people\nare unable to diverge their eyes and can only cross them. The  -crosseyed  option  en‐\nables  such  people  to  see  the  3-D  image  as  intended.  You can also specify the\n-crosseyed option if you prefer using depth maps in which darker colors are closer  to\nthe eye and lighter colors are farther from the eye.\n\nBefore  Netpbm  10.53 (December 2010), pamstereogram used higher (lighter) numbers for\nthings closer to the eye without -crosseyed and vice versa.\n\n\n"
                },
                {
                    "name": "-makemask",
                    "content": "Instead of a stereogram, output a PAM mask image  showing  coloring  constraints.  New\npixels will be taken from the pattern file where the mask is black. Copies of existing\npixels  will be taken from the pattern file where the mask is white. The -makemask op‐\ntion can be used to help create more sophisticated pattern files (to  use  with  -pat‐\nfile)  Note that -makemask ignores -magnifypat; it always produces masks that assume a\npattern magnification of 1.\n\n"
                },
                {
                    "name": "-eyesep=_",
                    "content": "Specify the separation in inches between your eyes. The default, 2.5 inches (6.4  cm),\nshould be sufficient for most people and probably doesn't need to be changed.\n\n"
                },
                {
                    "name": "-depth=_",
                    "content": "Specify the output image's depth of field. That is, fraction represents the fractional\ndistance of the near plane from the far plane. Smaller numbers make the 3-D image eas‐\nier  to perceive but flatter. Larger numbers make the 3-D image more difficult to per‐\nceive but deeper. The default, 0.3333, generally works fairly well.\n\n"
                },
                {
                    "name": "-planes=_",
                    "content": "Explicitly specify the distance between repeated pixels in the near plane and  in  the\nfar  plane.   This  is an alternative to -eyesep and -depth.  The following equalities\nhold:\n\n\n\n•      eyesep = 2 * far\n\n•      depth = 2 * (far - near) /\n(2 * far - near)\n\n\nThe number of distinct 3-D depths is far - near + 1.  One might say that  -eyesep  and\n-depth  are a more human-friendly way to specify stereoscopic parameters (distance be‐\ntween eyes and tradeoff between perceptibility and depth) while -planes is a more com‐\nputer-centric way (pixel distances in the resulting stereogram).\n\nThis option was new in Netpbm 10.59 (June 2012).\n\n\n"
                },
                {
                    "name": "-randomseed=_",
                    "content": "Specify a seed to be used for the random number generator.  The default is  to  use  a\nseed based on the time of day, to one second granularity.\n\nIt is useful to specify the seed if you want to create reproducible results.  With the\nsame random seed, you should get identical results every time you run pamstereogram.\n\nThis  is  irrelevant  if you use a pattern file (-patfile option), because there is no\nrandom element to pamstereogram's behavior.\n\nThis option was new in Netpbm 10.32 (February 2006).\n\n"
                },
                {
                    "name": "-tileable",
                    "content": "Make the generated image horizontally tileable.  This works  by  blending  a  left-to-\nright  rendering  (the  equivalent  of  -xbegin=0) with a right-to-left rendering (the\nequivalent of -xbegin=width-1).\n\nThis option was new in Netpbm 10.91 (June 2020).\n\n\n\n\n"
                }
            ]
        },
        "PARAMETERS": {
            "content": "The only parameter, infile, is the name of an input file that is a depth map  image.  If  you\ndon't specify infile, the input is from standard input.\n\nThe  input  is  a PAM image of depth 1. Each sample represents the distance from the eye that\nthe 3-D image at that location should be.  Lower (darker) numbers mean further from the eye.\n\n",
            "subsections": []
        },
        "NOTES": {
            "content": "",
            "subsections": [
                {
                    "name": "Input Images",
                    "content": "pamstereogram pays no attention to the image's tuple type and ignores all planes  other  than\nplane 0.\n\nLike  any  Netpbm  program, pamstereogram will accept PNM input as if it were the PAM equiva‐\nlent.\n\n"
                },
                {
                    "name": "Mapped-texture Stereograms",
                    "content": "In a mapped-texture stereogram (MTS), the 3-D image can be drawn with true colors.  Unlike  a\nSIRDS  or  tiled-image  SIS, however, the image portrayed by an MTS is apparent in normal 2-D\nviewing.  It appears repeated multiple times and overlapped with itself, but it is  not  hid‐\nden.\n\nYou  create an MTS with pamstereogram by passing the filename of a PAM \"texture image\" with a"
                },
                {
                    "name": "-texfile",
                    "content": "dicates the colors that the program should apply to the object.\n\npamstereogram ignores the texture image's background color when it overlaps copies of the 3-D\nobject.  This prevents, for example, a bright-red object on a  black  background  from  being\ndrawn  as  a  dark-red object (a blend of 50% bright red and 50% black); instead, the program\nignores the black and the object remains bright red.  A consequence of this feature  is  that\nan MTS looks best when the objects in the texture image have a crisp outline.  Smooth transi‐\ntions  to  the  background  color result in unwanted color artifacts around edges because the\nprogram ignores only exact matches with the background color.\n\nYou should specify a larger-than-normal value for -eyesep (and/or  -dpi)  when  producing  an\nMTS.  Otherwise, the 3-D object will repeat so many times that most colored pixels will over‐\nlap other colored pixels, reducing the number of true-colored pixels that remain.\n\nAn  MTS  can  employ  a  background pattern (-patfile).  In this case, pamstereogram replaces\nbackground pixels with pattern pixels in the final step of generating the image.\n\n\n"
                },
                {
                    "name": "Miscellaneous",
                    "content": "A good initial test is to input an image consisting of a solid shape of distance 0  within  a\nlarge field of maximum distance (e.g., a white square on a black background).\n\nWith  the  default  values  for -dpi and -eyesep, pattern images that are 128 pixels wide can\ntile seamlessly.\n\n\n"
                }
            ]
        },
        "EXAMPLES": {
            "content": "Generate a SIRDS out of small, brightly colored squares and prepare it for display on  an  87\nDPI monitor:\n\npamstereogram depthmap.pam \\\n-dpi 87 -verbose -color -maxval 1 -magnifypat 3 \\\n>3d.pam\n\n\nGenerate a SIS by tiling a PPM file (a prior run with -verbose indicates how wide the pattern\nfile should be for seamless tiling, although any width is acceptable for producing SISes):\n\npamstereogram depthmap.pam -patfile mypattern.ppm >3d.pam\n\n\nGenerate  an  MTS by associating colors with a depth-mapped object (using a large eye separa‐\ntion to reduce the number of repetitions of the texture image) and twice smoothing over back‐\nground-colored speckles:\n\npamstereogram depthmap.pam \\\n-texfile colormap.pam -smoothing 2 -eyesep 3.5 \\\n>3d.pam\n\n\n\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "•\n\npam(1)\n\n\n•\n\npamsistoaglyph(1)\n\n\n•\n\nppm3d(1)\n\n\n•      Harold W. Thimbleby, Stuart Inglis, and Ian H. Witten.  Displaying  3D  Images:  Algo‐\nrithms  for Single Image Random Dot Stereograms. In IEEE Computer, 27(10):38-48, Octo‐\nber 1994.  DOI: 10.1109/2.318576 .\n\n\n•      W.   A.   Steer.    Stereograms:    Technical    Details.     URL:    http://www.tech‐\nmind.org/stereo/stech.html(1).\n\n\n\n",
            "subsections": []
        },
        "HISTORY": {
            "content": "pamstereogram  was new in Netpbm 10.22 (April 2004), but probably broken beyond usability un‐\ntil Netpbm 10.32 (February 2006) and Netpbm 10.26.23 (January 2006).\n\nA backward incompatible change to the way you request guide boxes  (-guidetop,  -guidebottom,",
            "subsections": [
                {
                    "name": "-guidesize",
                    "content": ""
                }
            ]
        },
        "AUTHOR": {
            "content": "Copyright © 2006-2020 Scott Pakin, scott+pbm@pakin.org.\n\n",
            "subsections": []
        },
        "Table Of Contents": {
            "content": "•\n\nSYNOPSIS\n\n•\n\nDESCRIPTION\n\n•\n\nOPTIONS\n\n•\n\nPARAMETERS\n\n•\n\nNOTES\n\n\n•\n\nInput Images\n\n•\n\nMapped-texture Stereograms\n\n•\n\nMiscellaneous\n\n\n•\n\nEXAMPLES\n\n•\n\nSEE ALSO\n\n•\n\nHISTORY\n\n•\n\nAUTHOR\n",
            "subsections": []
        },
        "DOCUMENT SOURCE": {
            "content": "This  manual  page  was  generated by the Netpbm tool 'makeman' from HTML source.  The master\ndocumentation is at\n\nhttp://netpbm.sourceforge.net/doc/pamstereogram.html\n\nnetpbm documentation                       2 January 2021               Pamstereogram User Manual(1)",
            "subsections": []
        }
    },
    "summary": "pamstereogram - create a single-image stereogram from a PAM depth map",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Display messages about image sizes and formats and properties of the stereogram being generated."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Produce a single-image random-dot black-and-white stereogram. This is the default."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Produce a single-image random-dot grayscale stereogram."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Designate the maximum value of each gray/color component, i.e. the color resolution. Smaller values make the output image have smaller numbers of unique grays/colors. If you don't specify -maxval, pamstereogram uses the maxval of the input image. This op‐ tion has no effect with -blackandwhite."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify an image to use as a repeated background pattern for the stereogram instead of a random-dot pattern. Intricate images generally produce a crisper 3-D effect that simpler images. The output file will have the same maxval and format (black and white, grayscale or color) as the pattern file. You cannot specify the -patfile option along with -blackandwhite, -grayscale, -color, or -maxval. The -verbose option will give you information on the ideal dimensions of the pattern file."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the horizontal coordinate at which to begin stereogram generation. The back‐ ground pattern will be minimally distorted at this point and more distorted at greater distances. Consider using this in conjunction with -xshift to align the horizontal start of the pattern with the horizontal start of stereogram generation. -xbegin is meaningful only in conjunction with -patfile, -makemask, or -texfile, and pamstere‐ ogram actually ignores it with respect to -texfile (but may not in a future version of pamstereogram). The default is to begin in the center. This option was new in Netpbm 10.71 (June 2015)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify an image to use as the texture for a mapped-texture stereogram. The idea is that the depth-map image provides the depth values of the 3-D object/scene while the texture image provides the true-color values. Consequently, the texture image should align with the depth-map image. (Note that it's required to have the same dimen‐ sions.) The texture image's background color is ignored when blending colors. This option was new in Netpbm 10.53 (December 2010)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Use color as the texture image's background color instead of letting pamstereogram de‐ termine it automatically. Specify the color as described for the argument of the pnmparsecolor() library routine . The -bgcolor option is meaningful only in conjunc‐ tion with -texfile. This option was new in Netpbm 10.53 (December 2010)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "When used without -texfile, attempt to eliminate artifacts introduced by edges in the depth map if pixels is greater than zero. When used with -texfile, horizontally blur non-background colors into background pix‐ els up to a distance of pixels pixels. This helps smooth over distracting glitches introduced by the stereogram's color constraints when producing a mapped-texture stereogram. In this case, the -smoothing option is helpful when the texture image in‐ cludes smooth color transitions (as in a photograph) but makes crisp texture images (as in a line drawing) appear blurry. This option was new in Netpbm 10.53 (December 2010). Before Netpbm 10.61 (December 2012), it has no effect without -texfile."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Shift the pattern image (designated by -patfile) to the right by pixels pixels (de‐ fault: 0). This option is valid only along with -patfile."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Shift the pattern image (designated by -patfile) downwards by pixels pixels (default: 0). This option is valid only along with -patfile."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Shift the pattern image (designated by -patfile) downwards by pixels pixels (default: 0) but only after the initial population of the pattern. (If used with -yshift the resulting shifts are summed.) A small -yfillshift helps reduce visual artifacts in the 3-D image. Steer's website, referenced under SEE ALSO , recommends a shift of ap‐ proximately 1/16\" (6-7 pixels at pamstereogram's default of 100 DPI). This option was new in Netpbm 10.94 (March 2021)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Magnify each pixel in the pattern file or each random dot by integral scaling factor scale. Note that pamstereogram applies the pattern magnification after pattern shift‐ ing (-xshift and -yshift)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Draw a pair of black squares on a white background underneath the stereogram proper. These squares help you guide your eyes into proper focus to view the 3-D image. The trick is to focus your eyes some distance behind the image, causing you to see four black squares, then continue altering your focus distance until the middle two black squares fuse into a single black square. At that point, a crisp, 3-D image will ap‐ pear. This option was new in Netpbm 10.61 (December 2012). Before that, the presence of -guidesize, with a positive value, has the same effect."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Same as -guidebottom, except the guides go at the top of the image. This option was new in Netpbm 10.61 (December 2012). Before that, the presence of -guidesize, with a negative value, has the same effect."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "The size (width and height) of each guide box. This is valid only with -guidetop or -guidebottom. Default is 20. Before Netpbm 10.61 (December 2012), if you don't specify this option, pamstereogram draws no guides. If you specify it with a positive value, pamstereogram behaves as if you specified -guidebottom too, and if you specify it with a negative value, it be‐ haves as if you specified -guidetop and specified guidesize with the absolute value of that negative value."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the resolution of the output device in dots per inch. The default is 100 DPI, which represents a fairly crisp screen resolution. Before Netpbm 10.53 (December 2010), the default was 96 DPI."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Invert the gray levels in the depth map (input image) so that the 3-D image pops out of the page where it would otherwise sink into the page and vice versa. Some people are unable to diverge their eyes and can only cross them. The -crosseyed option en‐ ables such people to see the 3-D image as intended. You can also specify the -crosseyed option if you prefer using depth maps in which darker colors are closer to the eye and lighter colors are farther from the eye. Before Netpbm 10.53 (December 2010), pamstereogram used higher (lighter) numbers for things closer to the eye without -crosseyed and vice versa."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Instead of a stereogram, output a PAM mask image showing coloring constraints. New pixels will be taken from the pattern file where the mask is black. Copies of existing pixels will be taken from the pattern file where the mask is white. The -makemask op‐ tion can be used to help create more sophisticated pattern files (to use with -pat‐ file) Note that -makemask ignores -magnifypat; it always produces masks that assume a pattern magnification of 1."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the separation in inches between your eyes. The default, 2.5 inches (6.4 cm), should be sufficient for most people and probably doesn't need to be changed."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the output image's depth of field. That is, fraction represents the fractional distance of the near plane from the far plane. Smaller numbers make the 3-D image eas‐ ier to perceive but flatter. Larger numbers make the 3-D image more difficult to per‐ ceive but deeper. The default, 0.3333, generally works fairly well."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Explicitly specify the distance between repeated pixels in the near plane and in the far plane. This is an alternative to -eyesep and -depth. The following equalities hold: • eyesep = 2 * far • depth = 2 * (far - near) / (2 * far - near) The number of distinct 3-D depths is far - near + 1. One might say that -eyesep and -depth are a more human-friendly way to specify stereoscopic parameters (distance be‐ tween eyes and tradeoff between perceptibility and depth) while -planes is a more com‐ puter-centric way (pixel distances in the resulting stereogram). This option was new in Netpbm 10.59 (June 2012)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify a seed to be used for the random number generator. The default is to use a seed based on the time of day, to one second granularity. It is useful to specify the seed if you want to create reproducible results. With the same random seed, you should get identical results every time you run pamstereogram. This is irrelevant if you use a pattern file (-patfile option), because there is no random element to pamstereogram's behavior. This option was new in Netpbm 10.32 (February 2006)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Make the generated image horizontally tileable. This works by blending a left-to- right rendering (the equivalent of -xbegin=0) with a right-to-left rendering (the equivalent of -xbegin=width-1). This option was new in Netpbm 10.91 (June 2020)."
        }
    ],
    "examples": [
        "Generate a SIRDS out of small, brightly colored squares and prepare it for display on  an  87",
        "DPI monitor:",
        "pamstereogram depthmap.pam \\",
        "-dpi 87 -verbose -color -maxval 1 -magnifypat 3 \\",
        ">3d.pam",
        "Generate a SIS by tiling a PPM file (a prior run with -verbose indicates how wide the pattern",
        "file should be for seamless tiling, although any width is acceptable for producing SISes):",
        "pamstereogram depthmap.pam -patfile mypattern.ppm >3d.pam",
        "Generate  an  MTS by associating colors with a depth-mapped object (using a large eye separa‐",
        "tion to reduce the number of repetitions of the texture image) and twice smoothing over back‐",
        "ground-colored speckles:",
        "pamstereogram depthmap.pam \\",
        "-texfile colormap.pam -smoothing 2 -eyesep 3.5 \\",
        ">3d.pam"
    ],
    "see_also": [
        {
            "name": "pam",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pam/1/json"
        },
        {
            "name": "pamsistoaglyph",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pamsistoaglyph/1/json"
        },
        {
            "name": "ppm3d",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/ppm3d/1/json"
        },
        {
            "name": "27",
            "section": "10",
            "url": "https://www.chedong.com/phpMan.php/man/27/10/json"
        },
        {
            "name": "stech.html",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/stech.html/1/json"
        }
    ]
}