IRIS Explorer User's Guide (Windows NT/2000)

Table of Contents

Introduction
The IRIS Explorer System
How to Use This Guide
Contents of This Guide
1 Getting Started
1.1 Overview
1.2 Starting up IRIS Explorer
1.2.1 Opening Maps from the Module Librarian
1.2.2 Opening Maps Using the Command Line
1.2.3 Quitting IRIS Explorer
1.2.4 Opening Modules
1.3 Image Processing
1.3.1 Opening the Image Map
1.3.2 Experimenting with the Image Map
1.4 Numerical Mathematics
1.4.1 Opening the Heat-flux Map
1.4.2 Experimenting with the Heat-flux Map
1.5 Molecular Chemistry
1.5.1 Opening the Chemistry Map
1.5.2 Experimenting with the Chemistry Map
1.6 Atmospheric Physics
1.6.1 Opening the Volume Map
1.6.2 Experimenting with the Volume Map
1.7 Computational Fluid Dynamics
1.7.1 Opening the Cfd Map
1.7.2 Experimenting with the Cfd Map
2 Working with the Map Editor
2.1 Overview
2.2 The Map Editor
2.2.1 Opening the Map Editor
2.2.2 Quitting the Map Editor
2.2.3 Editing Maps and Modules
2.3 The Module Librarian
2.3.1 Finding a Module or Map in the Librarian
2.3.2 Launching a Module
2.3.2.1 Placing the Module or Map In the Map Editor
2.3.3 Launching a Map
2.3.4 Saving Maps and Modules
2.3.5 Removing Maps and Modules
2.4 Modules
2.4.1 What Modules Do
2.4.1.1 General Module Functions
2.4.1.2 Specific Module Functions
2.4.2 How Modules Work
2.4.2.1 Selecting a Module
2.4.2.2 Resizing the Control Panel
2.4.2.3 Using the Pop-up Menu
2.4.2.4 Getting Help
2.4.2.5 Replacing Modules
2.5 Wiring Module Ports Together
2.5.1 Making a Compatible Connection
2.5.2 Wiring Modules Together
2.5.3 Connecting Several Modules
2.5.4 Disconnecting and Reconnecting Modules
2.5.5 Changing the Appearance of the Wires
2.5.5.1 Wire Colors and Connections
2.5.5.2 Wire Routing
2.6 Firing Modules
2.6.1 Forcing a Firing
2.6.2 Using the Synchronization Ports
2.6.3 Temporarily Disabling a Module
2.7 Logging Module Output
2.7.1 Logging Map Data
2.7.2 Logging Module Data
2.7.3 Reviewing Log Messages
2.8 Understanding IRIS Explorer Data Types
2.8.1 Defining the Data Types
2.8.2 Using the Data Types
2.8.3 Looking at Module Data Types
2.8.3.1 Mixed Data Types
2.8.3.2 Image Processing Modules
2.9 Setting Module Parameters
2.9.1 Buttons
2.9.2 Sliders
2.9.3 Dials
2.9.4 Text Type-in Slots
2.9.5 File Browsers
2.9.6 Option Menus and Scrolled Lists
2.9.7 Drawing Areas
2.10 Organizing the Module Librarian
2.10.1 Storing Modules on the Shelf
2.11 Common Problems
2.11.1 You Need a Larger Memory Arena than Your System Can Give You
2.11.2 No Object Is Displayed in the Render Window
2.11.3 No Change in Object with Change in Parameters
2.11.4 Viewing Lattice Data in the Render Module
2.11.5 The Module Librarian Does Not Display a Saved Map
2.11.6 A Saved Map is Empty When Reopened
2.11.7 When You Try to Destroy a Module, Nothing Happens
2.11.8 You Get a Shared Library Error When You Launch a Remote Module
2.11.9 You Cannot Connect Two Modules, or a Module Produces Unexpected Data
3 Using Modules
3.1 Overview
3.2 Creating Colormaps
3.2.1 Resetting the Color Bands
3.2.1.1 Selecting an Output Mode
3.2.1.2 Setting the Domain Limits
3.2.1.3 Selecting a Color Band
3.2.1.4 Adding and Removing Control Points
3.2.1.5 Using Slope Control Points
3.2.2 Using Custom Colormaps
3.2.2.1 Creating a Custom Colormap
3.2.2.2 Saving a Colormap
3.3 Generating a Lattice
3.3.1 Setting Lattice Parameters
3.3.1.1 Controlling Lattice Size
3.3.1.2 Lattice Coordinates
3.3.1.3 Data Values
3.3.2 Displaying a Lattice
3.4 Slicing Volumetric Data
3.4.1 Using OrthoSlice
3.4.2 Using Slice
3.4.3 Using ProbeLat
3.5 Displaying Images
3.6 Visualizing Data
3.6.1 Ports on Render
3.6.2 Modes of Operation
3.6.3 Selecting an Object
3.6.4 Moving an Object
3.6.5 Using the Pop-up Menu
3.6.6 Using Graphical Shortcuts
3.6.7 Wireframe Rendering
3.6.8 Editing Object Properties
3.6.8.1 Using the Material Editor
3.6.8.2 Using the Color Editor
3.6.9 Displaying Transparent Objects
3.6.10 Changing the Lighting
3.6.10.1 Editing a Light
3.6.11 Manipulating Objects
3.7 Constructing Loops
3.7.1 Defining a Loop
3.7.2 Loop Controllers
3.7.3 How Loops Work
3.7.4 Wiring a Loop
3.7.4.1 Control Arcs
3.7.4.2 Saving Loops
3.7.5 Halting a Loop Iteration
4 Editing Control Panels and Functions
4.1 Overview
4.2 Using the Control Panel Editor
4.2.1 Choosing Parameter Widgets
4.2.1.1 Parameter Types
4.2.1.2 Widget Types
4.2.1.3 Hiding Widgets
4.2.1.4 Widget Decorations
4.2.1.5 Editing a Scrolled List
4.2.2 Showing Parameters in the Port List
4.2.3 Moving and Resizing Widgets
4.2.3.1 Setting Widget Resizability
4.2.4 Setting Widget Properties
4.2.5 Setting Widget Values and Limits
4.3 Creating Menu Items
4.3.1 Setting up the Menu Bar
4.3.2 Setting up Menu Items
4.4 Menus in Group Control Panels
4.5 Using the Parameter Function Editor
4.5.1 Running the Parameter Function Editor
4.5.2 Defining a Parameter Expression
4.5.2.1 Typecasting Parameters
4.5.2.2 Using Strings
4.5.2.3 Combining Functions
4.5.2.4 Linking Independent Parameters
4.5.3 Creating a Parameter Function
4.5.4 Summarizing the Process
4.5.4.1 Saving the Parameter Functions
5 Creating Groups and Applications
5.1 Overview
5.2 Module Groups
5.2.1 Types of Groups
5.2.2 Selecting Modules
5.2.3 Creating a Group
5.3 Editing a Group
5.3.1 The Group Control Panel
5.3.2 Promoting Ports
5.3.3 Required Input Ports
5.3.4 Renaming Ports
5.3.5 Selecting Parameters
5.3.6 Grouping Optional Ports
5.3.7 Grouping Modules in a Loop
5.4 Creating a Group Control Panel
5.4.1 The Default Control Panel
5.4.2 Designing the Control Panel
5.4.3 Opening a Group
5.4.3.1 Modifying Connections
5.4.3.2 Redefining a Group
5.5 Compiling a Group
5.5.1 Uncompiling the Compiled Group
5.6 Defining an Application
5.6.1 Creating an Application
5.6.1.1 Setting Parameters in an Application
5.6.2 Saving the Application
5.6.3 Running an Application
5.6.4 Quitting an Application
5.6.5 Application Busy Indicators
5.6.5.1 Debugging an Application
5.6.6 Packaging and Distributing an Application
6 Scripting
6.1 Overview
6.1.1 Running IRIS Explorer by Script
6.1.2 Creating Simple Scripts
6.1.2.1 Defining Command Variables
6.1.2.2 Saving a Script
6.1.3 Advanced Uses
6.2 Using the Skm Commands
6.2.1 Command Syntax
6.2.2 Interactive Help
6.3 Creating More Complex Scripts
6.3.1 Specifying Symbols
6.3.1.1 Setting Off Comments
6.3.1.2 Using the Define Command
6.3.2 Testing Variable Types
6.3.2.1 Creating a Procedure
6.3.2.2 Using a Procedure
6.4 Output from Skm
6.5 The Skm Editor Window
6.5.1 The Skm Output Viewer
6.5.2 The Skm Cursor
6.5.3 The Skm Command Input
7 Getting Data Into IRIS Explorer
7.1 Using QuickLat
A Configuring Your IRIS Explorer Environment
A.1 The Configuration Menu
A.1.1 Configuration Menu Options
A.1.1.1 General
A.1.1.2 Librarian
A.1.1.3 Wire Settings
A.1.1.4 License
A.1.1.5 Remote Hosts
A.1.1.6 Advanced
A.1.2 Importing and Exporting Configuration Files
A.2 IRIS Explorer Environment Variables
A.3 Remote Execution of Modules
A.3.1 Making a Connection to a Remote Machine via IRIS Explorer
A.3.2 The rsh, rshd and cxRshd Utilities
A.3.3 Starting the IRIS Explorer Remote Shell Daemon cxRshd
A.3.3.1 Starting cxRshd in Verbose Mode
A.3.4 Networking Issues
A.3.5 Troubleshooting
B The Skm Language
B.1 Skm Syntax
B.1.1 The Skm Data Types
B.1.1.1 The Comment Character
B.1.2 IRIS Explorer Operators
B.1.3 Command Syntax
B.1.4 IRIS Explorer-related Command Descriptions
B.1.4.1 start
B.1.4.2 destroy
B.1.4.3 start-map
B.1.4.4 connect
B.1.4.5 Testing Variable Types
B.2 Skm Language Features
B.2.1 Comparison Operators
B.2.1.1 eq?
B.2.1.2 eqv?
B.2.2 Conditional Operators
B.2.3 String Operators
B.2.3.1 string?
B.2.3.2 string-length
B.2.3.3 string-ref
B.2.3.4 string-set!
B.2.3.5 string=?
B.2.3.6 substring
B.2.3.7 string-append
B.2.4 Loading Script Files
B.3 Procedures in Skm
B.3.1 Using a Skm Procedure
B.3.2 Skm Output
B.3.3 Looping
B.3.4 Lexical Scoping of Variables
B.3.4.1 The let Construct
B.3.5 List Processing
B.4 Module Interface to Scripting
B.4.1 Global Namespace
B.4.2 A Complex Example
B.4.3 Known Bugs
B.4.4 References
B.4.5 Copyright Notice

List of Figures

Figure 1-1 Module Control Panel
Figure 1-2 Processing an Image
Figure 1-3 DisplaceLat Control Panel
Figure 1-4 Contour Control Panel
Figure 1-5 The Contour Map in Render
Figure 1-6 Map Displaying Heat Flux Data
Figure 1-7 Visualization of the Flux Peaks
Figure 1-8 Visualizing a Buckminsterfullerene Molecule
Figure 1-9 BallStick Control Panel
Figure 1-10 AtomicSurf Control Panel
Figure 1-11 Buckminsterfullerene in Render
Figure 1-12 Simulating an Evolving Storm
Figure 1-13 IsosurfaceLat Control Panel
Figure 1-14 Storm Data in Render
Figure 1-15 OrthoSlice Control Panel
Figure 1-16 ProbeLat Control Panel
Figure 1-17 Different Levels of Air Density
Figure 1-18 The Rendered Flow Field
Figure 2-1 The Map Editor
Figure 2-2 The Module Librarian
Figure 2-3 Module Launch Menu
Figure 2-4 A Simple Map Example
Figure 2-5 General Structure of a Module
Figure 2-6 Micro Control Panel/Title Bar
Figure 2-7 Full-scale Control Panel
Figure 2-8 Module Pop-up Menu
Figure 2-9 Module Input Ports
Figure 2-10 Module Output Ports
Figure 2-11 Making Connections between Modules
Figure 2-12 Making Multiple Connections
Figure 2-13 Wires Colored According to Datatype, With Multiple Connections
Figure 2-14 Using a Single Wire Color, With Single Connections
Figure 2-15 Example of Map Connections
Figure 2-16 Controlling Module Firing with Fire Ports
Figure 2-17 The Map Log Window
Figure 2-18 Module Log Window
Figure 2-19 Log Window Pop-up Menu
Figure 2-20 Button Widgets
Figure 2-21 Slider Widgets
Figure 2-22 Dial Widgets
Figure 2-23 Text Type-in Slots
Figure 2-24 A File Browser
Figure 2-25 Option Menu Widgets
Figure 2-26 Scrolled List Widget
Figure 2-27 A Drawing Area Widget
Figure 2-28 Experimenting with Widgets
Figure 2-29 Module Category
Figure 3-1 The GenerateColormap Module
Figure 3-2 Adding Control Points to a Color Band
Figure 3-3 Slope Control Points
Figure 3-4 A Map using GenerateColormap
Figure 3-5 The GenLat Module
Figure 3-6 The OrthoSlice Module
Figure 3-7 Slicing a Volume with OrthoSlice
Figure 3-8 The Slice Module
Figure 3-9 Slice Extended Beyond Lattice Bounds
Figure 3-10 Slicing a Volume with Slice
Figure 3-11 The ProbeLat Module
Figure 3-12 Probe Forms
Figure 3-13 Slicing a Volume with ProbeLat
Figure 3-14 An Image in the DisplayImg Module
Figure 3-15 Example Showing Two Images in DisplayImg
Figure 3-16 The Render Module
Figure 3-17 A Selected Object
Figure 3-18 Render Pop-up Menu
Figure 3-19 The Render Decorations
Figure 3-20 Wireframe Object in Render
Figure 3-21 The Material Editor
Figure 3-22 The Color Editor
Figure 3-23 Light Editor
Figure 3-24 The Trackball Manipulator
Figure 3-25 A Loop in a Map
Figure 3-26 Loop Controller Modules
Figure 3-27 Build Options for Loop Controller
Figure 3-28 Loop Wiring in AnimateIso Map
Figure 3-29 Looping Control Arc
Figure 3-30 Ambiguous Looping Scheme
Figure 3-31 Module Menu on Active Loop Controller
Figure 4-1 The Control Panel Editor
Figure 4-2 Selecting a Widget in the Control Panel Editor
Figure 4-3 A Selection of Widgets
Figure 4-4 The Decorations Menu
Figure 4-5 Scrolled List Properties
Figure 4-6 Widget Handlebox
Figure 4-7 The Menu Bar Editor
Figure 4-8 The Menu Editor
Figure 4-9 The Parameter Function Editor
Figure 4-10 Module Pop-up Menu
Figure 4-11 Connections for a Parameter Function
Figure 4-12 Parameter Functions for a Module
Figure 4-13 Simple Example with a Parameter Function
Figure 4-14 Messages in the P-Func Editor
Figure 4-15 A Parameter Function Using Two Variables
Figure 5-1 An Image Processing Map
Figure 5-2 The Closed Group
Figure 5-3 The Open Group
Figure 5-4 The Group Editor
Figure 5-5 Renaming a Port
Figure 5-6 The Group Control Panel
Figure 5-7 The New Group Control Panel
Figure 5-8 Specifying the Location of the Compiled Group
Figure 5-9 The Compiling Process Dialog Box
Figure 5-10 The Replace Group Module Pop-up Dialog
Figure 5-11 The New Compiled Group Module
Figure 6-1 The Skm Editor Window

ISBN 1-85206-188-X

NP3518