file: PW, node: TOP, next: DESCRIPTION, up: (DIR) PHOTOWRITER INFORMATION January 13, 1978 Meyer A. Billmers This file describes the Optronics, International Inc. photowriter in the mini-robot group of the Artificial Intelligence Lab., and the PW program for running the photowriter. The format of this file is compatible with the INFO program (so that :INFO will allow you to visit selected nodes of this file. Visit top level node PW). If you wish to print this file, it is .INFO.;PW INFO * Menu: the sections of this file are as follows: * DESCRIPTION:: description of the photowriter's physical characteristics and capabilities. * SET-UP:: how to set up the photowriter before beginning a photowriter session * PW START-UP:: how to invoke the PW program * 11/40 START-UP:: how to start up the 11/40 * INTERPRETER:: how the PW program's command interpreter works (i.e. how to enter arguments to commands) * COMMANDS:: the complete command list for the PW program, with examples. * PW-LOG:: PW keeps a log of all photowriting! The log file is VIS;PW LOG  file: PW, node: DESCRIPTION, next: SET-UP, up: TOP The Optronics International, Inc. photowriter is currently located in the mini-robot group of the Artificial Intelligence Lab., in room 904. It is used to make high-resolution black and white hardcopy photographic transparancies from picture files (for the specification of the new picture file format, or to learn how to create picture files in LISP, see LIBVIS;IMAGE NEWS). Actually, various programs can create picture files, including the mini-robot software for the VIDICON, the PIN-DIODE camera, and the PHOTOSCANNER. All these picture files are suitable for output on the photowriter. The photowriter operates on the principal of a rotating drum. The cartridge in which the drum is housed is removable, portable, and light-tight. A sheet of a special, red-sensitive black-and-white film is loaded into the drum in a darkroom. The drum (cartridge) has a slit at the bottom which can be opened and closed by operating a push/pull lever on the cartridge itself. This slit must be closed (lever pushed in) at all times except when the film is about to be exposed. When mounted on the photowriter, the drum rotates the film past a movable L.E.D./lens assembly, which exposes the film under program control. Output is line-oriented, and the photowriter exposes a line of data with each drum rotation (consequently, time to expose a picture increases only as the height of the picture in lines increases; picture width (line length) has no effect on time needed to expose a picture). After each line of film is exposed, the L.E.D./lens assembly is moved into position for the next line. The film itself is 8" x 10" sheet film (20.3 cm. x 25.4 cm.). Only 19 cm. x 24 cm. is accessible to the user for exposure. For purposes of the PW program there will be a coordinate system imposed on the film, with X running the longer dimension and Y the shorter dimension (height). (0,0) is in the lower left hand corner, and (19,24) is in the upper right when the film is held horizontally. Hardware margins are imposed for you, so that (0,0) is actually about 1/2 cm. from the edges. Picture file lines are parallel to the X axis. The photowriter takes 8 bit picture elements (pixels), although PW will handle picture files of different pixel size and will scale everything accordingly. Datum 0 is a white pixel on the film, e.g. the film is unexposed and developes clear (transparent). Datum 255 is a black pixel. Keep in mind that when printed onto paper, these relationships reverse. If the picture is binary, (e.g. 1 bit/pixel) all points are either white or black. The photowriter has 3 user-selectable raster settings. 100 microns is most commonly used, and produces pixels which are 100 microns or .01 cm. square. 50 and 25 micron rasters may also be selected. There is a thumb-wheeel under the drum which must be made to agree with the external raster setting. See node: SET-UP.  file: PW, node: SET-UP, next: PW START-UP, up: TOP, previous: DESCRIPTION SETTING UP THE PHOTOWRITER: 1. Ensure that a fresh sheet of film is loaded in the drum. By convention, the LOADED sign will be left on the drum when it is loaded with a fresh sheet of film; the EXPOSED sign will indicate that the film in the drum needs processing. When in doubt, assume you need a fresh sheet. The film can only be loaded by someone trained in the process. If you don't know how to load the drum, contact Karen Prendergast in room 817 (or KAREN@AI) so that she can show you how to do it. 2. Ensure that the raster that you want is indicated by the three-position rotary switch on the front panel labelled "RASTER". CAUTION: ordinarily this switch is on the 100 setting. If you need to change it, there is also a thumb- wheel inside the photowriter which must be changed. To get access to this thumb-wheel, the drum must be removed; if you don't know how to do this, find someone who does know, as an abortive attempt to remove the drum could damage the photowriter (and ruin your film). 3. Press the ON button to turn the power on. It should light up, along with the red STOP button and the orange DARK-SLIDE light. 4. You will notice a small push/pull handle at the base of the drum. Pull this toward you as far as it will go. The orange DARK-SLIDE light on the control panel should go out. 5. Press the RUN button. (There should now be two lights lit: the blue ON/OFF light and the green RUN light. 6. Expose the film, using the PW program (see the section entitled PW START-UP). 7. Push in the push/pull lever, so that the DARK-SLIDE light comes on (otherwise, your film could accidentally be fogged later). 8. Press the STOP button to stop the drum from rotating. 9. Press the ON/OFF button again, to turn the power off. When you are done, place the EXPOSED sign on the drum, and contact Karen to have the film developed. IMPORTANT NOTE: the raster dial setting should NEVER be changed when the drum is rotating. The STOP button should always be employed if you need to change RASTER settings in mid-stream. Also please note that the aperture setting on the lens assembly should not be changed, since calibration tables relating film density to picture file values depend on this setting.  file: PW, node: PW START-UP, next: 11/40 START-UP, up: TOP, previous: SET-UP TO START UP THE PW PROGRAM: Merely find an ITS terminal, log in, and type :PW. PW will identify itself, and type the current RASTER setting of the photowriter RASTER switch. Possible errors here: PDP11 not ready. The PDP11 is not ready, and needs to be started up. See node 11/40 START-UP. PW will self-destruct on this error, so when the 11/40 has been started, you will need to restart PW. PDP11 in use. The PDP11 is being used. This is not really an error, but an indication that the 11/40 is in use. Usually, this message will be printed only when the 11/40 is being used, although it is possible for the system to lose track of the 11/40 status and think it's in use when it is really free. Consequently, you can override the 11/40 IN USE message by bootstrapping the 11/40 (see node: 11/40 START-UP), but be CAREFUL to ensure that someone really isn't using the 11/40. Remember, people can be using the 11/40 for reasons other than photowriting, so an idle photowriter is insufficient grounds for shooting down someone's program. Check the photoscanner, and the 11/45 machine room (904) to ensure that you won't be interrupting something. PW will self-destruct on this error, so you'll have to restart it. Another useful trick is to do a PEEK and see if there are any jobs on the system called PW or PS. If so, you'll know whom to contact. Again: this message is usually accurate, so be very careful to ensure that you know what you are doing before proceeding to the 11/40 START-UP section if you get the 11/40 IN USE message. Photowriter not ready (drum not rotating) The photowriter has not been correctly set up. See node: SET-UP, and go through the checklist. PW will wait for this problem to be corrected, and then will continue. Film not exposed (dark slide) Pull out the push/pull handle on the photowriter drum to enable the film to be exposed. PW will wait for this problem to be corrected, and then will continue. When PW is ready for commands, it will type a "*".  file: PW, node: 11/40 START-UP, next: INTERPRETER, up: TOP, previous: PW START-UP 11/40 START-UP PROCEDURES: Since much of the photowriter program runs on the PDP11/40 (located in the same room as the photowriter), it must be running before the PW program can be called on ITS. It may be running already: the easiest way to find out is to try to start up the PW program on ITS (see node: PW START-UP). If the 11/40 is not running (or is in use) it will tell you so, and you should then return to this section. The procedure for bootstrapping the 11/40 is as follows: 1. Verify that no one else is using the 11/40. If there is someone sitting at the 11/45 console (GT40) ask him, as 11/45 users sometimes use the 11/40 in conjunction with their 11/45 programs. Also, check that the photowriter and photoscanner are not already in use (both should be powered off, unless you just turned the photowriter on yourself). If the photowriter or photoscanner drum is rotating and the lights are blinking, DON'T proceed to step 2. 2. The 11/40 should have power (manifested by red L.E.D.'s showing on the front panel). If it does not, you will have to power up the 11/45 (the two machines are on one power switch) by rotating the three-position rotary switch on the 11/45 front panel from the OFF to the POWER position. You need do nothing else to the 11/45. 3. On the 11/40 front panel, press the ENABLE/HALT switch down (to HALT), then lift it up (to ENABLE). 4. Place the number 173000 in the 11/40 switch register. (Chances are it is already there: all switches down except 15, 14, 13, 12, 10 and 9.) 5. Press LOAD ADDRESS. (It will pop back up.) 6. Press START (it too will pop up), and you're ready to go.  file: PW, node: INTERPRETER, next: COMMANDS, up: TOP, previous: 11/40 START-UP THE PW COMMAND INTERPRETER: When waiting for a command, the PW program will prompt you with a "*". Any time this "*" is present, you may type "?" to get a list of available commands, or you may type a two-letter command. If the command takes no arguments, you are done. If the command requires arguments, you may enter them on the same line as the command, separated by a space (and second and additional arguments may be separated by spaces or commas). Most commands that take arguments require numeric arguments. These may be typed in as, for example: 231, 7.2, 2.11, 0.11, .11, etc., that is to say, as any combination of an integer part and up to two decimal places (more decimal places will be ignored, however). Coordinates are always entered in cms. You may also type a after the command, even though the command requires arguments and you have omitted them. The interpreter will ask you for the arguments it needs, and you enter them one at a time, each one terminated by a . In this mode, the INTERPRETER will tell you what the default is for that argument. Typing just a will enter the default value for that argument. You may choose to use all the default settings for all the arguments to a particular command by typing "^" on the command line instead of a first argument. Some commands require a file specification as an argument. If you type just a to one of these, it will type "#" and wait for the file specification, but you may enter the file specification on the same line as the command, just as with numeric arguments. EXAMPLES: *PI *ER 4 *ER Resolution (default is 1.00) ? 4 *SP 3.45, 2.2 *ED ^ *RP MAB;PHOTO GRAY1 *WN OUTFIL > See the next node, COMMANDS, for details of the arguments to the particular PW commands.  file: PW, node: COMMANDS, next: PW-LOG, up: TOP, previous: INTERPRETER This node is the command list for the PW program. Each command will be a subnode, with a more detailed discussion of the command and examples of that particular command contained in the subnode. Functionally, the PW program is arranged so that the photowriting process divides into three stages: 1. getting the image into the 11/40's core memory 2. setting switches which affect how the image will be exposed, such as its size, position on the film, etc., and 3. exposing the film. This logical arrangement makes it possible to manipulate the image in memory and examine details about it, such as its size and the area of the film which it will occupy without actually exposing the image. All exposure of film is accomplished by one command, WP (write picture). This also allows different types of images to be treated identically in stages 2 and 3; only the stage 1 commands need know about different types of images. The PW program can handle two-dimensional gray-level images, one-dimensional intensity profiles, ascii text. It can process ascii text using any of the XGP fonts on directory FONTS; it can process two dimensional images using half-tone dots for better reproduction quality and repeatability, and it can magnify a picture and even interpolate the enlarged image so it doesn't appear "grainy". Two dimensional images can have the data artificially enhanced so that maximum contrast is obtained, and images can be reversed so that black is white and vice/versa. * Menu: these are the available commands. Stage 1: getting the image into memory. * RP:: read in a picture from disk * GS:: use a standard built-in gray scale as the image * PT:: print text. Reads ascii text from keyboard. Stage 2: manipulating the image in memory. * NI:: make a "negative" image (0 = clear film) * PI:: make a "positive" image (0 = black film) * SP:: specify the starting point of the image on film * ER:: enter resolution * ED:: enhance data * SD:: smooth (interpolate) data * UD:: unsmooth data * DN:: dots on. Enable the half-tone dot feature * DF:: dots off. Disable half-tone dot feature * MF:: mapping function. Read a map fn. from disk Stage 3: exposing the film. * WP:: write picture (or other image) on film. Miscellaneous support commands: * ST:: settings. Prints current photowriter settings. * PC:: print coordinates of picture (subset of ST). * DI:: disown the PW job. * WN:: wallpaper on. Start up a wallpaper file. * WF:: wallpaper off. Close wallpaper file. * EB:: enter batch mode * VT:: verify text * EX:: exit from PW program  file: PW, node: RP, next: GS, up: COMMANDS COMMAND RP -- read in a picture. The RP command reads in a one-d or two-d picture from disk in the new (Stanford) image format. The picture can have any number of bits per pixel, although 8 is preferred (or 1 for binary pictures). Maximum picture width (line length) is 5120, and max. height is 8000. RP takes one argument, the file specification for the image file to be read. This may be entered on the same line as the RP command (use one space after RP) or on a separate line, in which case a prompt character ("#") will be typed to indicate a file specification is wanted. If the picture read in is two-d, PW will type out the dimensions of the picture and the number of bits per pixel. If it is one-d, PW will type out the number of points which were read, and then will ask you a series of questions: Intensity profile or graph? -- you have the option of having the data be graphed on the film, or printed as an intensity profile. As a graph, each point in the file will be "plotted" as a pixel on the film, where the distance above the base line (as set by the last "SP" command) is proportional to the value of the point. As an intensity profile, the line of points in the file will be "smeared" across the film, that is, repeated to obtain the desired width, but with all the lines in the "smeared" image identical. If you opt for an intensity profile, you will be asked for the width of the profile in cms. This value will remain fixed even if a resolution greater than one is chosen with the ER command. You will also be asked if the profile is to be horizontal (so that the data varies with X) or vertical (data varies with Y). EXAMPLES: *RP TEDDY BEAR *RP #USER;TEDDY BEAR  file: PW, node: GS, next: PT, up: COMMANDS, previous: RP COMMAND GS -- gray scale. This command is no longer available. The command GS gets a prepared gray scale into memory as the image. This gray scale has a black stripe at the beginning, then varies continuously from 0 to 255. It is essentially a canned intensity profile of length 256.  file: PW, node: PT, next: NI, up: COMMANDS, previous: GS COMMAND PT -- print text The print text command allows the user to enter from the keyboard an ASCII text string to be converted to an image and placed on the film. This command is especially useful for labelling images on the film. The text, once typed in, is treated as any other image. You will be asked for the name of the font to be used. Default (type just ) is FONTS;25FG KST. If you choose to enter a font other than the default font, directory FONTS and second filename KST are assumed unless you specify otherwise. Text may be more than one line long, and should be terminated by a line containing ONLY a ".". If you are using a terminal with upper and lower case letters, text should be entered exactly as you wish it to appear on the film. If you are using a datapoint or other all upper case terminal, you may enter the text entirely in upper case, or you may use the following special characters in your text to provide the capability for entering lower case letters as well: ^R -- shift lock release. Characters after this point will be lower case. ^S -- shift. The next character only will be upper-cased. -- shift lock. Characters after this point will be upper case. EXAMPLES: *PT Font (default is 25FG): 31VRB Enter text: Abcde fghijklmnop . *PT Font (default is 25FG): Enter text: I AM NOW AT AN UPPER CASE ONLY TERMINAL. ^R^STHIS LINE WILL BE LOWER CASE, EXCEPT FOR THE FIRST T. $THIS LINE WILL BE ALL UPPER CASE, EXCEPT FOR THIS ^SA. .  file: PW, node: NI, next: PI, up: COMMANDS, previous: PT COMMAND NI -- negative image. This command is the default condition and thus has no effect unless the image has already been reversed once by executing the "PI" command. Negative images have datum 0 = clear film, not exposed, transparent, and datum 255 = black film, maximally exposed. [The name, negative image, comes from the fact that pictures generated by the VIDICON, the PIN-DIODE camera, or the PHOTOSCANNER have 0 =black. Thus, a negative image of such a picture will appear "negative" on the film, but will look positive if printed on paper. Obviously, for artificially generated pictures, this mnemonic distinction disappears.] NI takes no arguments.  file: PW, node: PI, next: SP, up: COMMANDS, previous: NI COMMAND PI -- positive image. This command causes datum 0 to be black on the film, and datum 255 to be clear. This will cause VIDICON, PIN-DIODE and PHOTOSCANNER pictures to appear to be positive images on the film (e.g. black in the scene will be black on the film). This command is the inverse of NI. PI takes no arguments.  file: PW, node: SP, next: ER, up: COMMANDS, previous: PI COMMAND SP -- starting position The SP command is used to specify the starting position on the film of the image currently in memory. SP takes two arguments, the X and Y coordinates of the lower left-hand corner of the image (in cms.). SP does more than setting internal flags; the L.E.D./lens assembly is moved to the starting Y value, so SP may take several seconds to finish. If possible, SP will return immediately while the lens is moving, but some future commands may have to wait for the lens to reach its desired position. (The lens assmembly is alternately referred to as the carriage. PW will inform you when it is waiting for the carriage by printing the message "Waiting for carriage...".) For ASCII text, the coordinates specified should be those of the UPPER left hand corner of the text, since text is exposed top down. EXAMPLES: *SP 2,4 *SP X coordinate in cms. (default is 0.00)? 2.12 Y coordinate in cms. (default is 0.00)? 6  file: PW, node: ER, next: ED, up: COMMANDS, previous: SP COMMAND ER -- enter resolution. ER takes one argument, the resolution. This integer is a magnification factor. For two-dimensional pictures, each datum in the image file is turned into an n x n block of pixels in the image, where n is the resolution. For intensity profiles, the profile is made n times longer as each datum is repeated n times (but note that the width specified when the profile was read is not affected by the resolution). For graphs, ER takes two arguments: the X resolution and the Y resolution. The range of the plotted values can be expanded by increasing the Y resolution, while the length of the base line (X axis) can be expanded by increasing the X resolution. EXAMPLES: *ER 4 *ER Resolution (default is 1.00)? 4  file: PW, node: ED, next: SD, up: COMMANDS, previous: ER COMMAND ED -- enhance data This command artificially increases the contrast of the picture by subtracting from all data points the minimum data point in the picture, and then scaling all points so that the brightest point comes out at intensity 255. The user may specify a different minimum and maximum than those actually appearing in the picture, in which case the data will be scaled to the selected range, with the user specified minimum scaled to 0 and the user specified maximum scaled to 255, and all underflows scaled to 0, overflows to 255. ED takes two arguments, minimum and maximum of the scaled range. The defaults are the minimum and maximum that occur in the picture. Thus, ED ^ takes defaults and gives you maximum possible contrast. EXAMPLES: *ED ^ *ED Minimum (default is 34)? 50 Maximum (defalt is 208)? 180 Note that the use of a specified sub-range can eliminate unwanted anomalous bright or dark spots.  file: PW, node: SD, next: UD, up: COMMANDS, previous: ED COMMAND SD -- smooth data (interpolate) This command is relevant only for pictures being magnified by a user specified resolution > 1 (see command ER). Without smoothing (interpolation), the picture will have a grainy appearance as each datum is converted to an n x n block of pixels, where n is the resolution. With smoothing, the center of the n x n square will be at the data value, but points away from the center will be linearly interpolated toward the intensities of their nearest neighbors, so that a smooth transition occurs and the graininess disappears or is lessened. SD takes no arguments.  file: PW, node: UD, next: DN, up: COMMANDS, previous: SD COMMAND UD -- unsmooth data. UD disables the data smoothing option which SD turns on.  file: PW, node: DN, next: DF, up: COMMANDS, previous: UD COMMAND DN -- dots on (enable half-tone dots). DN turns on the half-tone dot feature. Using this feature, each data element turns into a 6x6 array of black and white pixels which form parts of a half-tone dot. This provides an ease of reproduction for pictures intended for publication, and also provides a greater independence of gray levels from such vagaries as misadjustment of the photowriter L.E.D. intensity or variations in the processing of the film; this is so because even fairly large variations in exposure amounts or developing will not tend to affect the blackness of black pixels or the whiteness of unexposed pixels. Because of the built-in enlargement of the image, half-tone images are usually done with RASTER setting 25 microns; this way, the dot size is 150 microns, which is just barely visible to the naked eye and looks quite acceptable. This corresponds to a screen-ruling of 120 lines per inch. RASTER setting 100 produces big (.06 cm.) dots. If the picture is small, dots may be used in conjunction with a resolution > 1 and a RASTER of 25... using RASTER 25, resolution 4 for example will produce the same size image on film as using RASTER 100, resolution 1, but the dots will be smaller for the former since the data is enlarged by the resolution factor before being put through the dot matrix screen. All other features may be used in conjunction with dots, so that if the resolution is > 1, data smoothing makes perfect sense. Note that since half-tone dot images are normally made using raster 25, and since these images contain 6 times as many photowriter lines as there are data lines in the image file, they can require a great deal more time than continuous tone grey-level pictures (as much as a factor of 24 more time). DN takes no arguments.  file: PW, node: DF, next: MF, up: COMMANDS, previous: DN COMMAND DF -- dots off DF disables the half-tone dot feature enabled by DN. It takes no arguments.  file: PW, node: MF, next: WP, up: COMMANDS, previous: DF COMMAND MF -- mapping function MF takes one argument, the name of a mapping function to be read from disk and used to transform the data elements in the image file (which will now be thought of as lightesses) into photowriter output numbers which will produce the desired lightness or darkness on the film. The use of mapping functions enables linear ranges of data in the image file to remain linearly related on the film, even though the film's response is inherently (pseudo) logarithmic. For more detail on the mapping functions which are available and which ones to use, see WH; PWMAPS INFO. EXAMPLE: *MF WH;PWMAPS CTP4  file: PW, node: WP, next: ST, up: COMMANDS, previous: MF COMMAND WP -- write picture. WP is unique in that it is the only command in the command set which actually causes the film to be exposed. WP takes the image (two-d, one-d profile, gray-scale, or ASCII text) and writes it out onto the film according to the parameters set up by the previous commands in this command list. WP takes no arguments. It types out a summary of the current state of this image as it is about to be placed on the film, and requests user confirmation that this is all as it should be. To prevent mistakes, one should always review this summary line before giving confirmation. The summary line is of the form: PICTUR NAME Rn +/-I (+D) (+S) (+E) (+M) a.aa-b.bb,c.cc-d.dd CONFIRM? where PICTUR NAME is the name of the file, Rn is the resolution, +I means positive image (PI command) or -I means negative image (NI command), +D means half-tone dots enabled, +S is smoothing enabled, +E is data artificially enhanced, +M means map function selected, and a.aa-b.bb is the range of values in X which the picture will occupy on the film, while c.cc-d.dd is the range of value in Y it will occupy (in cms.). In addition, you may get the warning message "WARNING: PICTURE WILL NOT FIT ON FILM" if X or Y goes out of the film range. (This warning will not prohibit you from exposing the film, however). To confirm, type a "Y" (no carriage return needed). To abort, type anything else.  file: PW, node: ST, next: PC, up: COMMANDS, previous: WP COMMAND ST -- print photowriter settings Command ST prints the current values of the various photowriter settings, such as RASTER, resolution, data enhancement, smoothing, half-tone dots, parity of image, and area on the film which this image would occupy if exposed now. ST takes no arguments.  file: PW, node: PC, next: DI, up: COMMANDS, previous: ST COMMAND PC -- print coordinates PC prints the coordinates on the film that the current image would occupy if exposed now. PC is a subset of ST. PC takes no arguments.  file: PW, node: DI, next: WN, up: COMMANDS, previous: PC COMMAND DI -- disown The command DI causes the PW job to disown itself as soon as the next WP command is confirmed. Once a job is disowned, the terminal may be used for other purposes, or the user can log off entirely, and the photowriter job will run to conclusion. Ordinarily this means finishing the picture it is working on, but if the DI appears as part of a batch stream, many pictures may be photowritten with the job disowned (see command EB). The user, of course, has no idea what happens after the job is disowned, although he can create a wallpaper file (see command WN) to document the details of the photowriter protocol, even though it is disowned. To check on the status of a disowned job, do a peek (:P), find the PW job in your job tree, and take note of its index number (IDX). Then run peek as follows: :P J. This will tell you the name of the picture file which PW is reading, and the percent of the file which has been read. DI takes no arguments.  file: PW, node: WN, next: WF, up: COMMANDS, previous: DI COMMAND WN -- wallpaper on. WN starts a wallpaper file. A wallpaper file is a disk file which contains all the characters PW types at you and all the characters you type at PW. It is useful to have a wallpaper file as a record of what you did, so that, when your film is developed, you can tell if any errors which turn up were your fault at photowriting time. If the photowriter job has been disowned (see command DI), a wallpaper file tells you what happened while you weren't there. WN takes as its argument the file specification for the wallpaper file, which may be entered in-line or on a separate line, after the "#". If you attempt to open a file which already exists, the old version of the file will be deleted. EXAMPLES: *WN WALL PAPER *WN #USER;WALL PAPER  file: PW, node: WF, next: EB, up: COMMANDS, previous: WN COMMAND WF -- wallpaper off WF turns off output to the wallpaper file, and closes the file. It takes no arguments.  file: PW, node: EB, next: VT, up: COMMANDS, previous: WF COMMAND EB -- enter batch mode. In batch mode, characters are taken from a batch "stream" whenever PW wants user input, instead of being typed from the keyboard. The batch stream can be a disk file, or a series of characters typed in at the keyboard all at once before batch mode is entered. In either case, the batch stream should contain exactly those characters which would have been typed by the user. Of course, this requires that all the program's needs be anticipated lest errors occur and become compounded. It gives the user the ability to start a batch job which will do several pictures without requiring his intervention. Batch jobs are especially useful when you intend to disown the PW job. Several photowriter pictures can be done even after you've logged out! There is one exception to the rule that the batch file or stream need contain every character that would have been typed at the keyboard: the WP command does not need confirmation if it is called in batch mode. If errors do occur in batch mode, the picture associated with the error will not be exposed, but the remainder of the batch stream will be processed. The user will be notified each time a picture is skipped due to errors. EXAMPLE: *EB Enter name of batch file, or type to enter batch stream manually #USER;BATCH FILE *DI *WN WALL > *RP PICT 1 *ER 3 *SD *SP 4.5, 2.0 *WP *RP PICT 2 *ER 3 *SD *SP 7.5, 2.0 *WP *WF  file: PW, node: VT, next: EX, up: COMMANDS, previous: EB COMMAND VT -- verify text VT types out the ASCII text in the ascii text buffer (which presumably was just filled by the user during execution of a PT command. VT takes no arguments.  file: PW, node: EX, up: COMMANDS, previous: VT COMMAND EX -- exit from PW program EX exits from PW, causing the job to self-destruct and the 11/40 to be bootstrapped so that it will be ready for the next user. EX takes no arguments.  file: PW, node: PW-LOG, up: TOP, previous: COMMANDS PW keeps a running log of all photowriting use on the file VIS;PW LOG. This feature is automatic. The log consists of entries of the form: PW started up by USER 10/14/78 11:02:57 USER; PICTUR 1 R2 +I +M 1.00-2.56,2.50-4.77 with the first line identifying the user who called PW, and succeeding lines giving the CONFIRM line info for each picture (this latter will be present whether or not the user actually saw it typed out, so that disowned jobs still leave this record of their proceedings). This feature is not meant to be a substitute for the use of wallpaper files. Disowned batch jobs still call for the kind of detailed records which the WN feature provides. But it is hoped that the log will provide valuable assistance in those cases where no wallpaper file was used, and where later inspection of the processed film revealed some discrepency which log data may show to be a user error. Also, the log should help indicate to the user community in general the owner of an exposed sheet of film left in the drum, or point the finger of culpability to the user who engages in antisocial darkroom practices. The file VIS;PW LOG will never be longer than 4 disk blocks. This places a limit on the number of pictures it can record at around 700. Additional entries will be appended to the end of the file, with oldest entries being deleted from the front, so that the log will always contain the records of the most recent 700 (approx.) transactions.  file: PW, node: TOP, next: DESCRIPTION, up: (DIR) PHOTOWRITER INFORMATION January 13, 1978 Meyer A. Billmers This file describes the Optronics, International Inc. photowriter in the mini-robot group of the Artificial Intelligence Lab., and the PW program for running the photowriter. The format of this file is compatible with the INFO program (so that :INFO will allow you to visit selected nodes of this file. Visit top level node PW). If you wish to print this file, it is .INFO.;PW INFO * Menu: the sections of this file are as follows: * DESCRIPTION:: description of the photowriter's physical characteristics and capabilities. * SET-UP:: how to set up the photowriter before beginning a photowriter session * PW START-UP:: how to invoke the PW program * 11/40 START-UP:: how to start up the 11/40 * INTERPRETER:: how the PW program's command interpreter works (i.e. how to enter arguments to commands) * COMMANDS:: the complete command list for the PW program, with examples.  file: PW, node: DESCRIPTION, next: SET-UP, up: TOP The Optronics International, Inc. photowriter is currently located in the mini-robot group of the Artificial Intelligence Lab., in room 904. It is used to make high-resolution black and white hardcopy photographic transparancies from picture files (for the specification of the new picture file format, or to learn how to create picture files in LISP, see LIBVIS;IMAGE NEWS). Actually, various programs can create picture files, including the mini-robot software for the VIDICON, the PIN-DIODE camera, and the PHOTOSCANNER. All these picture files are suitable for output on the photowriter. The photowriter operates on the principal of a rotating drum. The cartridge in which the drum is housed is removable, portable, and light-tight. A sheet of a special, red-sensitive black-and-white film is loaded into the drum in a darkroom. The drum (cartridge) has a slit at the bottom which can be opened and closed by operating a push/pull lever on the cartridge itself. This slit must be closed (lever pushed in) at all times except when the film is about to be exposed. When mounted on the photowriter, the drum rotates the film past a movable L.E.D./lens assembly, which exposes the film under program control. Output is line-oriented, and the photowriter exposes a line of data with each drum rotation (consequently, time to expose a picture increases only as the height of the picture in lines increases; picture width (line length) has no effect on time needed to expose a picture). After each line of film is exposed, the L.E.D./lens assembly is moved into position for the next line. The film itself is 8" x 10" sheet film (19 cm. x 24 cm.). For purposes of the PW program there will be a coordinate system imposed on the film, with X running the longer dimension and Y the shorter dimension (height). (0,0) is in the lower left hand corner, and (19,24) is in the upper right when the film is held horizontally. Hardware margins are imposed for you, so that (0,0) is actually about 1/2 cm. from the edges. Picture file lines are parallel to the X axis. The photowriter takes 8 bit picture elements (pixels), although PW will handle picture files of different pixel size and will scale everything accordingly. Datum 0 is a white pixel on the film, e.g. the film is unexposed and developes clear (transparent). Datum 255 is a black pixel. Keep in mind that when printed onto paper, these relationships reverse. If the picture is binary, (e.g. 1 bit/pixel) all points are either white or black. The photowriter has 3 user-selectable raster settings. 100 microns is most commonly used, and produces pixels which are 100 microns or .01 cm. square. 50 and 25 micron rasters may also be selected. There is a thumb-wheeel under the drum which must be made to agree with the external raster setting. See node: SET-UP.  file: PW, node: SET-UP, next: PW START-UP, up: TOP, previous: DESCRIPTION SETTING UP THE PHOTOWRITER: 1. Ensure that a fresh sheet of film is loaded in the drum. By convention, the LOADED sign will be left on the drum when it is loaded with a fresh sheet of film; the EXPOSED sign will indicate that the film in the drum needs processing. When in doubt, assume you need a fresh sheet. The film can only be loaded by someone trained in the process. If you don't know how to load the drum, contact Karen Prendergast in room 817 (or KAREN@AI) to have it done for you. 2. Ensure that the raster that you want is indicated by the three-position rotary switch on the front panel labelled "RASTER". CAUTION: ordinarily this switch is on the 100 setting. If you need to change it, there is also a thumb- wheel inside the photowriter which must be changed. To get access to this thumb-wheel, the drum must be removed; if you don't know how to do this, find someone who does know, as an abortive attempt to remove the drum could damage the photowriter (and ruin your film). 3. Press the ON button to turn the power on. It should light up, along with the red STOP button and the orange DARK-SLIDE light. 4. You will notice a small push/pull handle at the base of the drum. Pull this toward you as far as it will go. The orange DARK-SLIDE light on the control panel should go out. 5. Press the RUN button. (There should now be two lights lit: the blue ON/OFF light and the green RUN light. 6. Expose the film, using the PW program (see the section entitled PW START-UP). 7. Push in the push/pull lever, so that the DARK-SLIDE light comes on (otherwise, your film could accidentally be fogged later). 8. Press the STOP button to stop the drum from rotating. 9. Press the ON/OFF button again, to turn the power off. When you are done, place the EXPOSED sign on the drum, and contact Karen to have the film developed. IMPORTANT NOTE: the raster dial setting should NEVER be changed when the drum is rotating. The STOP button should always be employed if you need to change RASTER settings in mid-stream. Also please note that the aperture setting on the lens assembly should not be changed, since calibration tables relating film density to picture file values depend on this setting.  file: PW, node: PW START-UP, next: 11/40 START-UP, up: TOP, previous: SET-UP TO START UP THE PW PROGRAM: Merely find an ITS terminal, log in, and type :PW. PW will identify itself, and type the current RASTER setting of the photowriter RASTER switch. Possible errors here: PDP11 not ready. The PDP11 is not ready, and needs to be started up. See node 11/40 START-UP. PW will self-destruct on this error, so when the 11/40 has been started, you will need to restart PW. PDP11 in use. The PDP11 is being used. This is not really an error, but an indication that the 11/40 is in use. Usually, this message will be printed only when the 11/40 is being used, although it is possible for the system to lose track of the 11/40 status and think it's in use when it is really free. Consequently, you can override the 11/40 IN USE message by bootstrapping the 11/40 (see node: 11/40 START-UP), but be CAREFUL to ensure that someone really isn't using the 11/40. Remember, people can be using the 11/40 for reasons other than photowriting, so an idle photowriter is insufficient grounds for shooting down someone's program. Check the photoscanner, and the 11/45 machine room (904) to ensure that you won't be interrupting something. PW will self-destruct on this error, so you'll have to restart it. Another useful trick is to do a PEEK and see if there are any jobs on the system called PW or PS. If so, you'll know whom to contact. Again: this message is usually accurate, so be very careful to ensure that you know what you are doing before proceeding to the 11/40 START-UP section if you get the 11/40 IN USE message. Photowriter not ready (drum not rotating) The photowriter has not been correctly set up. See node: SET-UP, and go through the checklist. PW will wait for this problem to be corrected, and then will continue. Film not exposed (dark slide) Pull out the push/pull handle on the photowriter drum to enable the film to be exposed. PW will wait for this problem to be corrected, and then will continue. When PW is ready for commands, it will type a "*".  file: PW, node: 11/40 START-UP, next: INTERPRETER, up: TOP, previous: PW START-UP 11/40 START-UP PROCEDURES: Since much of the photowriter program runs on the PDP11/40 (located in the same room as the photowriter), it must be running before the PW program can be called on ITS. It may be running already: the easiest way to find out is to try to start up the PW program on ITS (see node: PW START-UP). If the 11/40 is not running (or is in use) it will tell you so, and you should then return to this section. The procedure for bootstrapping the 11/40 is as follows: 1. Verify that no one else is using the 11/40. If there is someone sitting at the 11/45 console (GT40) ask him, as 11/45 users sometimes use the 11/40 in conjunction with their 11/45 programs. Also, check that the photowriter and photoscanner are not already in use (both should be powered off, unless you just turned the photowriter on yourself). If the photowriter or photoscanner drum is rotating and the lights are blinking, DON'T proceed to step 2. 2. The 11/40 should have power (manifested by red L.E.D.'s showing on the front panel). If it does not, you will have to power up the 11/45 (the two machines are on one power switch) by rotating the three-position rotary switch on the 11/45 front panel from the OFF to the POWER position. You need do nothing else to the 11/45. 3. On the 11/40 front panel, press the ENABLE/HALT switch down (to HALT), then lift it up (to ENABLE). 4. Place the number 173000 in the 11/40 switch register. (Chances are it is already there: all switches down except 15, 14, 13, 12, 10 and 9.) 5. Press LOAD ADDRESS. (It will pop back up.) 6. Press START (it too will pop up), and you're ready to go.  file: PW, node: INTERPRETER, next: COMMANDS, up: TOP, previous: 11/40 START-UP THE PW COMMAND INTERPRETER: When waiting for a command, the PW program will prompt you with a "*". Any time this "*" is present, you may type "?" to get a list of available commands, or you may type a two-letter command. If the command takes no arguments, you are done. If the command requires arguments, you may enter them on the same line as the command, separated by a space (and second and additional arguments may be separated by spaces or commas). Most commands that take arguments require numeric arguments. These may be typed in as, for example: 231, 7.2, 2.11, 0.11, .11, etc., that is to say, as any combination of an integer part and up to two decimal places (more decimal places will be ignored, however). Coordinates are always entered in cms. You may also type a after the command, even though the command requires arguments and you have omitted them. The interpreter will ask you for the arguments it needs, and you enter them one at a time, each one terminated by a . In this mode, the INTERPRETER will tell you what the default is for that argument. Typing just a will enter the default value for that argument. You may choose to use all the default settings for all the arguments to a particular command by typing "^" on the command line instead of a first argument. Some commands require a file specification as an argument. If you type just a to one of these, it will type "#" and wait for the file specification, but you may enter the file specification on the same line as the command, just as with numeric arguments. EXAMPLES: *PI *ER 4 *ER Resolution (default is 1.00) ? 4 *SP 3.45, 2.2 *ED ^ *RP MAB;PHOTO GRAY1 *WN OUTFIL > See the next node, COMMANDS, for details of the arguments to the particular PW commands.  file: PW, node: COMMANDS, up: TOP, previous: INTERPRETER This node is the command list for the PW program. Each command will be a subnode, with a more detailed discussion of the command and examples of that particular command contained in the subnode. Functionally, the PW program is arranged so that the photowriting process divides into three stages: 1. getting the image into the 11/40's core memory 2. setting switches which affect how the image will be exposed, such as its size, position on the film, etc., and 3. exposing the film. This logical arrangement makes it possible to manipulate the image in memory and examine details about it, such as its size and the area of the film which it will occupy without actually exposing the image. All exposure of film is accomplished by one command, WP (write picture). This also allows different types of images to be treated identically in stages 2 and 3; only the stage 1 commands need know about different types of images. The PW program can handle two-dimensional gray-level images, binary images, one-dimensional intensity profiles, ascii text, and gray scales. It can process ascii text using any of the XGP fonts on directory FONTS; it can process two dimensional images using half-tone dots for better reproduction quality and repeatability, and it can magnify a picture and even interpolate the enlarged image so it doesn't appear "grainy". Two dimensional images can have the data artificially enhanced so that maximum contrast is obtained, and images can be reversed so that black is white and vice/versa. * Menu: these are the available commands. Stage 1: getting the image into memory. * RP:: read in a picture from disk * GS:: use a standard built-in gray scale as the image * PT:: print text. Reads ascii text from keyboard. Stage 2: manipulating the image in memory. * NI:: make a "negative" image (0 = clear film) * PI:: make a "positive" image (0 = black film) * SP:: specify the starting point of the image on film * ER:: enter resolution * ED:: enhance data * SD:: smooth (interpolate) data * UD:: unsmooth data * DN:: dots on. Enable the half-tone dot feature * DF:: dots off. Disable half-tone dot feature * MF:: mapping function. Read a map fn. from disk Stage 3: exposing the film. * WP:: write picture (or other image) on film. Miscellaneous support commands: * ST:: settings. Prints current photowriter settings. * PC:: print coordinates of picture (subset of ST). * DI:: disown the PW job. * WN:: wallpaper on. Start up a wallpaper file. * WF:: wallpaper off. Close wallpaper file. * EB:: enter batch mode * VT:: verify text * EX:: exit from PW program  file: PW, node: RP, next: GS, up: COMMANDS COMMAND RP -- read in a picture. The RP command reads in a one-d or two-d picture from disk in the new (Stanford) image format. The picture can have any number of bits per pixel, although 8 is preferred (or 1 for binary pictures). Maximum picture width (line length) is 5120, and max. height is 8000. RP takes one argument, the file specification for the image file to be read. This may be entered on the same line as the RP command (use one space after RP) or on a separate line, in which case a prompt character ("#") will be typed to indicate a file specification is wanted. If the picture read in is two-d, PW will type out the dimensions of the picture and the number of bits per pixel. If it is one-d, PW will type out the number of points which were read, and then will ask you a series of questions: Intensity profile or graph? -- you have the option of having the data be graphed on the film, or printed as an intensity profile. As a graph, each point in the file will be "plotted" as a pixel on the film, where the distance above the base line (as set by the last "SP" command) is proportional to the value of the point. As an intensity profile, the line of points in the file will be "smeared" across the film, that is, repeated to obtain the desired width, but with all the lines in the "smeared" image identical. If you opt for an intensity profile, you will be asked for the width of the profile in cms. This value will remain fixed even if a resolution greater than one is chosen with the ER command. You will also be asked if the profile is to be horizontal (so that the data varies with X) or vertical (data varies with Y). EXAMPLES: *RP TEDDY BEAR *RP #USER;TEDDY BEAR  file: PW, node: GS, next: PT, up: COMMANDS, previous: RP COMMAND GS -- gray scale. The command GS gets a prepared gray scale into memory as the image. This gray scale has a black stripe at the beginning, then varies continuously from 0 to 255. It is essentially a canned intensity profile of length 256.  file: PW, node: PT, next: NI, up: COMMANDS, previous: GS COMMAND PT -- print text The print text command allows the user to enter from the keyboard an ASCII text string to be converted to an image and placed on the film. This command is especially useful for labelling images on the film. The text, once typed in, is treated as any other image. You will be asked for the name of the font to be used. Default (type just ) is FONTS;25FG KST. If you choose to enter a font other than the default font, directory FONTS and second filename KST are assumed unless you specify otherwise. Text may be more than one line long, and should be terminated by a line containing ONLY a ".". If you are using a terminal with upper and lower case letters, text should be entered exactly as you wish it to appear on the film. If you are using a datapoint or other all upper case terminal, you may enter the text entirely in upper case, or you may use the following special characters in your text to provide the capability for entering lower case letters as well: ^R -- shift lock release. Characters after this point will be lower case. ^S -- shift. The next character only will be upper-cased. -- shift lock. Characters after this point will be upper case. EXAMPLES: *PT Font (default is 25FG): 31VRB Enter text: Abcde fghijklmnop . *PT Font (default is 25FG): Enter text: I AM NOW AT AN UPPER CASE ONLY TERMINAL. ^R^STHIS LINE WILL BE LOWER CASE, EXCEPT FOR THE FIRST T. $THIS LINE WILL BE ALL UPPER CASE, EXCEPT FOR THIS ^SA. .  file: PW, node: NI, next: PI, up: COMMANDS, previous: PT COMMAND NI -- negative image. This command is the default condition and thus has no effect unless the image has already been reversed once by executing the "PI" command. Negative images have datum 0 = clear film, not exposed, transparent, and datum 255 = black film, maximally exposed. [The name, negative image, comes from the fact that pictures generated by the VIDICON, the PIN-DIODE camera, or the PHOTOSCANNER have 0 =black. Thus, a negative image of such a picture will appear "negative" on the film, but will look positive if printed on paper. Obviously, for artificially generated pictures, this mnemonic distinction disappears.] NI takes no arguments.  file: PW, node: PI, next: SP, up: COMMANDS, previous: NI COMMAND PI -- positive image. This command causes datum 0 to be black on the film, and datum 255 to be clear. This will cause VIDICON, PIN-DIODE and PHOTOSCANNER pictures to appear to be positive images on the film (e.g. black in the scene will be black on the film). This command is the inverse of NI. PI takes no arguments.  file: PW, node: SP, next: ER, up: COMMANDS, previous: PI COMMAND SP -- starting position The SP command is used to specify the starting position on the film of the image currently in memory. SP takes two arguments, the X and Y coordinates of the lower left-hand corner of the image (in cms.). SP does more than setting internal flags; the L.E.D./lens assembly is moved to the starting Y value, so SP may take several seconds to finish. If possible, SP will return immediately while the lens is moving, but some future commands may have to wait for the lens to reach its desired position. (The lens assmembly is alternately referred to as the carriage. PW will inform you when it is waiting for the carriage by printing the message "Waiting for carriage...".) For ASCII text, the coordinates specified should be those of the UPPER left hand corner of the text, since text is exposed top down. EXAMPLES: *SP 2,4 *SP X coordinate in cms. (default is 0.00)? 2.12 Y coordinate in cms. (default is 0.00)? 6  file: PW, node: ER, next: ED, up: COMMANDS, previous: SP COMMAND ER -- enter resolution. ER takes one argument, the resolution. This integer is a magnification factor. For two-dimensional pictures, each datum in the image file is turned into an n x n block of pixels in the image, where n is the resolution. For intensity profiles, the profile is made n times longer as each datum is repeated n times (but note that the width specified when the profile was read is not affected by the resolution). For graphs, ER takes two arguments: the X resolution and the Y resolution. The range of the plotted values can be expanded by increasing the Y resolution, while the length of the base line (X axis) can be expanded by increasing the X resolution. EXAMPLES: *ER 4 *ER Resolution (default is 1.00)? 4  file: PW, node: ED, next: SD, up: COMMANDS, previous: ER COMMAND ED -- enhance data This command artificially increases the contrast of the picture by subtracting from all data points the minimum data point in the picture, and then scaling all points so that the brightest point comes out at intensity 255. The user may specify a different minimum and maximum than those actually appearing in the picture, in which case the data will be scaled to the selected range, with the user specified minimum scaled to 0 and the user specified maximum scaled to 255, and all underflows scaled to 0, overflows to 255. ED takes two arguments, minimum and maximum of the scaled range. The defaults are the minimum and maximum that occur in the picture. Thus, ED ^ takes defaults and gives you maximum possible contrast. EXAMPLES: *ED ^ *ED Minimum (default is 34)? 50 Maximum (defalt is 208)? 180 Note that the use of a specified sub-range can eliminate unwanted anomalous bright or dark spots.  file: PW, node: SD, next: UD, up: COMMANDS, previous: ED COMMAND SD -- smooth data (interpolate) This command is relevant only for pictures being magnified by a user specified resolution > 1 (see command ER). Without smoothing (interpolation), the picture will have a grainy appearance as each datum is converted to an n x n block of pixels, where n is the resolution. With smoothing, the center of the n x n square will be at the data value, but points away from the center will be linearly interpolated toward the intensities of their nearest neighbors, so that a smooth transition occurs and the graininess disappears or is lessened. SD takes no arguments.  file: PW, node: UD, next: DN, up: COMMANDS, previous: SD COMMAND UD -- unsmooth data. UD disables the data smoothing option which SD turns on.  file: PW, node: DN, next: DF, up: COMMANDS, previous: UD COMMAND DN -- dots on (enable half-tone dots). DN turns on the half-tone dot feature. Using this feature, each data element turns into a 6x6 array of black and white pixels which form parts of a half-tone dot. This provides an ease of reproduction for pictures intended for publication, and also provides a greater independence of gray levels from such vagaries as misadjustment of the photowriter L.E.D. intensity or variations in the processing of the film; this is so because even fairly large variations in exposure amounts or developing will not tend to affect the blackness of black pixels or the whiteness of unexposed pixels. Because of the built-in enlargement of the image, half-tone images are usually done with RASTER setting 25 microns; this way, the dot size is 150 microns, which is just barely visible to the naked eye and looks quite acceptable. This corresponds to a screen-ruling of 120 lines per inch. RASTER setting 100 produces big (.06 cm.) dots. If the picture is small, dots may be used in conjunction with a resolution > 1 and a RASTER of 25... using RASTER 25, resolution 4 for example will produce the same size image on film as using RASTER 100, resolution 1, but the dots will be smaller for the former since the data is enlarged by the resolution factor before being put through the dot matrix screen. All other features may be used in conjunction with dots, so that if the resolution is > 1, data smoothing makes perfect sense. Note that since half-tone dot images are normally made using raster 25, and since these images contain 6 times as many photowriter lines as there are data lines in the image file, they can require a great deal more time than continuous tone grey-level pictures (as much as a factor of 24 more time). DN takes no arguments.  file: PW, node: DF, next: MF, up: COMMANDS, previous: DN COMMAND DF -- dots off DF disables the half-tone dot feature enabled by DN. It takes no arguments.  file: PW, node: MF, next: WP, up: COMMANDS, previous: DF COMMAND MF -- mapping function MF takes one argument, the name of a mapping function to be read from disk and used to transform the data elements in the image file (which will now be thought of as lightesses) into photowriter output numbers which will produce the desired lightness or darkness on the film. The use of mapping functions enables linear ranges of data in the image file to remain linearly related on the film, even though the film's response is inherently (pseudo) logarithmic. For more detail on the mapping functions which are available and which ones to use, see WH; PWMAPS INFO. EXAMPLE: *MF WH;PWMAPS CTP4  file: PW, node: WP, next: ST, up: COMMANDS, previous: MF COMMAND WP -- write picture. WP is unique in that it is the only command in the command set which actually causes the film to be exposed. WP takes the image (two-d, one-d profile, gray-scale, or ASCII text) and writes it out onto the film according to the parameters set up by the previous commands in this command list. WP takes no arguments. It types out a summary of the current state of this image as it is about to be placed on the film, and requests user confirmation that this is all as it should be. To prevent mistakes, one should always review this summary line before giving confirmation. The summary line is of the form: PICTUR NAME Rn +/-I (+D) (+S) (+E) (+M) a.aa-b.bb,c.cc-d.dd CONFIRM? where PICTUR NAME is the name of the file, Rn is the resolution, +I means positive image (PI command) or -I means negative image (NI command), +D means half-tone dots enabled, +S is smoothing enabled, +E is data artificially enhanced, +M means map function selected, and a.aa-b.bb is the range of values in X which the picture will occupy on the film, while c.cc-d.dd is the range of value in Y it will occupy (in cms.). In addition, you may get the warning message "WARNING: PICTURE WILL NOT FIT ON FILM" if X or Y goes out of the film range. (This warning will not prohibit you from exposing the film, however). To confirm, type a "Y" (no carriage return needed). To abort, type anything else.  file: PW, node: ST, next: PC, up: COMMANDS, previous: WP COMMAND ST -- print photowriter settings Command ST prints the current values of the various photowriter settings, such as RASTER, resolution, data enhancement, smoothing, half-tone dots, parity of image, and area on the film which this image would occupy if exposed now. ST takes no arguments.  file: PW, node: PC, next: DI, up: COMMANDS, previous: ST COMMAND PC -- print coordinates PC prints the coordinates on the film that the current image would occupy if exposed now. PC is a subset of ST. PC takes no arguments.  file: PW, node: DI, next: WN, up: COMMANDS, previous: PC COMMAND DI -- disown The command DI causes the PW job to disown itself as soon as the next WP command is confirmed. Once a job is disowned, the terminal may be used for other purposes, or the user can log off entirely, and the photowriter job will run to conclusion. Ordinarily this means finishing the picture it is working on, but if the DI appears as part of a batch stream, many pictures may be photowritten with the job disowned (see command EB). The user, of course, has no idea what happens after the job is disowned, although he can create a wallpaper file (see command WN) to document the details of the photowriter protocol, even though it is disowned. To check on the status of a disowned job, do a peek (:P), find the PW job in your job tree, and take note of its index number (IDX). Then run peek as follows: :P J. This will tell you the name of the picture file which PW is reading, and the percent of the file which has been read. DI takes no arguments.  file: PW, node: WN, next: WF, up: COMMANDS, previous: DI COMMAND WN -- wallpaper on. WN starts a wallpaper file. A wallpaper file is a disk file which contains all the characters PW types at you and all the characters you type at PW. It is useful to have a wallpaper file as a record of what you did, so that, when your film is developed, you can tell if any errors which turn up were your fault at photowriting time. If the photowriter job has been disowned (see command DI), a wallpaper file tells you what happened while you weren't there. WN takes as its argument the file specification for the wallpaper file, which may be entered in-line or on a separate line, after the "#". If you attempt to open a file which already exists, the old version of the file will be deleted. EXAMPLES: *WN WALL PAPER *WN #USER;WALL PAPER  file: PW, node: WF, next: EB, up: COMMANDS, previous: WN COMMAND WF -- wallpaper off WF turns off output to the wallpaper file, and closes the file. It takes no arguments.  file: PW, node: EB, next: VT, up: COMMANDS, previous: WF COMMAND EB -- enter batch mode. In batch mode, characters are taken from a batch "stream" whenever PW wants user input, instead of being typed from the keyboard. The batch stream can be a disk file, or a series of characters typed in at the keyboard all at once before batch mode is entered. In either case, the batch stream should contain exactly those characters which would have been typed by the user. Of course, this requires that all the program's needs be anticipated lest errors occur and become compounded. It gives the user the ability to start a batch job which will do several pictures without requiring his intervention. Batch jobs are especially useful when you intend to disown the PW job. Several photowriter pictures can be done even after you've logged out! There is one exception to the rule that the batch file or stream need contain every character that would have been typed at the keyboard: the WP command does not need confirmation if it is called in batch mode. If errors do occur in batch mode, the picture associated with the error will not be exposed, but the remainder of the batch stream will be processed. The user will be notified each time a picture is skipped due to errors. EXAMPLE: *EB Enter name of batch file, or type to enter batch stream manually #USER;BATCH FILE *DI *WN WALL > *RP PICT 1 *ER 3 *SD *SP 4.5, 2.0 *WP *RP PICT 2 *ER 3 *SD *SP 7.5, 2.0 *WP *WF  file: PW, node: VT, next: EX, up: COMMANDS, previous: EB COMMAND VT -- verify text VT types out the ASCII text in the ascii text buffer (which presumably was just filled by the user during execution of a PT command. VT takes no arguments.  file: PW, node: EX, up: COMMANDS, previous: VT COMMAND EX -- exit from PW program EX exits from PW, causing the job to self-destruct and the 11/40 to be bootstrapped so that it will be ready for the next user. EX takes no arguments.