@title{ImageWorks and the PCI Image Handler}{Image Display Tool} @keyword{ImageWorks}{Handler} ImageWorks (or PCI Image Handler) is an image display and manipulation program from PCI Enterprises, and is part of PCI's image analysis software. Imageworks must be licensed in order to use all available functions. If this program is NOT licensed, then it becomes the PCI Image Handler, which can load images and perform a few other sample ImageWorks functions, for demonstration purposes only. Througout this on-line help documentation, this program is referred to by its licensed name ``ImageWorks'', instead of its unlicenced name ``Image Handler''. If you would like to license this program and enable all functions, contact PCI at: PCI Enterprises 50 West Wilmot Street, Unit 200E Richmond Hill, Ontario, Canada L4B 1M5 Tel: (905) 764-0614 Fax: (905) 764-9604 Email: sales@pci.on.ca In the United States, contact: PCI Remote Sensing Corporation 1925 N. Lynn Street, Suite 803 Arlington, VA 22209, U.S.A. Tel: (703) 243-3700 Fax: (703) 243-3705 Email: sales@pci.on.ca See Also: {CLWORKS}ClassWorks 1 Customizing @keyword{Customization}{Fonts} Customizing the Appearance of ImageWorks. ImageWorks resources, such as fonts and colours, can be customized on operating systems which use X-Windows Motif, through the .Xdefaults file which resides in the user's login directory. The resources available are as follows: imageworks*fontList: (e.g., fixed) General purpose font for most of the application. imageworks*annotationFont: (e.g., fixed) Extra font available in image and graphic annotation. imageworks*fixedFont: (e.g., 10x20) Font used in areas requiring monospaced characters (e.g. main text in Help Panel). imageworks*background: (e.g., grey) Background colour for most panels. imageworks*MenuBar*background: (e.g., thistle) Colour of all menu bars. imageworks*TitleBar*background: (e.g., lightsteelblue) Colour for all title bars. Available fonts and colours will depend on your system. Under some environments (such as HP VUE) customization is handled by means other than the .Xdefaults file. See the operating system user documentation for these environments. To set these resources system wide, an app-default file may be created called `imageworks', with the same format as the .Xdefaults file. It is typically placed in the directory /usr/lib/X11/app-defaults. 1 Copyright @keyword{Copyright} ImageWorks, Version 5.3.1, Release date: April 1, 1995 COPYRIGHT Software copyrighted (c) by PCI, 50 West Wilmot St., Richmond Hill, Ontario, CANADA, L4B 1M5. Tel: (905) 764-0614 RESTRICTED RIGHTS CANADIAN GOVERNMENT Use, duplication, or disclosure is subject to restrictions as set forth in DSS 9400-18 `General Conditions - Short Form - Licensed Software'. U.S. GOVERNMENT Use, duplication, or disclosure is subject to restrictions as set forth in FAR clause 52.227-19 `Commercial Computer Software - Restricted Rights' and in subparagraph (c) (1) (ii) of the `Rights in Technical Data and Computer Software Clause' at DFARS 52.227-7013. 1 Command Line Options @keyword{Command Line}{-datasize}{-image}{-graphic} @keyword{-nocontrol}{-noconfig}{-mainwin}{-share}{-noshare} @keyword{-debug}{-nodebug}{-mmap}{-nommap}{-8}{-24}{-play}{-cmd} Usage: imageworks [options] ImageWorks accepts a number of command line options. Some of these are for debugging purposes, while others can be used to defined operating modes. Following is a list of command line options: @verbatim -datasize x_size y_size @end The -datasize option is used to define the size of the image and graphic planes in memory. It overrides the datasize defined in the parameter file (PRM.PRM), and suppresses the ImageWorks Configuration Panel. The default size is 512 x 512, if there is no PRM.PRM file. @verbatim -image n_planes @end The -image option allows the number of in-memory image planes to be configured. The argument overrides the number of image planes defined in the parameter file, and suppresses the ImageWorks Configuration Panel. The default number of image planes is 3, if there is no parameter file. @verbatim -graphic n_planes @end The -graphic option allows the number of in-memory graphic planes to be configured. The argument overrides the number of graphic planes defined in the parameter file, and suppresses the ImageWorks Configuration Panel. The default number of graphic planes is 8, if there is no parameter file. The number of graphic planes may not exceed 16. @verbatim -nocontrol @end The -nocontrol option suppresses the popping up of the ImageWorks General Control panel. This is primarily useful for hands off demos. @verbatim -noconfig @end The -noconfig option suppresses the popping up of the ImageWorks configuration panel. This is primarily useful for hands off demos. @verbatim -name window-name @end This option allows the name appearing on the window frame of the main ImageWorks window to be overridden. This is the equivalent of setting a non-default value in the VDn: parameter in the PRM.PRM file. @verbatim -mainwin display-name @end Normally all of the ImageWorks panels appear on the display determined by the DISPLAY environment variable, or the -display command line option. The -mainwin option allows the user to place just the main image window on a different display, allowing for dual-headed function. The `display-name' value should be the name of the display to which the main image window is to be redirected. @verbatim -cmd procedure_name @end The -cmd command line argument is used to pass an EASI Modelling Procedure to be executed after ImageWorks startup. The argument is the name of an EASI procedure to be executed. The filename should be all in upper case, and with the extension ".EAS". Only the base portion of the filename should be provided (eg. `filter' instead of FILTER.EAS). @verbatim -play recording_file @end The -play command is used to trigger automatic execution of a user interaction recording created with the Macro Recorder. The pathname to the file to be executed should be provided as an argument. The macro will be ``played'' after the configuration panel has been popped down, so for a fully automated startup the -noconfig commandline argument should also be used. @verbatim -share -noshare @end The -share option is used to turn on use of the X Windows Shared Memory extension where possible. The -noshare option is used to ensure the extension is not used. The shared memory extension speeds up redraw speed on the screen, sometimes by as much as a factor of three if the display is local to the machine running ImageWorks. However, on many systems the shared memory extension causes problems with proper screen updating when performing Image, Graphic, and Vector editing. Thus shared memory is defaulted to not being used. People wishing to squeeze extra graphic performance out of ImageWorks are encouraged to try out the -share option. @verbatim -mmap -nommap @end The -mmap option enables the used of memory mapped disk IO where possible. Its use is equivalent to defining the environment variable ``ENABLE_MMAP''. The -nommap option disables memory mapped disk IO, even if the ``ENABLE_MMAP'' environment variable is defined. Memory mapped disk IO can provide IO speedups of up to a factor of three on some machines. However, on at least a few machines, the use of memory mapped IO can cause problems. Those interested in speeding up IO are encouraged to experiment with the -mmap option. This option only works on some systems. @verbatim -8 @end The -8 option forces ImageWorks to consider only 8 bit visuals. @verbatim -24 @end The -24 option forces ImageWorks to consider only 24 bit visuals. @verbatim -extra @end This option will enable several extra options in the ``Tools'' pulldown menu and possibly elsewhere. These functions are not considered to be release ready, but may be interesting to experiment with. @verbatim -showerror @end On the Sun, standard out and standard error are redirected to /dev/null. The -showerror option prevents this redirection. @verbatim -debug [n] @end The -debug option places ImageWorks in debugging mode. Plentiful output is sent to standard error. @verbatim -nodebug @end The -nodebug option ensures that ImageWorks is not run in debugging mode. 1 Configuration @keyword{Configuration}{Imagery!Configuration}{Graphics!Configuration} The ImageWorks Configuration Panel allows the user to set up the configuration of an ImageWorks session according to the database file on which the user is going to work. According to the number of channels and the image size of a database, the user can choose to have an ImageWorks session that can display an image with an appropriate size containing a specific number of image/graphic planes. The Configuration panel is invoked automatically if the user does not specify any options when starting ImageWorks. The automatic invocation will not take place if ImageWorks is launched from VDINIT or XPACE. The Configuration panel contains three main sections: the `Configuration Method', `File Information' and a `User Defined Information' section. The Configuration panel also displays an approximate memory requirement that must be available to execute ImageWorks. Pressing the ``Accept'' push button will start ImageWorks with the specified configuration, whereas the ``Exit'' push button will quit ImageWorks. If the selected configuration method is ``Use Image File...'', the user will be able to press the ``Accept & Load'' push button to start ImageWorks and load in the specified database file. 2 Configuration Method This section allows the user to select a configuration method. An image file can be selected (Use Image File...) or appropriate configuration information can be entered in the ``User Defined Information'' area (User Defined). By selecting ``Use Image File...'' the user will be able to select a database file; the configuration information from the database file will then be displayed in the ``File Information'' section. By selecting ``User Defined'', the user will be able to enter configur information in the ``User Defined Information'' section. The ``File Information'' section will be cleared. NOTE: The selected configuration method is displayed in the title bar after ``Configuration Method:''. 2 File Information Section The File Information section gives some basic information about the database file on which the user chooses to work. This section is only accessible when the user selects the ``Use Image File...'' method. This section displays the size of the image and the number of channels from a selected database. Knowing the size of the database window, and the number of channels it contains, the user can configure the ImageWorks session accordingly. The ``Reduce to'' scale allows the user to specify a percentage of the database image size that the user will view. When the user selects a database file, the reduction slider value will be initially set to a default value. The up/down arrows permit the user to step up/down to another reduction value. 2 User Defined Information The User Defined Information section allows the user to set the size of the imagery, the size of the ImageWorks window, and the number of image and graphic planes to be used. The values in the text fields can be changed by using the up/down arrows or by just typing in a value. The X and Y input text fields for the Image Size allow the user to specify the size of the image to be used in ImageWorks. The X and Y input text fields for the Visible Window allow the user to specify the size of the ImageWorks display window. NOTE: The X and Y window size cannot exceed the physical screen(or monitor) size and must not be greater than the Image Size. Pressing the 1:1 Aspect push button will change the values for the Visible Window such that the image to be displayed has a 1:1 aspect ratio and is 2/3 the size of the physical screen. The user can specify the number image planes to be used in ImageWorks. This can either be in 8-bit or 32-bit real. NOTE: A maximum of 128 image planes can be specified. You can start ImageWorks with zero image planes. The user can choose the number of graphic planes to be displayed in ImageWorks via the Graphic Planes radio buttons. See Also: VDINIT, {..|..|}Command Line Options 1 Control Panel @keyword{Gun Graphics Vectors Imagery Enable Disable Zoom Cursor} @index{Colour Gun Mappings}{Graphics!Enable}{Imagery!Colour Guns}{Zoom} The ImageWorks Control Panel is used to view and control many aspects of the ImageWorks configuration. The image display mode (Off/RGB/BW/PC), colour gun mappings, graphic plane enabledness, and vector layer enabledness are all controlled from the Control Panel. The Control panel also allows for quick enhancement, zooming, panning, and viewing of cursor coordinates. The Control Panel is launched automatically when ImageWorks is started. If it is popped down, it can be popped back up by selecting ``Control Panel'' from the ``Tools'' menu. The top section of the Control Panel is the cursor area. On the Cursor title bar is an option menu controlling the cursor coordinates to be displayed beneath the title bar. The possible cursor coordinate values are Display (for display coordinates), Database (for current file coordinates), Geocoded (for georeferenced coordinates if possible), and Geographic (for geographic (Lat/Long) coordinates). See the Cursor Control section for a more detailed explanation of these four options. Beneath the cursor title bar are the cursor coordinates in the current selected grid system. These fields are output only, but the coordinates may be updated on the Cursor Control panel. On occasions when it is impossible to translate the cursor position into the requested coordinates the cursor position will be blank. Below the cursor position are three fields indicating the digital image values of the pixel pointed to by the cursor. Each of these values is separated from the image plane to which it corresponds by a colon. The image planes selected for the Red, Green, and Blue colour guns are the ones displayed. Beneath the Cursor area is the Image control area. The overall display mode of ImageWorks is set using the pull down menu on the ``Imagery'' title bar. The `Off' button disables the display of imagery. The `RGB' button enables the three plane RGB display mode. The `BW' button enables the black and white display mode. Black and white display mode is the same as RGB mode, except that all three colour guns are locked on the same image plane. The `PC' button enables the Pseudocolour display mode in which one image plane is run through a Pseudocolour Table (PCT) to produce a colour image. This colour image may appear black and white if a grey scale is used in the Pseudocolour table. Below the Image title bar is the image plane to colour gun mapping table. Each image plane (to a maximum of 8) has a numbered column in the table with three rows, one for each colour gun. In each row, exactly one image plane will be selected indicating the source of data for the colour gun. The selected image plane is highlighted in the colour of the corresponding colour gun. To view more image planes beyond the first eight, use the Image Info panel, or the DCP PACE program. For example, the following would indicate that ImageWorks is using image plane one for red, image plane two for green, and image plane three for blue; image plane four is currently not displayed. @verbatim Image plane: 1 2 3 4 Red X o o o Green o X o o Blue o o X o @end The Graphics area is used to enable and disable the display of graphic planes easily. The ``All On'' and ``All Off'' buttons on the title bar are used to enable or disable all the graphic planes at once. The buttons under the title bar are used to enable or disable one graphic plane at a time. The graphic planes are enabled when they appear depressed. If there are no graphic planes available this area will be missing from the Control Panel. The Vectors area is used to enable and disable the display of vector layers easily. The ``All On'' and ``All Off'' buttons on the title bar are used to enable or disable all the vector layers at once. The buttons under the title bar are used to enable or disable one vector layer at a time. The vector layers are enabled when they appear depressed. No more than eight vector layers can be controlled from the Control Panel, and blank buttons indicate that no corresponding vector layer yet exists. The Enhancements area is used to apply quick enhancements to the currently visible image planes. This is done by creating Lookup Tables (LUTs) to improve the contrast of the imagery. The `None' button sets the LUT for each of the image planes to a linear ramp. This results in no changes to the imagery data values. The Infreq, Linear, Equal, and Root buttons apply an infrequency, linear, equalization, or square root curve to the LUT, based on end points between which the curve is applied. The end-points are computed by examining the histogram of the sub-window of image data showing in the main image window, ignoring values of 0 and 255, and applying a 2% tail trim. The infrequency enhancement does not apply a 2% tail trim. To better visualize the LUT that these enhancements are creating, pop up the LUT Editing panel (from the Edit pulldown menu) before applying the different quick enhancements on the control panel. This panel is discussed in more detail in the LUT Editing subtopic. The last area of the Control Panel is the Zoom area. On the title bar is a Zoom Level Control. The pull down menu allows you to select the magnification value. The `off' selection indicates ``overview'' mode which means that an overview of all the data in memory is being shown. This is the same as magnification level 1, if the size of the data in memory is the same as the size of the window in which it is being viewed. Beneath the zoom title bar is a graphic representation of the current view window. The outer box, a slight indentation, represents the area of all the data in memory. The black box inside indicates the window of data currently being viewed in the main image window. When the view is zoomed in, the inner box will only contain a small part of all the data. This inner box can also be grabbed and dragged with the mouse cursor to change the view window. See Also: {..|Cursor}Cursor Control, {..|}Image Info, DCP 1 PCT Editing @keyword{PCT!Editing} The PCT Editing panel contains functions for creating and/or modifying the in-memory Pseudocolour Table. The PCT Editing panel can be launched by selecting "PCT" from the "Edit" menu on the main ImageWorks window. The Close button on the PCT Editing panel closes the PCT Editing. The Cancel button closes the PCT Editing panel, and restores the PCT that was in effect when the PCT Editing panel was first opened. 2 Predefined Pseudocolour Tables The Predefined Pseudocolour Table buttons allow the user to quickly replace the existing PCT with a standard PCT provided by the systems. Smooth - A colour ramp running from dark blue to green to yellow to red to magenta. Stepped - A series of short colour ramps. Grey Ramp - A simple grey ramp with 0 mapped to black, and 255 mapped to white. Random - A more or less random set of colours. One step Undo is available after the selection of a predefined Pseudocolour table, via the "Undo" button. 2 Current Pseudocolour Table The Current Pseudocolour Table area of the PCT Editing panel provides a graphical and textual display of the current PCT. These displays are used both for information, and to select a new colour table entry to edit. The colour bar on the left is a graphical representation of the PCT, with the top representing an input value of zero, and the bottom an input value of 255. The scrollable table on the right is a textual representation of the current PCT. The table consists of four columns, and 256 entries. The first column is the input grey level. The second, third, and fourth columns are the red, green, and blue output values for the given input value. Either the scroll bar or the arrow buttons can be used to scroll through the PCT. The textual PCT representation is not directly editable. It is possible to click in either the scrollable PCT window, or the graphical PCT window in order to select a "Grey Level" to modify in the Colour Selection area of the PCT Panel. The selected entry becomes the new Grey Level value to edit; changes to the previous PCT entry are lost unless they were already applied. 2 Colour Selection The colour selection portion of the PCT Editing panel is used to modify the output colour of the currently selected PCT entry ("Grey Level"). It consists of a horizontal colour sampling bar across the top, a current colour chip on the right, a slider and text field for the red, green, and blue components, a current grey level text field, and the Apply and Undo buttons. The horizontal colour sampling bar is used to conveniently select a new colour value. Clicking within this bar will modify the current red, green, and blue components within the Colour Selection area to match the point clicked on. As usual, the colour change is not made to the current PCT until the Apply button is pressed. The colour slider bars are used to modify the red, green, and blue colour components of the currently mixed colour. The current component values are shown in the text fields to the right of the slider bars. These fields are also editable. The colour chip on the right is present to show the presently mixed colour. It is for information purposes only, and clicking on it does nothing. When the "Hold Colour" button is depressed, selecting a new grey value will not cause the currently mixed colour to be changed. The "Grey Level" text field shows the entry in the PCT for which colour selection is being performed. This field is editable; however, each time the current Grey Level is changed, the colour selection area is reloaded with the colour of the newly selected "Grey Level", unless the "Hold Colour" button is depressed. The Apply button is used to place the currently mixed colour in the Colour Selection area back into the PCT. The "Current PCT" is not changed until the Apply button is pressed, applying the new colour to the Current PCT, and updating the main image window to reflect the new PCT. The Undo button is used to undo the last change to the "Current PCT". It will undo the last "Apply" operation, or the last Predefined PCT operation. Also note that the Cancel button will cancel all changes to the PCT since the PCT Editing panel was popped up. 1 LUT Editing @keyword{LUT!Editing}{Imagery!Histogram} The LUT Editing panel contains functions for modifying the in-memory Lookup Tables and image planes according to a specified LUT. The LUT Editing panel can be launched by selecting "LUT" from the "Edit" menu on the main ImageWorks window. The launched LUT Editing panel will contain small "postage stamp" sized LUT graphs. These graphs are output only and can not be edited directly. The number of graphs available will vary depending on the screen and font size of the system. This panel is meant to provide a quick overview of the LUTs currently being applied to the image planes. Each graph has two elements: an option menu and a drawn area showing the LUT. The option menu is used to tie the graph to a particular channel. By selecting "Channel X" (where X is a channel number), the graph will show the LUT currently being applied to that channel. If the graph should be tied to a particular colour gun, choose "Red", "Green", or "Blue". The graph will then show the LUT for the image plane currently tied to that colour gun. Changing the gun mappings will cause these graphs to update appropriately. The LUT Graphs contain three different pieces of information. The black line is a representation of the current LUT. The grey histogram in the background is a histogram of the image data without the LUT applied and the coloured histogram in the foreground is the image data with the LUT applied. If the graph is tied to a colour gun, the foreground histogram is drawn in this colour. A graph that is tied to a specific channel has its foreground histogram drawn in dark grey. To actually edit an LUT, click any of the mouse buttons in the drawn LUT area. This will cause an LUT Editor to be launched that will allow the editing of that LUT. There can be more than one LUT Editor on screen simultaneously. Each graph can launch a different LUT Editor. The editor size can be chosen with the radio buttons at the bottom of the LUT Editing panel. A large editor is useful for having finer control when editing the LUT. A small editor might be required if the size of the screen cannot accommodate the larger editor size. If there is already an LUT editor on screen and another is requested of a different size, the old one is popped down and a new one reflecting the new size is displayed. 2 LUT Editor The LUT Editor is an interactive panel that allows the direct editing of an image plane's lookup table. It is composed of several areas. There is a section for controlling which histograms are shown in the drawing area as well as how the histogram is computed. The main editing area contains a large graphical representation of the LUT for interactive editing with the mouse. To the right of the main editing area is a another LUT graph showing a backup LUT copy. Below this is an area for applying a mathematical function to the LUT. Finally, there are textfields that can be used to enter LUT values directly. The panel features a button at the bottom of the panel which will apply the lookup table to the image plane, changing the image data permanently. 3 Histogram Area There are two option menus in this area. The first one titled "Showing" is used to select which histograms are drawn in the main editing area. The second titled "Computed From" is used to select a mask which will be used to define an area of the image plane from which the histogram is computed. There are two histograms of interest: the original image data histogram with no LUT applied and the new histogram with the LUT applied. Using the "Showing" option menu, it is possible to choose which of these histograms is drawn in the main editing area. This option does not apply to the LUT Editing panel with the "postage stamp" LUTs. Using the "Compute From" option menu, the user may select a mask from under which to compute the raw or (pre-LUT) histogram. Possible selections include "All Data" for a histogram of the entire image plane, "Viewed Data" for a histogram of the area currently showing in the main image window, or a specific graphic plane for a histogram of the imagery underneath that graphic plane. The histograms shown in the LUT graphs are intended as an aid in setting function end points, and visualizing data distribution. 3 Editing Graph The graph contains three different pieces of information. The black line is a representation of the current LUT. The grey histogram in the background is a histogram of the image data without the LUT applied and the coloured histogram in the foreground is the image data with the LUT applied. If the graph is tied to a colour gun, the foreground histogram is drawn in this colour. A graph that is tied to a specific channel has its foreground histogram drawn in dark grey. The black line represents the values in the lookup table, with the left side of the graph representing an input value of 0, and the right side of the graph an input value of 255. The height of the white line above the bottom of the graph corresponds to the output value. At the bottom the output value is 0, while at the top the output value is 255. 3 Interactive Editing There are three methods of interactively editing the LUTs (black lines) directly in the LUT graph displays. The first is to click and drag the left mouse button in the graph area to trace out a section of the LUT. When the left button is released the modified LUT will be applied to the imagery in the main image window. This technique is called direct tracing. While the mouse is moved through the graph, the current position of the cursor is shown in the title bar for the lookup table. The second method, piecewise interpolation, is performed by pressing the middle button at one point, and dragging out a straight line to a second point. The third technique allows the user to drag the entire LUT to the left or the right. This is done by pressing the right mouse button in the graph area, and dragging the whole graph left or right before releasing the mouse button. This can also be accomplished in single step increments using the "left arrow" and "right arrow" buttons while the editing area has input focus. On motif systems, the drawing area can usually be given input focus by clicking the mouse in it. Alternately, the tab key can be used to traverse the tab groups until the drawing area is selected. Unfortunately, the drawing area will not be highlighted in any special way when it is selected so the user may have to experiment with the arrow keys until it is clear that the drawing area has input focus. Currently there is no provision for moving the whole LUT up or down. 3 Secondary LUT To the right of the main editing area is another graph showing a backup copy of the LUT. When the LUT Editor panel is launched, a backup copy of the LUT is saved. The "Copy" button will copy the current LUT being edited over the saved LUT. The "Toggle" button will switch between the currently editing LUT and the saved one. These two buttons create a sort of "undo" function as well as allowing easy comparison of two sets of LUTs via the toggle. 3 Applying Functions The "Apply" button is used to apply a mathematical function as part of the LUT. The function is applied within bounds defined by the markers along the bottom and sides of the main editing graph. The markers along the left side of the graph determine the minimum and maximum output grey level values, while the markers along the bottom of the graph determine the range of input data values within which the function is applied. The markers can be moved by clicking on them and dragging them. The values can also be entered directly with textfields. If the function name ends with "w/Tail", this means for regions outside of the minimum and maximum grey level values (i.e. horizontal markers), the tails will be set to the end point values. If the function names ends with "Piece", this means that only the LUT values between the minimum and maximum grey level values will be affected. All other parts of the LUT will remain unchanged. 3 Direct Entry The two textfields labelled "X:" and "LUT(X):" can be used to enter lookup table values directly for a particular input/output pair. These fields are also updated while the mouse is in the main editing graph. 3 Permanent Apply LUT @keyword{LUT Encoding} The panel contains a "Permanent Apply LUT->Image" button. This button allows the user to create a new image from the specified LUT. That is, the result of the image data with the applied LUT is written to the image plane. Once the "Permanent Apply LUT->Image" button is pressed, the original data of the image plane is lost. 1 Graphic Info @keyword{Graphics!Info}{Graphics!Enable}{Graphics!Colour} @keyword{Graphics!Georeferencing} The Graphic Plane Info panel contains functions for viewing and modifying descriptor, visibility, and colour information, as well as viewing the data source information. The Graphic Plane Info panel can be launched by selecting the "Graphic Info" option from the "View" pulldown menu in ImageWorks. The first section of the panel is the "Graphic Planes" list. This is the list of graphic planes in memory with their descriptors. One plane at a time may be selected from this list, to view and modify details in the "Selected Object" area of the panel. The graphic plane number or "Id" of the selected graphic plane is shown just below the "Selected Object" title bar. Below this are the "Visibility" and "Colour" selectors. The Visibility radio buttons are used to enable and disable the graphic plane. The "Colour" option menu is used to select a colour from a short list of named colours. To set graphic plane colours that are not in the list it is currently necessary to use the DCP PACE task. Following these selectors is an editable graphic plane descriptor. This descriptor is normally loaded from the source file, and may be saved to the destination file if the graphic plane is saved. Following this descriptor are the source file name, bitmap segment, and subwindow if the contents of the graphic plane were loaded directly from a file. This information will be blank if the graphic plane was loaded using IVB, or created with graphic editing. The Georeferencing section displays georeferencing information of a selected graphic plane. This section is known as a GeoEdit control. There is an option menu that can be used to display different coordinate systems. The georeferencing information of each graphic plane can be edited. See Also: GeoEdit 1 Graphic Editing @keyword{Graphics!Editing} The Graphic Editing panel contains functions for modifying graphic planes. Tracing, creating shapes, flood filling areas and annotation are available. It is also possible to set line styles, font styles, and font sizes. The Graphic Editing panel can be invoked by selecting the "Graphic" option from the "Edit" pulldown menu in ImageWorks. The top area of the Graphic Editing panel contains a list of graphic planes available in which to draw. One of these is selected at all times, and only the selected plane(s) will be affected by drawing actions. Selecting a graphic plane will enable it (make it visible) if it is not already visible. The Operation area of the Graphic Editing panel contains a button for each major operation that can be done. At any one time only one of these buttons may be depressed, indicating the current operation mode. Descriptions of each of the operation modes follows in the subtopics Shapes, Lines, Cut, Copy, Paste, Flood Fill, and Annotation. The Style Modifiers area of the Graphic Editing panel contains additional modifiers for the graphic operation. The first option indicates whether the graphic operations should result in the clearing or setting of areas of the graphic plane. Clearing can be thought of as erasing. When clear is off, you will be drawing into the graphic plane; when it is on, you will be erasing data in the graphic plane. Remember that operations performed in a graphic plane do not affect any image planes. The Default is "off". If clear is off, the graphic plane's bits will be set to 1 by graphic operations; if clear is on, the graphic plane's bits will be set to 0. The next option is the line width. All shapes and lines drawn are affected by the line width set here. This is even true of solid shapes. The last options are those dealing with the annotation font style and size. These are discussed in the Annotation subtopic. 2 Shapes @keyword{Circle}{Box} The Circle, Solid Circle, Box, and Solid Box operations are considered shape operations, and they all operate similarly. When one of the shape operations is active, it is possible to drag out a copy of the shape, seeing the outline as the drag takes place. When the drag is released, the shape is burned into the selected graphic plane. The Escape key may be used to cancel an action during a drag. Specifically, one depresses the left mouse button in the Main Image Window, drags the mouse while holding down the button, and releases when the shape has been dragged out to the desired size. 2 Lines @keyword{Trace}{Line}{Polyline}{Polygon} The Trace, Line, PolyLine, Polygon, and Trace&Close operations are all considered to be line operations, and they operate similarly. Each of the line operations creates one or more line segments which are affected by the line width option under Style Modifiers. In each case the line operations are controlled by depressing the left mouse button, dragging and releasing. The Escape key may be used to cancel an action during a drag. The Line operation creates a new disconnected line segment for each Drag sequence. The PolyLine operation creates a new line segment connected to the last for each Drag sequence. The Polygon operation acts the same as the PolyLine operation, but closes the polyline to form a polygon when you terminate polygon mode. Trace mode creates a series of short line segments as the cursor is dragged around with the left mouse button depressed. Trace & Close mode is similar to Trace mode, except that it closes the traced polygon when the left mouse button is released. 2 Cut, Copy and Paste @keyword{Cut}{Copy}{Paste} The Cut, Copy, and Paste functions allow the user to cut or copy rectangles of a graphic plane to a hidden clipboard. Later this stored rectangle may be pasted into another location in the same or a different graphic plane. The Cut and Copy functions work identically with the exception that Cutting a block of graphics will blank out the selected rectangle, while Copying does not affect the selected area. After Cut or Copy mode has been selected on the Graphic Editing Panel, a rectangle is dragged out with the left mouse button depressed and the cut/copy takes place when the mouse button is released. The Escape key may be used to cancel an action during a drag. The Paste function writes the contents of the graphic clipboard to the currently specified graphic plane. Note, however, that the pasted graphic is added without obliterating the existing graphics. The saved graphic is not destroyed any may be pasted multiple times. After selecting Paste on the Graphic Editing Panel, the paste box may be dragged around in the image window while the left mouse button is depressed. When the mouse button is released the saved graphic data is added to the target region. Note that the contents of the graphic clipboard are persistent when the selected graphic plane is changed, so a region can be Cut or Copied from one graphic plane and Pasted into another. The Clear mode buttons have no effect on the Cut, Copy, and Paste functions. 2 Flood Fill @keyword{Flood Fill} The Flood Fill operation allows for the filling of outlined areas in a graphic plane. The fill operation is triggered by a left or right mouse click in the main image window of ImageWorks. The fill operation is affected by the Clear mode buttons. The fill operation is bounded by any "eight connected" line. That is, the fill operation will not expand diagonally (therefore the fill will not pass through diagonal holes). The Trace & Close, and Polygon operations are specially designed to create areas guaranteed to contain fill operations. The flood fill mode will be terminated after a left mouse click, but will persist after a right click. 2 Annotate @keyword{Annotation!Graphics}{Graphics!Annotation}{Text}{Fonts} The Annotate operation is used to place text of a selected font, style, and size at a desired location in a graphic plane. Annotation is affected by the Clear mode Style Modifier. If the Clear mode is on, the text will be burned out of the graphic plane. The fonts offered are loaded from Metafont `gf' files located in /pci/etc, or (on X/Motif systems) from the X Server. It is theoretically possible for the user to add Metafont `gf' files to the /pci/etc/fonts.lst file if they obtain additional gf fonts from other sources. On X/Motif systems it is possible to select one additional font by its name in a user's X initialization file (i.e. .Xdefaults). The resource to be set is `annotationFont'. If the following line is placed in the X initialization (i.e. .Xdefaults) file, the named system font (in this case *screen-bold*-14-*) should appear on the list of fonts available within the Graphic Editing panel of ImageWorks: *annotationFont: *screen-bold*-14-* When the Annotate operation is active, and keyboard focus is in the main image window of ImageWorks, all keystrokes will be added to a string placed at the current cursor position. Either the backspace, or the delete key should delete the last character from the string. Dragging the image cursor with the left mouse button should result in the string being dragged as well. Dragging with the right mouse button will rotate and scale the text, pivoting around a point half way along the text string. The string is actually burned into, or out of, the graphic plane when the key is hit, or annotation mode is exited. Hitting enter will also result in the image cursor moving down by the height of a line of text. This is to allow for the convenient entering of multiple lines of text. 1 Image Info @keyword{Imagery!Info}{Imagery!Data Type}{Imagery!Colour Gun Mapping} @keyword{Imagery!Georeferencing} The Image Plane Info panel contains functions for viewing descriptor and data source information, as well as modifying the image plane descriptor, data type, and main image window gun mapping. The Image Plane Info panel can be launched by selecting the "Image Info" option from the "View" pulldown menu in ImageWorks. The first section of the panel is the "Image Planes" list. This is the list of image planes in memory with their descriptors. One plane at a time may be selected from this list, to view and modify details in the "Selected Object" area of the panel. The image plane number or "Id" of the selected image plane is shown just below the "Selected Object Info" title bar. Following this is an editable image plane descriptor. This descriptor is normally loaded from the source file, and may be saved to the destination file if the image plane is saved. Also in this area is a toggle switch to change the current image plane between storing data in 8 bit unsigned form, and 32 bit floating point. Beside the toggle switch are three push buttons representing whether the current image plane is currently mapped to the red, green, or blue colour guns in the Main Image Window. It is possible to press these buttons to change the video gun mapping. This is the primary method of viewing image planes beyond the up to sixteen image planes which appear on the Control Panel. Following this is the source file name, channel number, and subwindow if the contents of the image plane were loaded directly from a file. This information will be blank if the image plane was loaded using IVI, or created by image editing. The Georeferencing section displays georeferencing information of a selected image plane. This section is known as a GeoEdit control. There is an option menu that can be used to display different coordinate systems. The georeferencing information of each image plane can be edited. See Also: GeoEdit 1 Image Editing @keyword{Imagery!Editing} The Image Editing panel contains functions for modifying the visible image planes. Therefore, you should use the Control Panel to specify which image planes you wish to affect. Tracing, creating shapes, and annotation are available. It is also possible to set line styles, font styles, and font size. The Image Editing panel can be launched by selecting the "Image" option from the "Edit" pulldown menu in ImageWorks. The Operation area of the Image Editing panel contains a button for each major operation that can be done. At any one time only one of these buttons may be depressed, indicating the current operation mode. Descriptions of each of the operation modes follows in the subtopics Shapes, Lines, Cut, Copy, Paste, and Annotation. The Style Modifiers area of the Image Editing panel contains additional modifiers for the image operation. The first option is the colour to be written by an image drawing operation. The default is white, or a value of 255 in each of the affected planes. Any other value may be mixed using the colour mixing controls. The next option is the line width. All shapes and lines drawn are affected by the line width set here. This is even true of solid shapes. The last options are those dealing with the annotation font style and size. These are discussed in the Annotation subtopic. 2 Shapes @keyword{Box}{Circle} The Circle, Solid Circle, Box and Solid Box operations are considered shape operations, and they all operate similarly. When one of the shape operations is active, it is possible to drag out a copy of the shape, seeing the outline as the drag takes place. When the drag is released, the shape is burned into the selected image planes. The Escape key may be used to cancel an action during a drag. Specifically, one depresses the left mouse button in the Main Image Window, drags the mouse while holding down the button, and releases when the shape has been dragged out to the desired size. 2 Lines @keyword{Trace}{Line}{Polyline}{Polygon} The Trace, Line, PolyLine, Polygon, and Trace&Close operations are all considered to be line operations, and they operate similarly. Each of the line operations creates one or more line segments which are affected by the line width option under Style Modifiers. In each case the line operations are controlled by depressing the left mouse button, dragging and releasing. The Escape key may be used to cancel an action during a drag. The Line operation creates a new disconnected line segment for each Drag sequence. The PolyLine operation creates a new line segment connected to the last for each Drag sequence. The Polygon operation acts the same as the PolyLine operation, but closes the polyline to form a polygon when polygon mode is terminated. Trace mode creates a series of short line segments as the cursor is dragged around with the left mouse button depressed. Trace & Close mode is similar to Trace mode, except that it closes the traced polygon when the left mouse button is released. 2 Cut, Copy and Paste @keyword{Cut}{Copy}{Paste} The Cut, Copy and Paste functions allow the user to cut or copy rectangles of the viewed image planes to a hidden clipboard. Later this stored rectangle may be pasted into another location in the same or different image planes. The Cut and Copy functions work identically with the exception that Cutting a block of imagery will blank out (set to zero) the selected rectangle, while Copying does not affect the selected area. After selecting Cut or Copy mode on the Image Editing Panel a rectangle is dragged out with the left mouse button depressed and the cut/copy takes place when the mouse button is released. The Escape key may be used to cancel an action during a drag. The Paste function overwrites a region of imagery with the contents of the image clipboard. The saved imagery is not destroyed and may be pasted multiple times. After Paste on the Image Editing Panel has been selected, the paste box may be dragged around in the image window while the left mouse button is depressed. When the mouse button is released the saved imagery data is added to the target region. Note that the contents of the imagery clipboard are persistent when the viewed image plane(s) are changed, so a region can be Cut or Copied from one image plane and Pasted into another. The Cut and Copy functions will grab one or three image planes worth of unenhanced image data when the Cut or Copy takes place. The enhancement and/or PCT of the image window are not associated with the data in the clipboard. The Clear mode buttons have no effect on the Cut, Copy, and Paste functions. 2 Annotate @keyword{Annotation!Imagery}{Imagery!Annotation}{Text}{Fonts} The Annotate operation is used to place text of a selected font style and size at a desired location in the selected image planes. The fonts offered are loaded from Metafont `gf' files located in /pci/etc, or (on X/Motif systems) from the X Server. It is theoretically possible for the user to add Metafont `gf' files to the /pci/etc/fonts.lst file if they obtain additional gf fonts from other sources. On X/Motif systems it is possible to select one additional font by its name in a user's X initialization file (i.e. .Xdefaults). The resource to be set is `annotationFont'. If the following line is placed in the X initialization (i.e. .Xdefaults) file, the named system font (in this case *screen-bold*-14-*) should appear on the list of fonts available within the Graphic Editing panel of ImageWorks: *annotationFont: *screen-bold*-14-* When the Annotate operation is active, and keyboard focus is in the main image window of ImageWorks, all keystrokes will be added to a string placed at the current cursor position. Either the backspace or the delete key should delete the last character from the string. Dragging the image cursor with the left mouse button should result in the string being dragged as well. Dragging with the right mouse button will rotate and scale the text, pivoting around a point half way along the text string. The string is actually burned into the image plane(s) when the key is hit, or annotation mode is exited. Hitting enter will also result in the image cursor moving down by the height of a line of text. This is to allow for the convenient entering of multiple lines of text. 1 DEM Editing @keyword{DEM!Editing}{Imagery!Editing}{Elevation!Editing} The DEM (Digital Elevation Model) Editing panel contains functions for modifying DEM data. The editing functions are especially useful in cleaning up elevation models which have been automatically extracted from satellite or airphoto stereo pairs (for example, from the EASI/PACE programs SDEM and ADEM). Usually DEM data is 16-bit signed integer data which has been read into a 32-bit real channel in ImageWorks. A set of graphical editing tools is provided, enabling the user to perform the following functions: - creating editing masks - interpolating elevations to cover areas with no elevation information - filtering out 'noisy' elevation points - smoothing out irregularities to create a more pleasing elevation model - 'bulldozing' areas/lines of data to a particular elevation - setting areas (such as lakes) to constant values The DEM Editing panel can be invoked by selecting the "DEM..." option from the "Edit" pulldown menu in ImageWorks. The DEM Editing panel has five sections each of which is described below. 2 Information The section contains general information that controls the editing and display process. The "Elevation Channel" selector allows the selection of the channel on which to operate. All operations will be applied to the channel shown. To select a different channel, click on the current channel, then select the new channel from the ones presented. The default channel is the one that is being shown or the previous channel edited. The "RE-Enhance" button allows one to re-enhance the current LUT while viewing the DEM. This is best used in conjunction with zooming in, which enables the user to distinguish elevations easily. This button is especially useful if the data being edited is in a 32-bit real channel. The "Failed" and "Background" labels identify input fields that allow the user to specify the failed and background values associated with the DEM. Areas where elevation should exist, but for some reason is missing, are indicated by using the 'Failed' value. Areas outside the DEM area where no elevation data is meant to exist are indicated by the 'Background' value. Note: many of the functions in the DEM editing panel will not be accessible unless a failed and background value are entered. The "Elevation at cursor" field prints out the elevation at the current cursor position. This is supplied for user convenience. To see a window of values, the "Numeric Window ..." option from the "Edit" pulldown menu should be used. 2 Mask Operations This section contains various editing tools which allow the user to create an area of interest mask which can be used to control various fill, filtering, and interpolation functions. This mask is independent of any other graphics planes within ImageWorks and may only be edited within the DEM Editing panel. The "Show Mask" toggle button will either enable or disable the display of the graphic mask. While the graphic mask is not visible, the Mask Editing operation buttons such as Trace, Polygon, and Fill will be insensitive. Note: only the visibility of the graphic mask is controlled by the Show Mask toggle; any operations which use the graphic mask will still work correctly even though the mask itself is not visible. To select a new mask colour, click on the current colour, then select the new colour from the menu presented. The "Clear Mask" button will clear the entire graphic mask. The "Trace", "Trace&Close", "PolyLine", and "Polygon" buttons allow an area to be outlined, later to be filled. These operations are activated by selecting the button and then using the left mouse button to move the cursor over the DEM, outlining an area of interest. While these operations are active the button will appear depressed. The "PolyLine" operation creates a new line segment connected to the last, for each Drag sequence. The "Polygon" operation acts the same as the "PolyLine" operation, but closes the polyline to form a polygon when you terminate polygon mode. "Trace" mode creates a series of short line segments as the cursor is dragged around with the left mouse button depressed. "Trace&Close" mode is similar to Trace mode, except that it closes the traced polygon when the left mouse button is released. The "Fill@Cursor" button is used to flood fill an outlined area on the mask. Select this function then move the cursor to the area and click the left mouse button to initiate the fill. This function is deactivated after each left mouse button click; if the right mouse button is used the function remains active and another area can be filled. Note: ensure the areas to be filled are CLOSED polygons before filling them; otherwise, the filling will leak out and fill the entire image. The "Trace&Close", and "Polygon" operations are specifically designed to create areas guaranteed to contain fill operations. The "Fill Failed@Cursor" button is used to flood fill an area of failed values. Activate this function, then move the cursor to a part of the DEM with failed values. Click the left mouse button to initiate the fill. This function is deactivated after each left mouse button click; if the right mouse button is used the function remains active and another area can be filled. The "Fill all Failed" button is used to flood fill ALL of the areas with failed values in the entire DEM. 2 Area Fills Under Mask The buttons in this section initiate fill operations under the mask. "Fill Using Value" sets all pixels (DEM values) under the mask to the value specified by the user in the "Value" text field. For example, using the Mask Operations the user traces and fills a mask over a lake. The elevation of the lake is read off a map and entered into the "Value" text field. The "Fill Using Value" button is then used to set all the DEM values for the lake to the known lake elevation. "Fill Using Average" is similar to the "Fill Using Value" operation except that all the pixels (DEM values) under the mask are set to the average value of the elevations under the mask. The current average value is shown to the left of this button. For example, the user knows that a particular residential area is basically flat; however, the DEM has many bumps due to buildings etc... The user masks the residential area, then uses the average elevation for the area as the new elevation. This removes the bumps. "Fill Each Polygon with Polygon Average" is similar to the "Fill Using Average" function; however, each individual polygon in the mask is identified and its average is calculated independently and used to fill the polygon. If there is only one polygon in the mask, this is equivalent to the "Fill Using Average" function. 2 Bulldoze a Line This operation creates a series of short line segments as the cursor is dragged around with the left mouse button depressed. The imagery under the work mask will be changed to the value specified in the "Value" field. The "Line Width" buttons allow the user to select the width of the line (in pixels). The width only applies to the "Bulldoze" function, not the operations within the "Mask" section. The user may enter a value in the "Value" text field to be used in the "Bulldoze Using Value" operations. Any 32-bit floating point value may be entered. 2 Filtering and Interpolation This section contains three functions to clean up a DEM. All three functions may be applied to the entire DEM ("Entire DEM" button), or just the DEM under a mask ("Under Mask" button). All functions require the user to define a "Failed" value. In addition, if the current graphic mask is clear (empty), the "Under Mask" buttons will not work. The "Remove Noise" function is used to discard any artifacts which may be in the DEM. This function is made up of two separate filters. The first filter calculates the average and variance of the eight elevation values directly surrounding each pixel (excluding failed and background pixels). If the center pixel is more than two standard deviations away from the average, it is replaced with the failed value. This filter tends to remove small areas of "noisy" pixels. The second filter counts up the number of failed values directly surrounding each pixel. If there are five or more failed pixels then the center pixel is set to a failed value. This tends to 'grow' failed areas on the rational that the pixels adjacent to failed areas tend to have a high probability of being noise (errors). Note: these two filters were chosen on the basis of experience and experimentation. There is no strict mathematical or algorithmic rational for their selection. It is possible that they will remove some good values as well as bad values. The "Interpolate" function replaces failed values with elevation values, interpolated from the good elevation values from the edges of the failed area. The interpolation algorithm used was selected for its speed and simplicity rather than the quality of its results. It should be adequate for small areas (areas of 200 or less pixels) but should not be used for large failed areas. The algorithm linearly interpolates elevations between two good values using rows and columns, and then generates a single value for a pixel based on the row and column values, weighted by their distance from the failed area edges. The "Smooth" function uses a 3 by 3 Gaussian smoothing filter. Pixels having Failed or Background values will not be altered and will not be used in smoothing calculations. Smoothing can be applied multiple times, having a cumulative effect. The "Remove Noise", "Interpolate", and "Smooth" filters were designed to be used iteratively. For example: the user selects the "Remove Noise" function twice, then the "Interpolate" function once, and the "Smooth" function three times. 2 DEM Editing Hints Every DEM is special and requires some thought and creativity in performing editing; there are few fixed rules. The DEM editing panel and other ImageWorks functions can be used together to get the desired results. The following example shows how an editing function could be performed on the DEM extracted from a SPOT satellite stereo pair using the EASI/PACE SDEM program in the Satellite Ortho and DEM Package. The user opens an ImageWorks session with one 8-bit channel and one 32-bit real channel, and loads the satellite image into channel 1 and the DEM into channel 2 (the 32-bit real channel). The PCT editing panel is opened to select the "Stepped" pseudocolour table since this better shows elevation data. The DEM editing panel is opened and the user selects channel 2 as the DEM to edit. Note: the DEM editing panel fills in the Failed and Background values automatically from the channel descriptor that SDEM made. In this case the failed value is -10 and the background -20. The user notes that there are a number of urban areas which were extracted poorly; not only are there failed values, but there are a lot of bad/noisy values. The user masks these areas and sets the entire area to the failed value using the "Fill using Value" function, then interpolates these areas using the Interpolate "Under Mask" option. Then the user clears the mask. The user also notes a large area which failed to interpolate due to cloud coverage in a mountainous area. Since the area is so large and the relief so complex, interpolating this area would be impossible. So the user decides it should just be ignored. The user masks out this area and sets it to the Background value using the "Fill using Value" function. The user notes that the numerous lakes in the area are not flat, and in some cases are full of bad values and failures (typically since lakes themselves have no features for the automatic DEM extraction to match on). For now the user ignores the lake areas since this will be fixed at a later stage. At this point the user selects the "Remove Noise" function for the entire DEM and uses it twice, followed by the "Interpolate" for the the "Entire DEM" (which interpolates all the failed values so none are left) and the "Smoothing" function twice. This creates a good DEM except for lake areas. Examining the corresponding SPOT image (which was originally loaded into channel 1) the user notes that lakes in a SPOT image have very low grey levels, typically 10 or less. Using the "Modelling..." tool the user enters the following equation: if (%1 <= 10) %2 = -10 In other words, if a pixel in channel 1 has a grey level of 10 or less, make the corresponding pixel in channel 2 (the DEM) -10, or the failed value. All the lakes have now been set to failed values in the DEM, removing the original DEM values and interpolated values. The user now locates a large lake and creates a mask for the lake using the "Fill Failed@Cursor" button. Looking up the elevation for the lake, the user enters this value for the "Fill Using Value" function, which sets the entire lake to a nice flat surface at the correct elevation. The mask is then cleared using the "Clear Mask" function and the next large lake selected. Finally the user notes the dozens (hundreds) of little lakes left over, still identified by failed values. Lacking the time to locate and fill each little lake, the user opts for the following method: the "Fill all Failed" button is used to create a mask covering all the remaining lakes; the Interpolate "Using Mask" option is then used interpolate values for the failed values in the lakes by using the shore of the lake; then the "Fill Each Polygon with Polygon Average" button is used. This last step identifies each lake as a polygon and uses the average elevation for the lake as the elevation for each pixel in the lake (this makes it flat and approximately at the correct elevation). 1 Vector Info @keyword{Vectors!Info}{Vectors!Georeferencing}{Vectors!Enable} @keyword{Vectors!Colour} The Vector Layer Info panel contains functions for viewing and modifying descriptor, visibility, colour, and width information, as well as viewing the data source information. The Vector Layer Info panel can be launched by selecting the "Vector Info" option from the "View" pulldown menu in ImageWorks. The first section of the panel is the "Vector Layers" list. This is the list of vector layers in memory with its descriptor. One layer at a time may be selected from this list, to view and modify details in the "Selected Object" area of the panel. The vector layer number or "Id" of the selected vector layer is shown just below the "Selected Object" title bar. Below this are the "Visibility", "Width" and "Colour" selectors. The Visibility radio buttons are used to enable and disable the graphic plane. The "Width" option menu is used to select a width with which the vector is drawn in the image window. The "Colour" option menu is used to select a colour in which to display the vector layer. Following this is an editable vector layer descriptor. This descriptor is normally loaded from the source file, and may be saved to the destination file if the vector layer is saved. Following this descriptor is the source file name, vector segment number and subwindow if the contents of the vector layer were loaded directly from a file. This information will be blank if the graphic plane was created with the vector editing panel. The Georeferencing section displays georeferencing information on a selected vector layer in a control known as a GeoEdit. There is an option menu that can be used to select different coordinate systems. The georeferencing information can be edited and may be saved when the vector layer is saved. See Also: GeoEdit 1 Vector Editing @keyword{Vectors!Colour}{Vectors!Create}{Vectors!Editing} @keyword{Vectors!Deleting} @keyword{Measurement}{Distance}{Area} NOTE: Only available on Motif systems. The Vector Editing panel contains functions for modifying the contents of a vector layer, deleting a layer, and creating a new layer. A vector layer contains two types of structures: points and lines. A point is represented in an Image Window by crosshairs (smaller than the crosshairs used for the Image Window cursor) which intersect at the location of the point. Lines are represented by polylines; that is, a line can be made up of any number of vertices. The Vector Editing panel can be invoked by selecting the "Vector" option from the "Edit" pulldown menu in ImageWorks. The top area of the Vector Editing panel, labeled "Vector Layers", contains a list of the vector layers visible in the Main Image Window. Editing operations can only take place within one layer at a time. The current layer which is selected for editing is highlighted in the list. A new vector layer is created each time a vector segment is loaded from a file or the "New Layer" button is selected in the "Operation" section of the Vector Editing panel. The "Highlight" button indicates the colour in which the currently selected structure within the current layer is drawn. The "Colour" button indicates the colour in which all other structures in the current layer are drawn. The "Width" button indicates how wide, in pixels, structures in the current layer are drawn. The "Operation" area of the Vector Editing Panel contains three groups of buttons. The first group contains the operations that can be performed on a single structure. The second group contains operations that insert a new line or point into a layer. The third group contains operations for creating a new layer and deleting an existing layer. The "Current Structure" area of the Vector Editing panel contains four editable text fields showing the attribute of the current structure ("Attribute"), a number identifying the current vertex within the current structure ("Vertex Id"), and the position of the current vertex in georeferenced coordinates ("Position"). For point structures, the Vertex Id value is always 1; for line structures this value is in the range 1 to n where n is the total number of vertices in the line. The length of the polyline, and the area of polygon if the vector is closed are also displayed in this area. If possible these values are displayed in real world coordinates (metres); otherwise they are displayed in pixels. Selecting the "Accept" button accepts all editing operations that have been made on the current structure and allows another structure to be selected. Selecting the "Undo" button undoes the most recent single editing operation. Selecting the "Cancel" button undoes all the editing operations on the current structure since it was last selected. The "Vertices" area of the panel contains a list of the positions, in georeferenced coordinates, of all the vertices in the current structure. Selecting an item on this list makes the vertex at that position the current vertex. 2 Selecting Structures and Vertices When the Vector Editing panel is active and none of the operation buttons are depressed, the Main Image Window is in selection mode. If no structure is currently selected or the currently selected structure has not been edited, then depressing the left mouse button in the Main Image Window will select and highlight the structure nearest to the Image Window cursor and the vertex on that structure nearest to the cursor. The current structure is visible because it is drawn in the highlight colour; the current vertex is emphasized by drawing a box around it. As the mouse is moved around with the left button depressed, the current structure/vertex will be updated to reflect the new position of the cursor. The selection operation is complete when the left mouse button is released. If the current structure has been edited, then only different vertices on the current structure can be selected with the left mouse button. To select another structure, the editing operations must either be accepted or cancelled by using either the "Accept" or "Cancel" button in the Vector Editing panel. 2 Operations Move Vertex - When the left mouse button is depressed and dragged in the Main Image Window, the current structure is partially redrawn with the current vertex moved to the position of the Image Window cursor. When the button is released, the entire structure is updated. Delete Vertex - The current vertex is removed from the current structure and the structure is redrawn. For point structures the point is removed from the vector layer. Insert Vertex - When the left mouse button is depressed in the Main Image Window a vertex is inserted in the current structure between the current vertex and the adjacent vertex which is nearest to the Image Window cursor. If the current vertex is an endpoint and the cursor is nearer to the current vertex than the next adjacent vertex, then the inserted vertex will extend the line. Snap to Vertex - The current vertex is moved to the nearest vertex not on the current structure. Move Line - When the left mouse button is depressed and dragged in the Main Image Window the current structure is redrawn with the current vertex moved to the position of the Image Window cursor and all vertices moved a corresponding amount. Copy Line - The current line is duplicated. When the left mouse button is depressed and dragged in the Main Image Window the newly duplicated structure is dragged till the left button is released. Delete Line - The current structure is removed from the vector layer. Join Lines - The new current vertex becomes the closest endpoint in the current structure; this is one vertex where the join will take place. The second vertex of the join is selected by depressing the left mouse button in the Main Image Window near the desired structure. A line will be drawn connecting the current vertex in the current structure with the nearest endpoint in the structure nearest to the Image Window cursor. Dragging the cursor updates the connecting line. Releasing the mouse button merges the two selected structures into one. Snap to Line - The current vertex is moved to the nearest point not on the current structure. If the nearest point is not a vertex then a vertex is inserted at that position in that structure. Rotate Line - When the left mouse button is depressed and dragged in the Main Image Window, the current structure is rotated about the current vertex in such a way as to follow the mouse movement. Stretch Line - When the left mouse button is depressed and dragged in the Main Image Window the vertices between the current vertex and the endpoint nearest the Image Window cursor are rotated and scaled about the current vertex by amounts which position the endpoint at the same location as the Image Window cursor. For closed lines, all vertices are rotated and scaled about the current vertex by an amount which would then position the vertex on the current structure nearest to the Image Window cursor at the location of the Image Window cursor. Break Line - The current structure is modified to include only the vertices from an endpoint to the current vertex. A new line structure is created in the vector layer which includes the vertices from the current vertex to the other endpoint. Close Line - If the first and last vertices of a structure do not have the same position then a vertex is added to the structure which has the same position as the first vertex. Snap to Dark - Snaps vertices to a dark feature. This feature is designed to aid in digitizing linear features such as roads or rivers & streams. Typically this operation is used to correct for small errors when digitizing such features. The imagery around each vertex of the current structure will be analyzed, searching for pixels of lower intensity (darker). The vertex will then be moved to the darker regions. For wide regions that may span several pixels, the algorithm will attempt to move the vertex to the center of the features. Other features of lower intensity near the structure to be corrected may cause erroneous results. This operation is only applied to the current structure and may be undone. Snap to Dark works only in Black & White mode. Snap to Bright - Snaps vertices to a bright feature. This is equivalent to the Snap to Dark, but for features which have a higher intensity relative to the background. The vertex will then be moved to the lighter regions. The algorithm analyses imagery from the red gun in a local area around the vertices. Snap to Brigh works only in Black & White mode. New Line - After pressing this button, depressing and releasing the left mouse button in the Main Image Window adds a new vertex in a new line structure at the location of the Image Window cursor. To stop adding vertices to a line, select another operation in the Operation area of the Vector Editing panel or select the "Accept", "Undo", or "Cancel" button. New Point - Depressing and releasing the left mouse button in the Main Image Window inserts a new point structure in the vector layer positioned at the location of the Image Window cursor. New Layer - Activates a panel which creates a new vector layer. The panel has fields for a descriptor and georeferencing information which the user must specify in order to create a new vector layer. The base colour and width of the vector layer can also be specified by using the appropriate option menus. Selecting the "Accept" button will create a vector layer according to the specified options. The "Cancel" removes the New Layer panel and returns back to the Vector Editing panel. Delete Layer - Removes the currently selected vector layer from the application. A panel asking to confirm the operation is presented since this operation cannot be undone. If the layer has been edited but not saved, the changes will be lost. See Also: GeoEdit 2 DLG Attributes @keyword{DLG Attributes}{Attributes} The DLG Attributes panel is launched from the "DLG Attributes" button on the Vector Editing panel. The DLG Attributes panel displays a text equivalent to the DLG attribute which has the major and minor attributes encoded into one number. The actual string translations are based on the attribute data in the file $PCIHOME/etc/dlg.att. The DLG Attributes panel will not generate meaningful output for vectors that do not have DLG attribute organization. Some DLG attributes may not be recognized. 1 Multi-Histogram @keyword{Histogram!Multi-Histogram Panel}{Imagery!Histogram} The Multi-Histogram panel allows the user to visualize histograms of one or more image planes under a bitmap mask. This panel can be launched by selecting "Histograms" from the "View" pulldown menu in ImageWorks. The Multi-Histogram panel displays one or more histograms of image values. The horizontal dimension represents the grey level values from 0 on the left to 255 on the right. The tick marks along the bottom show the 64, 128, and 192 points on the histogram. The vertical dimension is a representation of the percentage of the pixels in the sample area that have the indicated grey level value. Labels on the left side of the histogram show the maximum percentage representable on the graph. If the top label is "5%", and a spike of the histogram rises to half the height of the graph, then the grey level at that spike represents about 2 1/2% of the sampled area of the image. The maximum percentage can be controlled by the slider bar beneath the "Maximum Percentage Shown" title bar. The buttons beneath the "Image Planes" title bar allow the selection of one or more image planes for which histograms will be shown. The histogram title will indicate the image plane and sampling area being displayed. The "Graphic Mask" area of the panel allows the selection of the sampling area. This can be the area under any of the graphic masks, or just the area of the image that is currently showing in the main image viewing window, or all the data in the image plane. The histograms on this panel will be updated every time the image data, bitmap masks, or image view windows change. If the "Showing" mask area is chosen, it is possible to roam around the image planes, seeing dynamically how the histograms of different image planes change from area to area. 1 Numeric Values @keyword{Digital Matrix Imagery} @index{Imagery!Numeric Values}{Numeric Values} The Numeric Values, or Digital Image Display report is a text display of the digital values in one or more image planes, centered on the current cursor position. The Digital Image Display panel can be launched by selecting the "Numeric Values" entry on the ``View'' pulldown menu of ImageWorks. The panel will be created with a digital matrix for each of the image planes visible at the time the panel is created. Multiple panels may be created, by selecting ``Numeric Values'' from the ``View'' menu multiple times. If the image plane to colour gun mappings are changed between launches of the Digital Matrix report, each of the reports will display the digital data from a different image plane. The grey level for the single pixel under the cursor is displayed on the General Control Panel. 1 Set Georeferenced Map Area @keyword{Georeferencing} The Set Georeferenced Map Area panel allows the user to either set or edit the georeferencing information of an image. This panel also permits the user to specify the area to which an image will be loaded in the ImageWorks window. The Set Georeferenced Map Area panel can be invoked by selecting the "Set Map Area" option from the "View" pulldown menu in ImageWorks. The top area of the panel contains georeferencing information. There is an option menu to select different coordinate systems, and there are fields to display (or edit) the UTM Zone, the upper left corner coordinates, and the lower right corner coordinates. This is known as a ``GeoEdit'' control. The next section of the panel contains two radio boxes for selection of the "Informational Only" or "User Controlled" mode. The "Informational Only" mode displays the georeferencing values of the image that is initially loaded into ImageWorks. The "User Controlled" mode permits the user to specify the area represented by the ImageWorks work area. Note that this is the entire work area in memory, not necessarily just what is shown in the view window. When an image is loaded with the "User Controlled" mode selected, the portion of the image, and the area of the display it is loaded to will be adjusted according to the georeferenced bounds established in this panel. - NOTE: For UTM coordinate systems, it is important to specify the UTM ZONE if the image that will be loaded contains UTM Zone information. The following example shows how the Set Georeferenced Map Area panel can be used: - Start ImageWorks. - Load the demonstration database file called "irvine.pix". - Launch the "Set Georeferenced Map Area" panel. - In the "Informational Only" mode, the panel displays the georeferencing information of "irvine.pix". NOTE: The image is in UTM coordinates and has a Zone number. - In the "User Controlled" mode, the user can choose to edit the georeferencing information of the database file. - Toggling back and forth between the "Informational Only" and "User Controlled" mode will clear any edited georeferenced values to their corresponding default values. - To set a georeferenced map area for an image that will be loaded in ImageWorks, make sure that the "User Controlled" mode is selected. If required, enter a UTM Zone value similar to that of the image that will be loaded. Then load the demonstration file called "eltoro.pix". The image from "eltoro.pix" will align within the specified georeferenced values. NOTE: Once two or more images of different coordinate systems are loaded and assigned to a specified georeferenced area, switching to the "Informational Only" mode would not display any relevant georeferencing information. The georeferencing information of each image can be viewed by selecting "Image Info" from the "View" pulldown menu. See Also: {|}Image Info, GeoEdit 1 ImageWorks Linking @keyword{Georeferencing}{Linked Windows} NOTE: Only available on Unix. The ``Link Windows...'' entry on the ``View'' pulldown menu in ImageWorks pops up a Link Control panel that allows a user to link the cursor in one ImageWorks session to that of another ImageWorks session. To employ this feature it is necessary to have two or more ImageWorks sessions running on the same machine, started by the same user as determined by the userid. Then the user selects the "Link" radio button on the Link Control panel of each of the ImageWorks sessions to enable the link. After this is done, moving the cursor in one of the linked ImageWorks sessions should cause the cursor to track in all other linked ImageWorks sessions. The locations will track according to the georeferenced location of the cursor if the georeferencing types match, otherwise they will track according to the ImageWorks pixel/line coordinates. The link option can be tried out on the demonstration files irvine.pix, eltoro.pix, and map100.pix. First launch three copies of ImageWorks, from the command line, or from VDINIT. Then load them with the demonstration file irvine.pix using the "Load Imagery" panel in the "File" pulldown menu. Then select the "Link" toggle from the "View" menu in each of the ImageWorks sessions. Thereafter, moving the cursor in any one of the ImageWorks sessions should result in the cursor tracking to the same georeferenced location in the other two ImageWorks windows. Linked cursors can be disabled by selecting the ``Unink'' radio button on the Link Control panel. 1 Cursor Control @keyword{Cursor!Colour}{Cursor!Position}{Cursor!Enable} The Cursor Control panel is used to display and update the state of the cursor in the main ImageWorks display window. In particular it is possible to change the cursor colour, enable it, disable it, and move it to a new position using the Cursor Control panel. The Cursor Control panel is launched from the "Cursor" entry on the "Tools" menu in ImageWorks. The Cursor Mode radio buttons can be used to enable and disable the cursor. This area will correctly show whether the cursor is currently enabled or disabled, even if it was changed by the DCP PACE program. The Cursor Colour option menu can be used to modify the cursor colour. If the cursor colour is changed using the PACE program DCP, or by some other means, the displayed colour on this panel may be incorrect. The four pairs of text fields display the cursor coordinates in different coordinate systems. It is possible to modify the coordinates displayed in any of these text fields in order to move the cursor. This means it is possible to move the cursor in any of the supported coordinate schemes. The first coordinate system is Display coordinates. This is measured in terms of the size of the image planes in memory in ImageWorks (as determined in VDINIT or the ImageWorks Configuration Panel) which may be larger than the window in which the imagery is being displayed. The location is displayed as a pixel / line pair. The second coordinate system is Database coordinates. This representation is based on the assumption that the currently selected file has been loaded based on the most recently selected input window in the Image or Graphic load panels. If no input window has been selected, the entire database is assumed. The result is the pixel and line that the cursor points to in the currently selected database. The third pair of text fields displays the cursor coordinates in geocoded coordinates according to the geocoding associated with the Image, Graphic, and Vector layers currently being displayed. If all the data layers being displayed do not match, no coordinates will be displayed. If the loaded data has no geocoded locations associated with it, then the geocoded location will be shown in pixels and lines, and will normally be the same as the Database coordinates. The units displayed to the right of the text fields are a clue to the geocoding type. The last coordinate system displayed is Geographic (Lat/Long). If sufficient geocoding information is available for the viewed data layers to project the cursor location into Geographic coordinates it will be displayed. Typically UTM data with a valid zone number must be provided for this transformation to take place. See Also: {..|Control}Control Panel, DCP 1 Filter @keyword{Imagery!Filtering}{Filtering} NOTE: Only available on Motif systems. The Filter panel is used to provide different filter operations on an image. A filter can be used to either sharpen, smooth or detect edges that are present in an image. The Filter panel can be launched by selecting "Filter" from the "Tools" pulldown menu on the main ImageWorks window. The Filter panel consists of three main areas containing the selection for the input and output channels, the filter size and the filter type. Launching the Filter panel will also display a Filter preview panel that provides a preview of the filtered result. The Filter Preview panel contains a "Close" button, an enhancement option, and a "Zoom" option menu. This panel displays the result of any selected filter from the Filter panel. The user can examine the filtered image in the preview window before applying the filter operation on the main ImageWorks window. The Input/Output Channel Selection area contains three option menus. The image plane that needs to be filtered is specified by selecting the first option menu. There is a "Showing" option for the input image that allows the user to apply a filtering operation on the currently visible image plane(s). This option will automatically set the output option to "Showing" to display the filtered result. The resulting filtered image is written to the output image plane specified by the output option menu. Any existing image in the output image plane will be overwritten by the filtering result. The Mask option specifies whether the filter is applied to the entire image or under a specific graphic plane. Only one graphic plane can be specified at a time. The filter size area displays the dimensions of the filter. The user can either select one of the listed square filters, or enter a specific filter size between the up and down arrow buttons. The filter dimensions must be expressed in odd numbers, in the range 1 to 33. The dimensions specify the number of pixels by the number lines. The filter size need not be square The third area of the Filter panel contains a list of filter operations that can be applied to an image. See the Subtopics area for more information about each type of filter. There is an "Apply" push button on the Filter panel that will apply the selected filter operation on the main ImageWorks window. 2 Average Filter @keyword{Filtering!Average} The Average (mean) filter smooths image data, thus eliminating noise. This filter performs spatial filtering on each individual pixel in an image using the grey level values in a square or rectangular window surrounding each pixel. For example: a1 a2 a3 a4 a5 a6 3x3 filter window a7 a8 a9 The average filter computes the sum of all pixels in the filter window and then divides the sum by the number of pixels in the filter window: Filtered pixel = (a1 + a2 + a3 + a4 ... + a9) / 9 NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Gaussian Filter (SIGMSQ = 4) @keyword{Filtering!Gaussian}{Gaussian Filter} The Gaussian Filter is used as a low pass filter to blur an image. This filter uses the following Gaussian function to compute the filter weights: G(i,j) = exp ( -((i-u)**2 + (j-v)**2) / (2 * SIGMSQ) ) where: (i,j) is a pixel within the filter window, (u,v) is the centre of the filter window and SIGMSQ is set to 4. The filter weights W(i,j) are the normalized values of G(i,j) over the entire filter window. Hence the sum of all weights is 1. The grey level of a filtered pixel is the sum of W(i,j)*V(i,j) over all pixels in the filter window, where V(i,j) is the original value at location (i,j). NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Type 1/Type 2 - Laplacian Edge Detector Filter @keyword{Filtering!Laplacian}{Laplacian Filter} The Laplacian edge detector generates sharp edge definition of an image. This filter can be used to highlight edges having both positive and negative brightness slopes. The two Laplacian filters have different weight arrangements as shown below: Example of 3x3 Laplacian filters. @verbatim Type 1 Type 2 0 1 0 -1 -1 -1 1 -4 1 -1 8 -1 0 1 0 -1 -1 -1 where sum of all the weights = 0 @end NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Sobel Edge Detector Filter @keyword{Filtering!Sobel}{Sobel Edge Detection Filter} This filter creates an image where edges (sharp changes in grey level values) are shown. Only a 3x3 filter size can be used with this filter. This filter uses two 3x3 templates to calculate the Sobel gradient value as shown below: Templates: @verbatim -1 0 1 1 2 1 -2 0 2 0 0 0 -1 0 1 -1 -2 -1 X Y Apply the templates to a 3x3 filter window. a1 a2 a3 a4 a5 a6 3x3 filter window a7 a8 a9 @end where a1 .. a9 are grey levels of each pixel in the filter window. X = -1*a1 + 1*a3 - 2*a4 + 2*a6 - 1*a7 + 1*a9 Y = 1*a1 + 2*a2 + 1*a3 - 1*a7 - 2*a8 - 1*a9 Sobel Gradient = sqrt(X*X + Y*Y) NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Prewitt Edge Detector Filter @keyword{Filtering!Prewitt}{Prewitt Edge Detection Filter} This filter creates an image where edges (sharp changes in grey level values) are shown. Only a 3x3 filter size can be used with this filter. This filter uses two 3x3 templates to calculate the Prewitt gradient value as shown below: Templates: @verbatim -1 0 1 -1 0 1 X -1 0 1 1 1 1 0 0 0 Y -1 -1 -1 Apply the templates to a 3x3 filter window. a1 a2 a3 a4 a5 a6 3x3 filter window a7 a8 a9 @end where a1 .. a9 are grey levels of each pixel in the filter window. X = -1*a1 + 1*a3 - 1*a4 + 1*a6 - 1*a7 + 1*a9 Y = 1*a1 + 1*a2 + 1*a3 - 1*a7 - 1*a8 - 1*a9 Prewitt Gradient = sqrt(X*X + Y*Y) NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Edge Sharpening Filter @keyword{Filtering!Edge Sharpening}{Edge Sharpening Filter} This filter uses a subtractive smoothing method to sharpen an image. First an average filter is applied to the image. The averaged image retains all low spatial frequency information but has its high frequency features, such as edges and lines, attenuated. Consequently, the averaged image is subtracted from its original image and the resultant difference image will have primarily the edges and lines remaining. After the edges are determined in this manner, the difference image is added back to the original image to give an edge enhanced image. The resultant image will have clearer high frequency detail; however, there is a tendency for noise to be enhanced, as might be expected. NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Median Filter @keyword{Filtering!Median}{Median Filter} The median filter smooths image data. The median filter computes the median values within a rectangular filter window surrounding each pixel. This has the effect of smoothing the image and preserving edges. Example: 5 3 11 12 4 9 3x3 filter window 8 6 14 The median filter finds the median pixel value (the "middle" value in an ordered set of values, below and above which there are an equal number of values). For example, 8 is the median value for the above given set of grey level values (3,4,5,6,(8),9,11,12,14). NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 2 Mode Filter @keyword{Filtering!Mode}{Mode Filter} The mode filter is primarily used to clean up thematic maps for presentation purposes, in that it replaces small "island" themes by their larger, surrounding themes. The mode filter computes the mode of the grey level values (the most frequently occurring grey level value) within the filter window surrounding each pixel. The minimum filter size is 1 by 3, and the maximum filter size allowed is 7 by 7. The filter window does not need to be square. Example: 5 3 3 3 5 3 3x3 filter window 3 4 5 Filtered pixel of filter window (3,3,3,3,3,4,5,5,5) is set to 3, occurs 5 times. NOTE: In order to filter pixels located near the edges of the image, edge pixel values are replicated to give sufficient data. 1 Movie @keyword{Movie Loop}{Imagery!Movie} NOTE: Only available on Motif systems. The Movie panel allows the user to display and control a set of image planes in the main ImageWorks window. Either images in black and white mode or images in RGB mode can be displayed in a synchronized way. If only one image plane is specified when invoking ImageWorks, the user will not be allowed to use the Movie panel. The Movie panel can be launched by selecting "Movie Loop" from the "Tools" pulldown menu on the main ImageWorks window. The movie panel contains different options settings at the top of the panel and a control section at the bottom. The top section of the Movie panel contains a scale to set the movie speed that can range from 0.1 to 35 frames per second. The scale has an increment of 0.1 from 0.1 to 0.9 frame per second, and then an increment of 1 for other values. The user can set the movie speed by entering a value in the input text field located at the right side of the speed scale or by dragging the scale index. At the top of the speed scale, there is a display that is updated after each frame to indicate the actual number of frame per second. This display is only updated when the user has selected "Run". The middle scale (Frame Number scale) from the Movie panel is a reference to the image plane that is being displayed. The user can specify a starting image plane by moving the scale to an appropriate position. In RGB mode, this scale will display the image plane number corresponding to the leftmost image plane as shown in the example below: image plane: 1 2 3 4 5 6 7 8 Red x Green x Blue x (Leftmost image plane 3, corresponds to Frame scale 3) where 'x' represents a selected colour gun. The Direction section allows the user to specify whether or not the movie will run in a forward or reverse direction. There is also a check box labelled "Continuous Loop" in the Direction section. The "Continuous Loop" check box, when toggled on will run the movie continuously in the direction specified, i.e., if we are working with 8 image planes in black and white mode, after the last image plane has been reached (image plane 8), the first image plane(1) will be redisplayed. The control section contains the "Run", "Stop", "Step" and "Previous" buttons. The following describes the control buttons: - "Run": The "Run" push button starts the movie at the image plane specified by the Frame Number scale. Depending on the option chosen, if the "Continuous Loop" has not been toggled on, the movie will run up to the last image plane (if possible). Successive image plane(s) will be displayed at an interval specified by the speed scale (if possible). - "Stop": The "Stop" push button halts the movie. - "Step": The "Step" is used to step one 'frame' at a time. Depending on the direction selected, either the next or previous image plane(s) will be displayed. - "Previous": The "Previous" push button is used to display the previous image plane(s). Again depending on the direction selected, the appropriate previous/next image plane(s) will be displayed. Depending on whether or not the "Continuous Loop" mode is toggled on, the control buttons will automatically be turned on/off according to the frame number specified by the frame scale. To run the movie for displaying black and white images, select the black and white mode from the ImageWorks control window, and on the Movie panel move the scale index to the desired starting position. Press "Run" to start the movie. In the RGB mode, the user must select adjacent RGB guns. That is, the RGB guns must be of a different image plane number and be one image plane apart (except for the left and rightmost ends). If the user sets the RGB guns to image plane numbers that are far apart, the movie will set the RGB guns to a default position where image plane 1, 2, and 3 will be set to the Red, Green, and Blue guns respectively. 1 PCT Encoding @keyword{PCT!Encoding}{Imagery!PCT Encoding} NOTE: Only available on Motif systems. The PCT Encoding panel permits the user to 'split' an image PCT into 3 image channels each containing the equivalent Red PCT, Green PCT and Blue PCT. The PCT encoding panel can be launched by selecting "PCT to RGB" from the "Tools" pulldown menu on the main ImageWorks window. The PCT Encoding panel contains option menus to specify an input image plane and three output image planes for the Red, Green, and Blue image. After selecting the appropriate input and output image planes, the user can press the "Apply" push button to perform the PCT encoding. The result of the encoding will automatically be displayed with the RGB guns set to the specified output image planes. 1 Flicker @keyword{Flicker}{Imagery!Flicker} NOTE: Only available on Motif systems. The Flicker panel allows the user to flip between two video states. A video state will record the following information: - Image Plane to Colour gun mapping. - Graphic plane mask. - PCT. - Video Mode (RGB/BW/PCT). - Cursor Colour. The Flicker panel can be launched by selecting "Flicker" from the "Tools" pulldown menu on the main ImageWorks window. The flicker panel contains different options settings at the top of the panel and a control section at the bottom. The top section of the flicker panel contains two radio buttons to specify and display a video state. Once the flicker panel is displayed, all valid interaction to the Control panel or to the Main ImageWorks window will be recorded. The next section of the Flicker panel contains a scale to set the video flicking speed, that can range from 0.1 to 35 frames per second. The scale has an increment of 0.1, from 0.1 to 0.9 frames per second, and then an increment of 1 for higher values. The user can set the speed between two video states by entering a value in the input text field located at the right side of the speed scale or by dragging the scale index. At the top of the speed scale, there is a display that is updated after each frame to indicate the actual number of frames per second. This display is only updated when the user has selected "Run". The control section contains the "Run", "Stop", "Step", and "Previous" buttons. - "Run": Starts to flip between two video states. - "Stop": Halts the flipping process. - "Step" or "Previous": Displays the other video state. Example: To run the video state flicker, bring up the Flicker panel. - Set up your display in the main ImageWorks window as you would like it to be for the "State 1". - Select the "State 2" radio button from the Flicker panel. From the Control Panel, set up a new display in the main ImageWorks window. The video display information is automatically recorded for State 2. - Press "Run" to start to flip between two video states. 1 Transformation @keyword{Rotate}{Scale}{Flip}{Transform}{Transformation} The transformation panel is used to perform some simple transformations on the image pixels. These include flipping along a vertical axis, flipping along a horizontal axis, rotation about a point, rotation about the centre of the image, and scaling about a point. These transformations can only be done on one image plane at a time. The input and output planes are selected with option menus. It is possible to perform the transformation "in place" by selecting the input and output planes to be the same. Note that when this is done, the original data will be overwritten with the newly transformed image. The image window cursor plays an active role in determining how the transformation occurs. When flipping along a vertical axis, the flip is done along the line x = cursor x position. When flipping along a horizontal axis, the flip is done along the line y = cursor y position. Rotations and scalings are done about the point (cursor x position, cursor y position). Rotations can also be performed about the centre of the image window. To perform a rotation about a point, select the angle by moving the slider. Exact rotation angles can also be entered directly into the textfield. Position the cursor on the point you wish to act as the origin for the rotation. Pressing the "Rotate about cursor" button will perform the transformation. To perform a rotation about the centre, select the angle by moving the slider. Exact rotation angles can also be entered directly into the textfield. Pressing the "Rotate about centre" button will perform the transformation. To perform a scaling, select the scaling factor by moving the slider. Note that this slider follows a logarithmic scale. The log scale applies to the slider only and is used to make it easier to select small and large scaling factors. Exact scaling factors can also be entered directly into the textfield. Position the cursor on the point you wish to act as the origin for the scaling. Pressing the "Scale" button will perform the transformation. To perform a flip along a vertical axis, position the cursor so that its x position lies on the vertical axis. Pressing "Y Axis Flip" will perform the transformation. To perform a flip along a horizontal axis, position the cursor so that its y position lies on the horizontal axis. Pressing "X Axis Flip" will perform the transformation. 1 Perspective @keyword{Perspective}{3D} The perspective panel is used to generate three-dimensional perspective scenes from elevation and colour data. To generate a scene, eight image planes are required: four input and four output. The four input planes are used to specify an elevation model as well as red, green, and blue colour information for each point in that model. The four output planes are used to output the generated scene into red, green, and blue channels. The last output plane is used to store a distance map. A distance map is an image that contains the distance of the viewer from each point in the perspective scene. There are three sections in the Perspective Scene Generation panel. The "Parameters" section is used to specify the viewing geometry parameters. The "Channels" section is used to specify which channels will be used as the eight input and output channels. The "Options" section is used to specify additional scene generation parameters that can be used to enhance the image. At the bottom of the panel are the action buttons. The "Generate" button is used to perform the perspective scene generation. The "Close" button pops down the panel. The "Help" button displays this help. 2 Parameters The viewing parameters essentially specify where in three-dimensional space the viewer is positioned and where he is looking. The field of view specifies how wide the viewing cone is. In this diagram, point a is the view from position, point b is the view at position and the field of view is the angle between the two diagonal lines. @verbatim ------b------ \ ^ / \ | / \ | / \ | / \ | / \|/ a @end The view from position is the position in the image that the viewer is viewing from. It is specified in pixel/line coordinates. It can only be set by using the "Set From Cursor" button. Pressing this button sets the view from position to the current position of the cursor in the image window. The view from elevation specifies how high the viewer is looking from. The units used should be the same as those used for the channel specified by the "Elevation" option menu. There are two ways to set this value. It can be entered directly into the textfield, or the "Set From Elevation" button will set the elevation. The data value used is the value at the current cursor position in the plane specified by the "Elevation" option. The view at position and view at elevation controls are similar to the view from controls except they are used to specify where the viewer is looking. HINT: The rendering algorithm renders the scene with the view at position at the bottom of the generated image. To get best results, set the view from elevation higher than the view at elevation so that the viewer is looking down. The "Field of View" textfield is used to specify how wide the view cone should be. This value is given in degrees. The following diagrams explain how varying the look at point along a line of sight can be used to change the rendering plane (RP). @verbatim |------b------| RP \ ^ / \ | / \ | / |---b---| RP \ | / \ ^ / \ | / \ | / \|/ \|/ a a @end The rendering plane represents a "window" which is used to generated the three dimensional scene. Everything in the image database that is in front of the rendering plane (i.e. on the same side as the view from position a) will not be included in the generated scene. The rendered scene will contain only the image database behind the rendering plane as projected on the rendering plane. Also keep in mind that the larger the field of view angle, the wider the rendering plane will be. 2 Channels There are option menus to specify which channels in the image database correspond to the four input and four output channels. The elevation and distance map channels must be 32-bit real. If these channels are 8-bit, a panel will pop up when generating the perspective scene, allowing the user to convert the planes to 32-bit real. The input and output colour channels must be 8-bit. All of the output planes must be unique and cannot be set to any of the input planes. This is required to ensure that writing the generated scene does not cause any existing planes to be overwritten improperly. 2 Options The height magnification is used as a stretching factor to magnify the elevation values. Essentially, all of the values in the elevation channel are multiplied by this factor when generating the perspective scene. Bilinear interpolation is an option used to specify how to interpret the data in the input colour planes. When this option is on, the colour at a particular point in the database is interpolated from the data in the surrounding pixels. This feature provides a smoothing effect. When this option is off, the colour of a particular point is the colour of the pixel in which that point falls. In the rendered image, each database pixel will look very distinct. The background colour is used for any part of the scene that did not contain the terrain. The edge colour is used for parts of the scene that represent the sides of the terrain. Keep in mind that these colours are the raw data and will not look the same in the image window if the output image planes have lookup tables. 1 Print @keyword{PostScript}{Printing}{Screen Dump} NOTE: Only available on Motif systems. The Print panel allows the user to capture the contents of the main ImageWorks window. The Print panel will create a PostScript file which can then be sent to a PostScript printer to obtain a hardcopy of the main ImageWorks window. The Print panel can be launched by selecting "Print" from the "File" pulldown menu on the main ImageWorks window. The Print panel contains an input text field to specify the name of the PostScript file that will be created. The number of copies can be specified in the Copies input text field. There is a DPI (dots per inch) text field that will allow the user to specify the quality of the output. To obtain a certain output quality, the user must select Actual Size option and specify a DPI value that can be handled by the printer from which the PostScript file will be printed. A Colour mode check box is used to allow the user to specify whether or not to create a colour output PostScript file. When the Colour check box is toggled on, colour PostScript output will be created, otherwise, the output will be in black and white. If the contents of the main ImageWorks window is in colour and the colour option is not selected, then a black and white output will be generated where the RGB values of each pixel are averaged to obtain a greyscale image. The next section contains layout options. By default, the paper X and Y dimensions are set to 8.5 by 11.0 inches respectively. The user can edit the paper size values or select different units (inches or cm) specified by the "Units" option menu. The image will always be placed at the centre of the page and the paper dimensions must be wide enough for the specified image. The orientation radio buttons allow the user to specify whether or not a Portrait (upright) or Landscape (sideways) output is required. The scaling radio buttons allow the user to specify whether the output image is to be scaled in order to have a maximum fit in the specified paper size, or the actual image size is to be used. If the Maximum Size option is selected, the image will be enlarged to fit in the specified page but will lose some image quality. Image scaling can also be achieved by changing the DPI value. The "Print To File" push button creates a PostScript file of the image displayed in the main ImageWorks window according to the specified print options. NOTE: The Print panel captures the contents of the main ImageWorks window. It is recommended that the main ImageWorks window be brought to the foreground (not overlapped by other windows); it must not go off the edge of the screen. The size of the image to be printed depends on the size of the ImageWorks window size.(Maximum size will be the size of your computer screen) To capture only a portion of an image, resize the ImageWorks window appropriately or load in a subwindow of the image. 1 Rasterization @index{Vectors!Rasterization}{Rasterization}{Imagery!Burning in Vectors} @index{Graphics!Burning in Vectors} @keyword{Rasterization Vectors Burning Polygon Line Fill} The Rasterization panel allows the user to burn or encode lines and polygons into image or graphic raster layers. Contour lines can be converted to a DEM (in combination with interpolation in the DEM Editing panel); geopolitical boundaries can be converted to raster mask layers. The topmost region of the Rasterization panel contains a list of potential source vector layers. One of these vector layers should be selected as the source by clicking on it. The selected layer will appear highlighted. Below this is the destination raster layer list. This is a list of all the image and graphic planes available to burn the result into. The image planes are all prefixed with "I" and graphic bitplanes are prefixed with "B". The selected layer will appear highlighted. At the bottom of the panel are the radio buttons used to select the rasterization algorithm. The first algorithm, Edges Only, is used to burn lines into the raster layer. When burned into an image, they are assigned image values based on the attribute of the vector. The second algorithm is used to encode polygons into the raster layer. In this case the polygon is burned into the raster layer based on the attribute of a seed point. Each point structure is assumed to be an interior point of a polygon to be flood filled. The polygon boundaries are the nearest vector lines in any direction. The bounding line(s) need to enclose the seed point, but the boundary does not need to be a single vector polyline structure. If more than one seed point appears in a polygon, it is random which value the polygon will be flooded with. The third algorithm, Polygons (Closed Lines), is based on a scanline rasterization algorithm. In this case a polygon is determined to be a single vector structure with three or more points, where the first and last vertices are at the same location. The polygon is filled with the attribute of the bounding line. Point structures and lines that do not form closed polygons are ignored. When a source vector layer, destination raster layer, and algorithm have been selected, the rasterization can be triggered by hitting the Rasterize button at the bottom of the panel. Vector attributes can be previewed in the Vector Editing panel, and values outside the range 0-255 will be clipped into this range if the output layer is an eight bit image plane. Polygons burned into bitmap layers always set the bits to on, regardless of the attribute for the polygon. The operations done by this panel are similar to the functions of the PACE programs GRDVEC and GRDPOL. See Also: {|}DEM Editing, {|}Vector Editing 1 Modelling @keyword{Imagery!Modelling}{Modelling}{EASI+} NOTE: Only available on Motif systems. The Modelling command window is used to enter modelling equations to be applied to the ImageWorks image planes. The modelling equation formats are similar, though less powerful than those found in the MODEL PACE program. This window may be launched from the "Modelling" entry in the ImageWorks "Tools" pulldown menu. The Modelling panel allows the user to type in single line equations in the field labelled "EASI+ Command:", which are evaluated after the user hits . The equations are normally evaluated for every pixel in the target image plane to which the results are assigned. The equation is then pushed into the history window above the command line. The following subtopics describe how to form simple modelling equations, how to execute saved modelling procedures, and a little about other capabilities of the ImageWorks EASI command interface. 2 Simple Image Modelling Modelling equations in their simplest form are arithmetic combinations of image planes assigned to an image plane. Image planes are indicated by a percent sign followed by the image plane number. The following equation assigns the average value of image planes one and two to image plane three. %3 = (%1 + %2)/2 The assignment is evaluated for every pixel in image plane three, using the corresponding pixel values from image planes one and two. Another trivial example simply initializes an entire image plane to a constant value. %1 = 255 The standard set of arithmetic operations are available in modelling expressions. They are listed below with a short description. @verbatim a + b Addition a - b Subtraction a * b Multiplication a / b Division a ^ b Exponentiation ( a ) Parentheses, also square brackets []. - a Unary negation @end A wide set of mathematical intrinsic functions is also available, including the sin(), cos(), tan(), asin(), acos(), atan(), ln(), log10(), exp(), exp10(), rad(), deg(), abs(), int() and frac() functions. For more detailed information, the EASI manual may be consulted. The main difference between modelling in EASI and modelling in ImageWorks is that the ImageWorks image planes are the default "database" when using modelling in ImageWorks. See Also: {EASI|expre|mod}EASI Modelling Expressions, {EASI|func|calc}EASI Calculator Functions 2 Modelling Logic In addition to simple assignment equations, it is also possible to construct simple logical operations in the Modelling command window. These operations take the form of "if" statements. For example, the following command would set the value of image plane two to 255 anywhere the image value of image plane one is between 32 and 64. if( %1 >= 32 AND %1 <= 64 ) %2 = 255 The possible comparison, and logical functions are: a > b a greater than b a < b a less than b a = b a equals b a <> b a not equal b a <= b a less than or equal b a >= b a greater than or equal b a OR b a is true or b is true a AND b a is true and b is true !a a is not true It is also possible to use brackets to ensure operations take place in the expected order. 2 Modelling Procedures It is possible to create a text file containing a series of modelling commands using your favourite text editor (e.g. vi or emacs) and then to run them all with a single command in the ImageWorks modelling panel. To do this, create the file with a file name all in capitals, and with the .EAS extension (i.e. FILTER.EAS). Then edit it using your favourite text editor, and save it. Then run ImageWorks, launch the modelling panel and type "run filter". If the file name is not all in capitals, it will not be found when the run command is entered. Reports of syntax errors will be sent to `standard error' which is usually the window from which ImageWorks was launched. If ImageWorks was launched from PCIWorks, then the output will go to the window from which PCIWorks was launched. It is usually best to try the modelling commands interactively until the desired results are achieved, and then to add the commands to the text file. The text file is known as a procedure in EASI. 2 EASI For V5.3 the EASI command window in ImageWorks is primarily intended to serve as a method of performing modelling; however, all EASI commands are available via the EASI command window. The EASI Reference Manual may be consulted for full information on the EASI command language. There are some considerations when using EASI commands in ImageWorks. - For the purpose of modelling, the default database in ImageWorks is always the ImageWorks image planes. - No PACE programs which access the display should be run, unless a different ImageWorks or Handler is being accessed. Otherwise both processes will "lock up". - Only command input comes from the ImageWorks command window. All other input and output will be directed to the command window from which ImageWorks was launched. In the future, PCI plans to allow the ImageWorks interface to be augmented with EASI functions that are launched from menu pulldowns, as well as allowing EASI functions to have access to many of the internal ImageWorks data structures. See Also: EASI 1 ERRORS 2 No Graphic Planes Available There are no graphic planes in the current ImageWorks configuration, so Graphic Editing is not possible. The Configuration Panel or VDINIT must be used to enable graphic operations at startup time. See Also: VDINIT, {..|..|Config}Configuration Panel 1 Spectral Plot @keyword{Spectral Plot Hyperspectral Spectroscopy} This panel is launched by selecting "Spectral Plot" from the "View" menu in ImageWorks. The spectral plot panel is primarily designed to graph hyperspectral image data from an image file or from a spectral library. Typically, the image data is stored in an AVIRIS (Airborne Visible/Infrared Imaging Spectrometer) data file and the libraries are stored in USGS spectral library format. This panel allows graphing of data where the channel number is the independent variable. The type of data that can be plotted with this panel is data cubes. The x and y position in the cube correspond to a plane, similar to the coordinate space of the image window. The z dimension of the cube is the channel number. The spectral plotting feature allows the graphing of the imagery data at a specific (x, y) as a function of z. In the case of hyperspectral data, the channel number represents wavelengths. There are two parts to the spectral plot: a main panel and a graph. The panel allows control over graphing options, plotting ranges and spectra selection. The spectral plot is an output only graph used to show the actual spectral plot. There are five major areas in the spectral plotting panel. The library area is used to select a spectral library. The "Displayed Spectra" section is used to choose spectra to plot, either from the library or from the imagery. The "Graph options" are used to control axis labelling and other plotting options. The "Hyperspectral Image" section is used to specify which image channels correspond to the full spectral image. The "Plotting Ranges" area is used to determine axis scaling of the spectral graph. At the bottom of the panel are four action buttons, "Close", "Clear Plots", "Save Spectrum...", and "Help". Initially no library is selected, no spectra are selected, and thus the graph is empty. 2 Spectral Graph The spectral graph is a separate panel that only contains the graph. There are no controls on the panel and the only way to pop it down is to pop down the main spectral plot panel. Note that the graph is resizable, and resizing the window also resizes the drawn graph within it. 2 Spectral Library When the "Select Spectral Library..." button is pressed, a file selector is popped up to allow selection of a spectral library file. If the file selected is not in USGS spectral library format, a warning will pop up to indicate this. After a valid library is selected, it will be scanned for spectral records. The 40 character titles of these records will be presented in the list box for selection. This list box is used in close conjunction with the displayed spectra section. See Also: {..|}Displayed Spectra, {..|}Valid Spectral Library 2 Displayed Spectra The displayed spectra section is used to show which spectra have been chosen to be plotted. There are 16 available "slots" and each has a separate colour. The slot colour corresponds to the colour used to draw that spectra in the graph. There will always be one slot that is pushed in. This is the active slot. All operations on the panel that deal with specific spectra are performed on this currently selected slot. Only one slot can be active at once and initially the first slot is selected. To plot a record from the spectral library, select that record from the spectral library list box. After doing this, the currently selected slot is automatically advanced. To plot image data, position the image window cursor on the desired pixel location and press "From Image". Data for that (x, y) location in the selected file will be plotted. Image data cannot be selected if a file has not been opened. Data is read directly from the disk file, not from the channels that imageworks has loaded. When an image pixel is the currently selected item and the cursor moves in the image window, the graph is updated as the position changes. Also, the data that is plotted is affected by the "Window Size Around Cursor" option menu in the "Graph Options" area. Any slot can be used to plot spectral library or image data. Once data is loaded into a slot, it will not change. The two exceptions are when the slot refers to an image pixel and the window size changes or the image window cursor is moved. For example, if the image pixel refers to pixel (257, 257) and a new file is loaded in, the data will still refer to the old file and will not automatically load pixel (257, 257) from the new file. Another example is that after a spectral library record is chosen, if another library is opened, the slot will still hold the data from the previous library. The slot can be cleared by pressing "Clear Item". To change the colour used for a particular slot, press "Edit Colour...". A standard colour mixer can then be used to modify the slot colour. See Also: {..|}Graph Options 2 Graph Options This option affects the manner in which the x axis is labelled as well as the title of the graph. The "X Axis Labelling" option menu allows the x axis to show either the channel number or the wavelength (in micrometres). If wavelength is chosen, the selected library wavelength record is used to translate channel numbers to wavelengths. If there is no wavelength record available, the x axis will not be annotated. When a spectral library file is opened, the first wavelength record in the library file is used to define the wavelengths for each channel in the displayed image. If there is more than one wavelength record in the library (this is rare), this option menu can be used to change the wavelength record. The average of the data values in a square window around the display cursor can be plotted. This means that for every channel, the data values in the window are averaged and this is the value that gets plotted. The window size is selected with the "Window Size Around Cursor" option menu. This option menu is only effective when the currently selected slot is an image pixel. It will not retroactively alter all slots that are image pixels to use the window size. 2 Hyperspectral Image The channel first and last textfields are used to specify which channels in the imagery correspond to the full range of the spectral library records. For example, an AVIRIS file may have 448 channels, with channels 1-224 representing one scene, and channels 225-448 representing another. To properly choose the second scene, the first and last channels would be set to 225 and 448 respectively. Suppose that the spectral library had 204 channels. Then channel 1 of the spectral library would correspond to channel 225 in the image, and channel 204 of the library would correspond to channel 448 of the image. The first channel must be equal to or greater than 1. The last channel must be equal to or less than the number of channels in the currently opened file. When a new file is opened, the first and last channels may be readjusted accordingly. 2 Plotting Ranges There are several plotting ranges to consider. The channel min and max determine which channels between the first and last channel should be plotted. This affects the horizontal scaling of the graph. The library min and max determine the scaling of library spectra. The image min and max determine the scaling of image data. Whereas the first and last channel define which channels in the imagery correspond to a full range in the spectral library, the channel min and max specify which part of the full range to graph. The channel min and max are bounded by the first and last channel values in the "Hyperspectral Image" area. In other words, the channel min (or the first channel to plot) and channel max (or the last channel to plot) must be within the range [channel first, channel last]. Library spectra usually contain normalized values. It is real data and a typical range is [0.0, 4.0]. The image data is often 16-bit signed raw data. This is why two independent vertical scalings are needed. The library spectra scale is drawn on the left side of the graph. The image scale is drawn on the right side of the graph. 2 Actions Buttons The "Close" button closes the spectral plotting panel as well as the graph. The "Clear Plots" button clears all the slots in the "Displayed Spectra" section but leaves other options unchanged. The "Save Spectrum..." button pops up a panel which enables the saving of a spectrum into a spectral library. The "Help" button displays help for the Spectral Plotting panel. See Also: {..|}Save Spectrum 2 Save Spectrum The "Save Spectrum In Library" panel is fairly straight forward. First, a library must be selected by using "Select Spectral Library...". The history and title text are used when writing the record into the library. Only the first 74 characters of history are used. Only the first 40 characters of the title are used. A new record is always appended to the end of the selected library. If the library doesn't exist, a new one is created. Pressing "Save" saves the currently selected spectrum into the spectral library. If the currently selected spectrum is empty, a warning is popped up and nothing will be saved. The "Close" button pops down the panel. The "Help" button displays this help. 2 Valid Spectral Library A USGS Spectral Library file is composed of 1536 byte records. Record 1 starts at byte 1536, not byte 0. The first 1536 bytes of the file are set to 0 and are unused. If the first 1536 bytes of a file are 0s, it is considered a valid spectral library. 1 Installation The following subtopics cover the basic information needed to install ImageWorks, whether or not you have previously installed PCI software. This information is intended for customers installing ImageWorks as a standalone product; if you are installing ImageWorks as part of your PCI software package, you should refer to your installation guide for instructions. This installation information includes the system requirements for running ImageWorks,a list of the types of files distributed, and system specific directions to install and license ImageWorks on your machine. 2 System Requirements ImageWorks will run on most colour UNIX and VMS workstations with the following minimum configuration: - UNIX or VMS operating system. - 8-bit or 24-bit color capability. - X11 windowing system - some systems (such as Intergraph and DEC systems) require the Motif GUI, and the SUN requires OpenWindows or Motif. - at least 16 Mbytes of RAM (more are recommended). - at least 15Mbytes of free disk space on a single disk. - for SCO UNIX a parallel port is required. 2 Distribution Checklist Your distribution should include the following items: - The ImageWorks manual - A computer cartridge tape (QIC, 8mm, TK-50 or 4mm DAT) or CD. The cartridge tape is in UNIX tar or VMS Backup format and contains about 10-15 MBytes of files. For SCO UNIX an interlock device and driver installation diskette are included. 2 Overview of Distributed Files On the distribution tape are three subdirectories: exe, etc, and demo. The following list describes the files which are within these subdirectories: exe/imageworks ImageWorks executable program etc/license license manager demo/irvine.pix Landsat TM 30m resolution, 512 x 512 demo/eltoro.pix SPOT Panchromatic 10m resolution, 1024 x 1024 demo/map100.pix scanned map of irvine area, 512 x 512 hlp/WORKS.HLP generic help file hlp/CLWORKS.HLP ClassWorks help file hlp/IWORKS.HLP ImageWorks help file The three .pix files in the demo directory are for demonstration purposes only and can be deleted. 2 Creating the ImageWorks Directory Before reading the tape you must have a directory into which to read ImageWorks. There are two situations listed below, follow the one which is appropriate for your system, then skip to the next section. 3 Systems with Existing PCI EASI/PACE software If you already have some PCI software (typically EASI/PACE) then you should use the same installation directory and consider ImageWorks to be an addition to it. The ImageWorks distribution is designed to dovetail into the standard EASI/PACE system. If there is an account for the PCI software then you should log into this account to install ImageWorks. Installation proceeds from the home directory of this account (i.e., don't change directories after logging in). If there is no account then just move to the pci directory. This directory is usually named something like /usr/pci or /home/pci or /pci (for VMS, PCI:[000000]). Make sure you have the proper privileges to access this directory. This may require logging on as system manager (i.e., root, superuser, or system). For example: UNIX: % cd /pci VMS: $ set default PCI:[000000] 3 Creating a New Directory/Account If this is your first piece of PCI software we suggest creating a new directory (or a new account) called pci. For example: UNIX: % mkdir pci % cd pci VMS: $ create/directory disk:[PCI] where disk: is the disk drive name on which you plan to install ImageWorks (i.e. DUA0:). You need to define the following VMS logical and symbolic name (we suggest also adding these to your LOGIN.COM file): $ define PCI disk:[PCI.]/trans=(conc,term) $ imageworks:== "$PCI:[exe]imageworks.exe" Now change to the PCI directory. $ set default PCI:[000000] In addition to this definition, any account used to run ImageWorks will require certain resources. In order for EASI/PACE to run, the system manager must ensure that the PCI account and all other user accounts have the following default privileges: GRPNAM may insert in group logical name table TMPMBX may create temporary mailbox NETMBX may create network device All EASI/PACE user accounts should also have their buffered I/O byte limit and paging file quota increased to 65536, and when using X- Windows displays, to at least 100000 to 200000 (see example below). To assign required privileges and increase quotas for the PCI account, the system manager must run the AUTHORIZE utility, as follows: $ SET DEFAULT SYS$SYSTEM $ RUN AUTHORIZE UAF> MODIFY PCI/ PRIVILEGES=(GRPNAM,TMPMBX,NETMBX,LOG_IO,PHY_IO,AL TPRI) UAF> MODIFY PCI/ DEFPRIVILEGES=(GRPNAM,TMPMBX,NETMBX,LOG_IO,PHY_IO ,ALTPRI) UAF> MODIFY PCI/BYTLM=200000/PGFLQUOTA=100000 An example of the various limits which can be given to the PCI account is shown below. In particular, please note the settings of Maxdetach, Prclm, Fillm, ASTlm, ENQlm, Bytlm, and Pgflquo. UAF>SHOW PCI Username: PCI Owner: PCI Account: R_D UIC: [35000,7] ([PCI]) CLI: DCL Tables: DCLTABLES Default: DISK$GENERAL:[PCI] LGICMD: Login Flags: Primary days: Mon Tue Wed Thu Fri Secondary days: Sat Sun No access restrictions Expiration: (none) Pwdminimum: 4 Login Fails:0 Pwdlifetime: 28 00:00 Pwdchange: 24-JUN-1991 08:33 Last Login: 28-JUN-1991 09:57 (interactive), 25-MAY_1989 14:00 (non-interactive) Maxjobs: 0 Fillm: 100 Bytlm: 200000 Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0 Maxdetach: 0 BIOlm: 18 JTquota: 0 Prclm: 20 DIOlm: 18 WSdef: 256 Prio: 4 ASTlm: 100 WSquo: 4096 Queprio: 0 TQElm: 10 WSextent: 16384 CPU: (none) Enqlm: 200 Pgflquo: 100000 Authorized Privileges: GRPNAM TMPMBX NETMBX Default Privileges: GRPNAM TMPMBX NETMBX UAF>EXIT 2 System Specific Instructions The following sections describe the specific installation procedure for each type of workstation. You need only follow the instructions in the section which pertains to the workstation on which you will be reading the tape. Ensure that you are in the pci directory before you start. Please note that the example tar commands used in the installation procedures below may not be exactly the same as those required for your system. Typically the differences are in whether the tape is the default device for tar or whether it must be explicitly referenced by its full device name. If in doubt contact your system manager. 3 IBM Risc System 6000 ImageWorks should work on any colour IBM Risc System 6000 workstation running AIX. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xv or % tar xvf /dev/rmt0 About 10-15 Mbytes of files will be extracted. A description of the files is given in Section 1.4 of this chapter. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Silicon Graphics IRIS and INDIGO ImageWorks should work on any Silicon Graphics Personal IRIS, Power IRIS or INDIGO workstation running IRIX. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xovf /dev/tape Note: SGI cartridge drives are byte swapped from most other vendors. If the above tar command does not work (i.e., results in a checksum error message) the following command may work: % tar xovf /dev/tapens About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Hewlett Packard 9000 Series 700 ImageWorks should work on any colour Hewlett Packard 9000 Series 700 workstation running HP-UX. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xov or % tar xovf /dev/rmt/0 About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Digital DECstation 5000 ImageWorks should work on any colour DECstation 5000 workstation running Ultrix. The Motif window manager MUST be used. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xv or % tar xvf /dev/rmt0m About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks and the demonstrations. 3 SUN SPARCstation ImageWorks should work on any colour SUN SPARCstation, SPARCserver or SUN/4 workstation running SunOS 4.1 or higher. ImageWorks will work with either OpenWindows 3.0 or Motif 1.1. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command (this example assumes the tape drive is named /dev/rst0; yours may be different or may not be required). % tar xvf /dev/rst0 For Solaris: % tar xvf /dev/rmt/0 About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Data General AViiON ImageWorks should work on any colour AViiON workstation running DG/UX. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xv or % tar xvf /dev/rmt/0 About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Intergraph Interpro ImageWorks should work on any colour Intergraph Interpro workstation, models 2000, 3000 or 6000 (C300 CPU based models). Version 5.0 of CLIX or later is required with X11 and Motif runtime licenses. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command (this example assumes the tape drive is named /dev/0m; yours may be different or may not be required): % tar xvf /dev/0m About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 SCO UNIX To work on a PC running SCO UNIX the following configuration is required: SCO ODT 2.0 (Open Desk Top) or later, a 486 CPU, at least 16Mbytes of RAM and an 800x600 resolution (or better) 256 colour graphics card (supported directly by SCO). Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command (this example assumes the tape drive is named /dev/rct0; yours may be different or may not be required): % tar -xvf /dev/rct0 If you received your software in floppy disk form, additional installation instructions will be included with the diskettes. About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Kubota Pacific Titan ImageWorks should work on a Titan 3000 workstation. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xv About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 Apple Macintosh running AUX ImageWorks should work on Apple Macintosh Quadra series computers running AUX. The Motif window option is also suggested, but not necessary. At least 16Mbytes of RAM is required. A 16 inch colour monitor is the minimum requirement. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xv About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 DEC AXP (Alpha) ImageWorks should work on DEC AXP (Alpha) computers running OSF/1. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the cartridge in the tape drive and extract the files using the following command: % tar xv or & tar xvf /dev/rmt0m About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running PCI License / Copy Protection System section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 3 DEC VAX/VMS ImageWorks should work on DEC VAX computers running VMS v5.x. Before starting to read the tape ensure that you have created or moved to the proper directory, as specified in the Overview of Distributed Files section. Insert the tape into the tape drive and extract the files using the following commands: $ set default pci:[000000] $ mount tape: /foreign $ backup/verify tape:pci.bac [*...] $ dismount tape: where tape: is the name of your tape drive device (i.e. MKB0:). About 10-15 Mbytes of files will be extracted. A description of the files is given in the Overview of Distributed Files section. The Running ImageWorks section explains how to ensure that ImageWorks is licensed to run and the Running ImageWorks section explains how to run ImageWorks. 2 Running PCI License / Copy Protection System This is an overview of using PCI's License Management / Copy Protection system. For further information, the user is directed to read the PCI License System User Guide. PCI uses a system of license keys which are applied to each executable program to enable operation. For network users, a license key for each licensed CPU must be applied. More than one license key can be applied to a single executable. Your distribution of ImageWorks may have been prelicensed, in which case you will have been informed in a covering letter. If you are unsure if you have been prelicensed, refer to your Installation Guide which explains how to check for this. If you have not been prelicensed the following steps will take you through the licensing process: 3 UNIX: Get your CPU Id. by running the license program and noting the CPU Id. number it presents, for example: % etc/license CPU Id. of current system is: [1762007148] : : : : : : : : Enter command: x Contact PCI's Product Support department and have your CPU Id. number and type of computer system ready. This can be done by telephone, fax, or E-mail. You will receive an alphanumeric License Key. Use the license program to apply your License Key to the Imageworks program. % etc/license XXXXXXXXXXXXXXXXX exe imageworks where XXXXXXXXXXXXXXXXX is your License Key. Write the License Key on a piece of paper and place it in a safe place in case you ever need to re-install the ImageWorks software from the distribution tape. 3 SCO UNIX: For SCO UNIX, in addition to applying your license key as with other UNIX systems, it is necessary to install the Interlock device and its driver on your system. The Interlock device itself attaches to the Parallel port on the back of your computer (between the computer and the printer cable, if a printer is attached). Installing the driver does not impact the use of the printer or system spooler in any way. To install the Interlock driver, perform the following steps: - Make a backup of your user files. It is very unlikely that anything will go wrong during the installation process, but if something does, this will allow you to recover. - The system will need to be rebooted as part of the driver installation. It is recommended that you ensure that all other users (if any) are logged off. You will need to be logged in as root to perform the remaining steps. - Do not hit the key or button, power down your system, or in any way attempt to interrupt the installation once it has begun. Doing so may corrupt your system and leave it unbootable. - Insert the appropriate installation diskette into the boot diskette drive of your system (drive A:). Attempting to use drive B: will result in the installation failing. Both a 3.5 inch and a 5.25 inch driver installation diskette have been provided to ensure that you are able to use the proper drive. - Enter the following command: # pkgadd -d {devicename} where {devicename} is one of the following: 5.25": /dev/dsk/f03dt or /dev/dsk/f0d9dt or /dev/dsk/f0t 3.5": /dev/dsk/f03dt or /dev/dsk/f0q9dt or /dev/dsk/f0t Select the "rbid" package, and always answer "y" to the following messages: Do you want this kernel to boot by default? (y/n) Do you want the kernel environment rebuilt? (y/n) - Finally, if the installation procedure does not reboot the system automatically, you will need to do so to load the newly installed Interlock drivers. To reboot manually, please enter the following command(s): # cd / # shutdown -y -g0 -i6 The Interlock driver will be installed and operational when the system comes back up. Remember to apply your license key to the PCI programs. 3 VMS: Get your CPU Identification Number by running the license program and noting the number it presents: $ run pci:[etc]license CPU Id. of current system is: [1762007148] : : : : : : : : Enter command: x Contact PCI's Product Support department, and have your CPU Identification number and type of computer system ready. Contact can be made by telephone, fax, or E-mail. You will receive an alphanumeric License Key. Use the license program to apply your License Key to the ImageWorks program: $ license :== "$pci:[etc]license.exe" $ set default pci:[000000] $ license XXXXXXXXXXXXXXXXX [.exe] imageworks.exe $ delete/symbol/global license where XXXXXXXXXXXXXXXXX is your alphanumeric License Key. Write the License Key on a piece of paper and place it in a safe place in case you ever need to re-install the ImageWorks software from the distribution tape. 2 Running ImageWorks Under normal circumstances ImageWorks is run by typing in the name of the executable and the path of the directory it is in. For example, assuming the directory /usr/pci/exe: UNIX: % /usr/pci/exe/imageworks VMS: $ run pci:[exe]imageworks.exe It is also possible to add the directory path to your command search path, to add an alias into your csh or ksh, or, in VMS, to define the symbolic name for ImageWorks. Ask your system manager to show you how to do this. If this set-up is used the following command would be sufficient: % imageworks Once ImageWorks is running, data can be loaded or viewing parameters set interactively using the graphical interface. It is also possible to start ImageWorks and automatically load data and set viewing parameters using command line options. For example: % imageworks -ip 4 -datasize 768 768 See the section on Command Line Options for more information. 1 ImageWorks EASI/PACE Interaction This chapter provides information on starting ImageWorks from EASI/PACE using VDINIT, and on the interaction between the 2 interfaces. 2 VDINIT Interaction The interaction between the ImageWorks program and the parameter file, which contains ImageWorks' size, type, and system information, is fairly complex, as is ImageWorks itself. To simplify this interaction, an EASI procedure, called VDINIT, is available. VDINIT handles all parameter file interaction and starts an ImageWorks program in background mode when a new display window is started. The VDINIT procedure is run from within EASI: EASI> run vdinit When run, VDINIT produces a menu in the terminal window, so it should be ensured that the text window is at least 80 columns by 25 lines. VDINIT gives a selection of four displays (or devices), numbered 0, 1, 2, and 3. Each display is considered a separate device, having a name and window size. Information, such as size and number of image and graphic channels on the currently selected display, is shown. A display can be selected using the options 0, 1, 2, or 3. The size and number of channels of the selected display window can be changed using the modify (M) option. The window is actually created using the start (S) option for an (optional) ImageWorks window. VDINIT can be exited using the exit (X) option. The rest of the PACE package will now automatically use this display window. ImageWorks display windows can be dragged, exited, and opened like regular windows. They can be resized up to as large as the underlying data size. Multiple ImageWorks display windows can be created and used. To do this, the user should run VDINIT, select a display (0, 1, 2, or 3) and initialize it, creating the first display window. The user should then select a second, different display and initialize it, creating a second display window. VDINIT can now be exited. PACE programs will automatically use the last selected display. To change the display which is being used, the user should run VDINIT, select the desired display, then exit VDINIT. Note: Do NOT attempt to reinitialize this selected display since this will create a new, third window, and use of the original selected window will be permanently lost to PACE programs. Unfortunately, there are some problems to watch out for when using multiple displays. Each ImageWorks display window uses up quite a bit of memory. If too many are created, if they are large, or if they have many channels, the workstation may not be able to allocate enough memory and the initialization of the new display window will fail. Even if the creation does not fail, the resulting paging of the workstation's virtual memory may mean performance will be unacceptable. 2 Parameter File Interaction This section discusses the interaction between an ImageWorks utility program and the parameter file. It is included for background information. Most users are insulated from knowing details at this level by using the VDINIT procedure. Upon start-up, the ImageWorks program extracts information from the parameter file which determines ImageWorks' size and labelling. This information is held in the parameters named vdn: and vdn# where n is a number between 0 and 3 (vd0:, vd0#,..., vd3:, vd3#). Each vdn: and vdn# pair defines characteristics about the image display window n. vdn: is a character parameter which holds a 1 to 40 character string used to label the ImageWorks window. Usually this is set as follows: vdn: = "VDn:" vdn# is a numeric parameter which holds 16 values defining the ImageWorks display window characteristics, as follows: vdn#(1) = 19 Display type (Must be 19) vdn#(2) = X Pixels per line (32 to 20480) vdn#(3) = Y Lines per image (32 to 20480) vdn#(4) = 3 Number of image planes (must be 1 to 16) vdn#(5) = 8 Number of graphic planes (must be 0 to 16) vdn#(6) = 0 Reserved for internal use vdn#(7) = 0 Reserved for internal use vdn#(8) = 0 Reserved for internal use vdn#(9) = 0/1 Suppresses popping up of configuration panel : : vdn#(14) = 0 Reserved for internal use vdn#(15) = WX Window size X (0 or less than vdn#(2)) vdn#(16) = WY Window size Y (0 or less than vdn#(3)) The parameter vd00 is used to point to the currently selected display. vd00="VD1:" When the ImageWorks program is run, it reads in the current value of the vd00 parameter. Using this name, it reads in the appropriate vdn# parameter values, which define the image display window size, and uses the contents of the vdn: parameter to label the window. The ImageWorks program then updates positions 12 and 13 of vdn# with its socket number and process id (PID) number. PACE application programs can now access the image display window by following the vd00 link to the appropriate vdn# parameter and retrieving the socket number. For example, using EASI (under X-11 Motif): EASI> vd2: = "Test 2" EASI> vd2# = 19,512,512,3,8,0,0,0,0,0,0,0,0,0,0,0 EASI> vd00 = "VD2:" EASI> run imageworks The above commands will start up a 512 pixel by 512 line ImageWorks image display, labelled "Test 2". On UNIX systems, the socket number and PID for ImageWorks can be printed as follows: EASI> print "socket=",vd2#(12)," pid=",vd2#(13) Multiple ImageWorks image display windows can be started by using the vd00 parameter to point to different vdn: pairs.