IRIS Explorer User's Guide (UNIX)

Table of Contents

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 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 General Module Functions Specific Module Functions
2.4.2 How Modules Work Selecting a Module Resizing the Control Panel Using the Pop-up Menu Using Drag-and-Drop Operations Getting Help 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 Wire Colors and Connections 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 Mixed Data Types 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 Creating New Categories
2.10.2 Moving Modules Around
2.10.3 Storing Modules on the Shelf
2.10.4 Removing Modules from the Librarian
2.10.5 Saving the Librarian Configuration
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 Cannot Launch a Module Librarian Remotely
2.11.9 You Get a Shared Library Error When You Launch a Remote Module
2.11.10 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 Selecting an Output Mode Setting the Domain Limits Selecting a Color Band Adding and Removing Control Points Using Slope Control Points
3.2.2 Using Custom Colormaps Creating a Custom Colormap Saving a Colormap
3.3 Generating a Lattice
3.3.1 Setting Lattice Parameters Controlling Lattice Size Lattice Coordinates 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 Generating a Histogram
3.5.1 Displaying Histograms
3.5.2 Sorting the Data
3.5.3 Selecting Channels
3.6 Displaying Images
3.7 Visualizing Data
3.7.1 Ports on Render
3.7.2 Modes of Operation
3.7.3 Selecting an Object
3.7.4 Moving an Object
3.7.5 Using the Pop-up Menu
3.7.6 Using Graphical Shortcuts
3.7.7 Wireframe Rendering
3.7.8 Editing Object Properties Using the Material Editor Using the Color Editor Using the Transform Sliders
3.7.9 Displaying Transparent Objects
3.7.10 Changing the Lighting Editing a Light
3.7.11 Manipulating Objects
3.8 Constructing Loops
3.8.1 Defining a Loop
3.8.2 Loop Controllers
3.8.3 How Loops Work
3.8.4 Wiring a Loop Control Arcs Saving Loops
3.8.5 Halting a Loop Iteration
3.9 The IL Controller Module
4 Editing Control Panels and Functions
4.1 Overview
4.2 Using the Control Panel Editor
4.2.1 Choosing Parameter Widgets Parameter Types Widget Types Hiding Widgets Widget Decorations Editing a Scrolled List
4.2.2 Showing Parameters in the Port List
4.2.3 Moving and Resizing Widgets 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 Typecasting Parameters Using Strings Combining Functions Linking Independent Parameters
4.5.3 Creating a Parameter Function
4.5.4 Summarizing the Process 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 Modifying Connections 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 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 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 Defining Command Variables 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 Setting Off Comments Using the Define Command
6.3.2 Testing Variable Types Creating a Procedure 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 Command History Window
6.5.3 The Skm Cursor
6.5.4 The Skm Command Input
7 Getting Data Into IRIS Explorer
7.1 Using the DataScribe
7.1.1 Overview
7.1.2 The DataScribe Opening the DataScribe Quitting the DataScribe Scope of the DataScribe
7.1.3 Creating Scripts and Templates Setting Up Templates Opening a New Template Using the Overview Pane
7.1.4 The Data Type Palette Glyphs The Shape Icon The Node Type Icon Component Menu Button Building a Script Wiring Input and Output Templates Running IRIS Explorer
7.1.5 Designing Templates for Your Data
7.1.6 Reading in Data Checking EOF Reading in Lattices Reading in Binary Files
7.1.7 Data Structures Scalars Scalar Glyphs Arrays Array Glyphs Hierarchy in Arrays Using Array Indices in Expressions Lattices Lattice Glyphs Lattice Components Lattice Types Sets Saving a Set Using Nested Sets
7.1.8 Using a Pattern Glyph Using the Glyph Property Sheet
7.1.9 Defining Parameters and Constants Making a Parameters Template Making a Constants Template
7.1.10 Connecting Templates Ordering Variables in a Script Connecting Data Items Between Templates
7.1.11 Selecting Array Components
7.1.12 Converting Formatted ASCII Files Using the Property Sheet Ruler More Complex Expressions
7.1.13 Saving Scripts and Modules Modules with Control Panels Checking for Errors Creating a Diagnostic Template
7.1.14 Using a DataScribe Module with the Map Editor
7.1.15 Finding and Correcting Errors Tracking Down Errors Interpreting Parsing Messages
7.2 Using QuickLat
A Configuring Your IRIS Explorer Environment
A.1 The .explorerrc Configuration File
A.1.1 Configuration Commands
A.1.1.1 modulepath
A.1.1.2 set
A.1.1.3 category
A.1.1.4 host
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 and rshd Utilities
A.3.3 The cxrexec Utility
A.3.4 What to Do if IRIS Explorer Is Not Installed in /usr/explorer
A.3.4.1 Using the Switch Statement in a Shared .cshrc
A.4 Running the X Server
A.4.1 Selecting a Visual
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 Diminutif Control Panel
Figure 2-8 Full-scale Control Panel
Figure 2-9 Module Pop-up Menu
Figure 2-10 Module Input Ports
Figure 2-11 Module Output Ports
Figure 2-12 Making Connections between Modules
Figure 2-13 Making Multiple Connections
Figure 2-14 Wires Colored According to Datatype, With Multiple Connections
Figure 2-15 Using a Single Wire Color, With Single Connections
Figure 2-16 Example of Map Connections
Figure 2-17 Controlling Module Firing with Fire Ports
Figure 2-18 The Map Log Window
Figure 2-19 Module Log Window
Figure 2-20 Log Window Pop-up Menu
Figure 2-21 Button Widgets
Figure 2-22 Slider Widgets
Figure 2-23 Dial Widgets
Figure 2-24 Text Type-in Slots
Figure 2-25 A File Browser
Figure 2-26 Option Menu Widgets
Figure 2-27 Scrolled List Widget
Figure 2-28 A Drawing Area Widget
Figure 2-29 Experimenting with Widgets
Figure 2-30 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 The Histogram Module
Figure 3-15 An Image in the DisplayImg Module
Figure 3-16 Example Showing Two Images in DisplayImg
Figure 3-17 The Render Module
Figure 3-18 A Selected Object
Figure 3-19 Render Pop-up Menu
Figure 3-20 The Render Decorations
Figure 3-21 Wireframe Object in Render
Figure 3-22 The Material Editor
Figure 3-23 The Color Editor
Figure 3-24 The Transform Sliders
Figure 3-25 Light Editor
Figure 3-26 The Trackball Manipulator
Figure 3-27 A Loop in a Map
Figure 3-28 Loop Controller Modules
Figure 3-29 Build Options for Loop Controller
Figure 3-30 Loop Wiring in AnimateIso Map
Figure 3-31 Looping Control Arc
Figure 3-32 Ambiguous Looping Scheme
Figure 3-33 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
Figure 7-1 Templates and Scripts
Figure 7-2 Template Icons
Figure 7-3 New Template Dialog Box
Figure 7-4 Input and Overview Templates
Figure 7-5 DataScribe Data Type Palette
Figure 7-6 Glyph Forms
Figure 7-7 The Shape and Node Type Icons
Figure 7-8 A New Array Structure
Figure 7-9 A Hierarchical Array
Figure 7-10 An Open Vector Glyph
Figure 7-11 A Simple DataScribe Script
Figure 7-12 Overview Output Port
Figure 7-13 The DataScribe Module in the Map Editor
Figure 7-14 A Scalar Glyph
Figure 7-15 An Array Glyph
Figure 7-16 A Complex 3D Array
Figure 7-17 A 3D Uniform Lattice
Figure 7-18 A 3D Perimeter Lattice
Figure 7-19 A 3D Curvilinear Lattice
Figure 7-20 A 3D Generic Lattice
Figure 7-21 A Set for a Bounding Box
Figure 7-22 Nested Sets
Figure 7-23 A Pattern Glyph
Figure 7-24 File Structure for Pattern Template
Figure 7-25 An Input Template Using Patterns
Figure 7-26 The Glyph Property Sheet
Figure 7-27 Parameters Template Title Bar
Figure 7-28 Constants Template Title Bar
Figure 7-29 Making the First Connection
Figure 7-30 A Script Using Patterns
Figure 7-31 Array Component Dialog Window
Figure 7-32 Selecting the X Value of a 2D Array
Figure 7-33 Component Dialog Window for X Values
Figure 7-34 Component Dialog Window for Data Values
Figure 7-35 New Menus for Input Template
Figure 7-36 Output Lattice Coordinate Vector
Figure 7-37 Output Coordinate Values (xCoord)
Figure 7-38 Output Coordinate Values (allX)
Figure 7-39 The Output Template Ruler
Figure 7-40 Reading a Formatted ASCII File
Figure 7-41 Ruler for Reading an ASCII File
Figure 7-42 Writing a Formatted ASCII File
Figure 7-43 An Output Array Ruler
Figure 7-44 A Curvilinear 3D Lattice Reader
Figure 7-45 The PLOT3D Script

ISBN 1-85206-190-1