© Copyright 1994
Maui High Performance Computing Center.
Introduction to the Khoros Visualizations Tools
- What is Khoros?
-
Cantata: Visual Programming Environment
-
Editimage: Display and Modify an Image
-
Xprism2: Plot a pre-defined set of points in two dimensions
-
Xprism3: Plot a pre-defined set of points in three dimensions
-
Animate: Display a video animation
-
Warpimage: interactive image warping
-
Viewimage: imagery/elevation display package
- Setup your Environment
- Environment Variables
- Paths
- X Defaults
- Khoros is a software integration and development environment that
provides a set of interacting packages to facilitate the development
and use of visualization tools.
- Capability to execute applications on a distributed network of
computers.
- Khoros is distributed via Internet as Free Access Software.
- On-line manuals available in:
- /u/khoros/manual/vol1
- /u/khoros/manual/vol2
- /u/khoros/manual/vol3
- An estimated 20,000 people now use Khoros.
- The Khoros Consortium: A group of over 25 government and commercial
orginizations that oversee the technical direction of Khoros.
- Click here for the khoros man page.
Using Khoros Routines: Command Line Interface
- Khoros routines can be invoked as individual programs from the command
line.
- Typically, the -i flag indicates an input file and the -o
flag indicates an output file.
- The -U flag (usage) produces a short description of the program
and the required and optional arguments.
- The -P causes the program to prompt you for the arguments one
by one.
- List of routines available in /u/khoros/binibm or /u/khoros/binsgi.
- Unix man pages available in /u/khoros/man.
- Cantata is the integration of a data flow visual language with a
GUI design tool; primarily a data flow diagram editor.
- The visual programmer writes programs by connecting operators (glyphs)
to form a data flow graph (into a level 1 application).
- Nodes represent processing routines from Khoros libraries.
- Tokens represent data to be processed.
- The visual data flow graph is interpreted dynamically to schedule
operators and dispatch them to processes.
In the data-driven model, execution of a node occurs whenever all its
input data tokens are available.
- Data-dependent and Control-dependent program flow is possible with
control operators such as if/else, while, count, and trigger.
- Local on-line help is provided by clicking on the HELP button.
- Click here for the cantata man page.
Cantata Master Form Window
The master form window is the main window that pops up after invoking cantata.
Master Form Action Buttons
Action buttons are located along the left side of the master form.
- RUN: Executes the entire flow graph of glyphs.
- RESET: Resets all glyphs so the entire flow-graph will be
re-executed during the next run.
- REDRAW: Refreshes the lines and nodes of the flow graph.
- ROUTINES: Gives the user access to Khoros programs by name.
- HELP: Displays the master form documentation.
- QUIT: Exit from cantata. Upon exit you will be prompted if you
want to save the contents of the workspace. Named workspaces can be
restored by typing "cantata -restore workspace_name".
Program Subforms
The subform buttons along the top of the window contain the various Khoros
operators. Each subform contains the information for a group of related
processing programs.
Program Utilities, Input Sources, Conversions, Image Processing, Signal
Processing, Output, Arithmetic, Image Analysis.
Interaction Subforms
- Edit: various functions of the interactive visual editor.
- Workspace:
- Variables: used to define variables and evaluate expressions.
Program Subforms: Histogram
- The Histogram subform can be selected from image processing subform
along the top of the Master Form.
- Each subform consists of the guide pane in the leftmost section of the
subform, and the pane section in the rightmost section.
- The Guide Pane is the leftmost portion of a subform. It contains a
list of the specific programs abvailable in that subform. Clicking
on a guide button will fill the pane section (to the right) with
the appropriate program.
- Determine Histogram
- Histogram Equalization
- Histogram Stretch
- The Help button on the left side of the Histogram subform provides
info on the various histogram programs available. Click
here to see the help window.
- The pane section (to the right) is where most input of parameter
information takes place. When a specific program is selected from the
guide pane, the corresponding pane section appears with required and
optional parameters.
- Text Selections, Sliders, Filenames (file browser), Logicals,
Optionals
- The Help button on the right side of the Histogram subform provides
info on specific historgram programs.
- The Glyph button makes a small icon of the subform which
then can be used in a data flow graph.
Glyph Icons and Bitmaps
- The subform glyph has several icons that act as action buttons:
- The "bomb" (top-left) bitmap deletes the glyph.
- The "subform" (top-middle) bitmap brings back the subform that the
glyph represents.
- The "on/off" (top-right) bitmap executes the glyph, or if it is running
stops the glyph.
- When the glyph fails for any reason, a "unhappy face" bitmap will appear in
the center. Clicking on this icon will pop-up the error message.
- Glyphs contain input and output connections.
- Input buttons have arrows which point into the glyph.
- Output buttons have arrows which point out of the glyph.
- Dark arrows correspond to required parameters for that routine.
- Light arrows correspond to optional parameters.
- Connections between glyphs are made by clicking on the output button
of one glyph and then on the input button of another glyph.
- The resultant visual program may be run by clicking the on switch on
each glyph, or by using the RUN action button on the master
form.
Misc. Programming in Cantata
- You may create a new procedure from a cantata data flow graph by
selecting the icons in the procedure and then clicking on
Create ProcedureEdit Menu.
- You may save a set of glyphs by first selecting them abd then clicking
on Save Glyphs of the Edit Menu.
- The COMMAND glyph off the PROGRAM UTILITIES menu
can be used to execute an arbitrary Unix command.
- Flow Control statements can be found off the PROGRAM UTILITIES menu.
- Editimage is an interactive image display, examination, and
manipulation tool.
- Editimage accepts any Khoros VIFF file as input
- Click here to see what editimage looks like.
- Click here for the editimage man page.
- DISPLAY UTILITIES
- Zoom on Image: Zooming in on an entire image or on selected
regions of the image.
- Print Pixel Values: Pixel values of 5 by 5 regions may be displayed with
respect to the current color space.
- Interactive LUT: The image's look up table (LUT) may be interactively
manipulated.
- Psuedo Color: Pseudo coloring may be performed interactively.
- Windowing/Threshold: Windowing and Thresholding may be done on an image.
- CHANGE BANDS: For multiband images, the currently displayed band may
be changed.
- OVERLAY IMAGE: Bit images may be overlaid onto the displayed image.
- IMAGE UTILITIES
- Input/Output: Input and output of images, as well as input of a
colormap from another image to be used by the displayed
image
- Region of Interest: Region of Interest (ROI) operations with which a
portion on an image may be extracted or inserted; also
the ability to perform image processing routines on the
specified region of interest.
- Colormaps: Standard colormap conversions, with a choice of 11
predefined colormaps
- Annotate: Annotations that can be added to the displayed image,
including circles, rectangles, text, polygons, and
lines.
- Examples
- editimage -i $KHOROS_HOME/data/images/moon.xv
- editimage -i $KHOROS_HOME/data/images/lizard.xv
- Xprism2 is a 2D plotting package for use independently or
with other parts of Khoros.
- Click here to see what xprism2 looks like.
- Click here for the xprism2 man page.
- Subforms
- Plot: Used to create and display plots.
- Options: Used to customize a plot.
- Annotations:
- Output: Used to send a plot to a printer or save as a VIFF file.
- Answer Files:
- Action Buttons
- PLOT INFO: Used to get statistics about a plot.
- REFRESH: Used to redraw the workspace.
- CLEAR: Used to completely clear the workspace.
- HIDE: Used to hide one or more plots.
- DELETE: Used to delete one or more plots.
- RESET: Used to reset the axes to a certain plot.
- HELP: Displays documentation.
- QUIT: Exit from Xprism2.
- Examples
- xprism2 -i11 $KHOROS_HOME/data/plot_functions/example2.0
- xprism2 -i11 $KHOROS_HOME/data/plot_functions/example2.1
- xprism2 -i11 $KHOROS_HOME/data/plot_functions/example2.2
- xprism2 -i11 $KHOROS_HOME/data/plot_functions/example2.3
- Xprism3 is a 3D plotting package for use independently or with other
parts of Khoros. It features 3D, mesh, contour, surface,
color mesh, impulse and Scatter Plots.
- Click here to see what xprism3 looks like.
- Click here for the xprism3 man page.
- Subforms
- Plot: Used to create and display plots.
- Options: Used to customize a plot.
- Annotations:
- Output: Used to send a plot to a printer or save as a VIFF file.
- Answer Files:
- Action Buttons
- PLOT INFO: Used to get statistics about a plot.
- REFRESH: Used to redraw the workspace.
- CLEAR: Used to completely clear the workspace.
- HIDE: Used to hide one or more plots.
- DELETE: Used to delete one or more plots.
>LI>PERSPECTIVE: Used to change the view perspective.
- RESET: Used to reset the axes to a certain plot.
- HELP: Displays documentation.
- QUIT: Exit from Xprism2.
- Examples
- xprism3 -i11 $KHOROS_HOME/data/plot_functions/example3.0
- xprism3 -i11 $KHOROS_HOME/data/plot_functions/example3.1
- xprism3 -i11 $KHOROS_HOME/data/plot_functions/example3.2
- xprism3 -i11 $KHOROS_HOME/data/plot_functions/example3.3
- xprism3 -i11 $KHOROS_HOME/data/plot_functions/example3.4
- xprism3 -i11 $KHOROS_HOME/data/plot_functions/example3.5
- Animate is an interactive image sequence display tool.
- May input an image with several bands and sequence through those bands.
- May provide a basename that describes a set of single-band images.
- Animate can be executed from within cantata, or directly
from the command line.
- Click here to see what animate looks like.
- Click here for the animate man page.
- Animate's display functions include:
- Forward and reverse sequencing.
- Different sequencing mechanisms (looping, one time, auto reverse).
- Sequencing speed.
- Recommended images for use with animate can be found in
$KHOROS_HOME/data/sequences.
- The minimum syntax specification to run animate from the command line is:
- animate -i filename
- animate -base basename
- Examples
- animate -i $KHOROS_HOME/data/sequences/bush/bushes
- Warpimage is a new, experimental program which allows one to
create tiepoints in a source image and target image, and
warp the source image based on the tiepoint selections.
- Click here to see what warpimage looks like.
- Click here for the warpimage man page.
- Examples:
- warpimage -src img.xv -target ele.xv
- Viewimage is an interactive imagery/elevation display package.
- Viewimage combines the capability of the xprism3 plotting package and
the editimage display package.
- Click here for the viewimage man page.
- Examples:
- viewimage -i feath.eye -e flow.eye
- A Toolbox is a collection of programs that are managed independently
from the rest of the work group's software.
- Allows the work group to partition responsibilities and eliminate
dependencies.
- The kraftsman user may perform several operations on the toolbox:
- open
- close
- pack
- unpack
- delete
- move
- install
- copy
- Click here for the kraftsman man page.
- A toolbox is composed of several program objects. Each program object
consists of:
- Source code.
- User Interface Specification.
- Documentation.
- Configuration files.
- Composer provides convenient access to all the program object
components and the operations needed to be performed on each of them.
- Click here to see what composer looks like.
- Click here for the composer man page.
- Concert is a collaboration program, with which two or more
people may "share" the execution of one of the main Khoros
xvroutines: animate, cantata, editimage, putimage,
warpimage, viewimage, xprism2, or xprism3.
- When concert is used, the specified application program will appear
on all the displays that are indicated, and the same execution of
the program will be reflected on each display.
- Click here for the concert man page.
- Application Specific Toolboxes (developed by the Khoros group)
- Image Processing
- Data Visualization
- Geometry Visualization
- Format Conversion
- Data Manipulation
- Numerical Analysis
- Khoros Foundation Toolbox
There is one essential environment variable which must be set before
starting any of the Khoros applications:
- KHOROS_HOME: the root directory where khoros is stored. At
the MHPCC, type:
setenv KHOROS_HOME /u/khoros
An example setup for environment variables can be found in:
/u/khoros/dotfiles/khoros_env
In addition to the environment variables, you must modify your path to include
the khoros bin directory.
- If you are on an IBM machine at the MHPCC:
set path = ($path $KHOROS_HOME/binibm)
- If you are on an SGI machine at the MHPCC:
set path = ($path $KHOROS_HOME/binsgi)
The ".Xdefaults" files is read by X Windows-based applications during
startup to customize their appearance.
In order to make Khoros programs look pretty at your site, you will have to
modify the X defaults on your machine. The easist way to do this would be
to type (on a color workstation):
xrdb /u/khoros/dotfiles/Xdefaults.snazzy
or on a monochrome workstation:
xrdb /u/khoros/dotfiles/Xdefaults.mono
© Copyright 1994, Maui High Performance Computing Center.
All rights reserved.
Documents located on the Maui High Performance Computing Center's WWW server
are copyrighted by the MHPCC. Educational institutions are encouraged to
reproduce and distribute these materials for educational use as long as
credit and notification are provided. Please retain this copyright notice
and include this statement with any copies that you make. Also, the MHPCC
requests that you send notification of their use to help@mail.mhpcc.edu.
Commercial use of these materials is prohibited without prior written
permission.
Last revised: 1/3/95 Blaise Barney