Title: Dr' Mitchell Roth chair
1RGPSview A tool for RGPS Visualization
Richard S. Guse
- Dr. Mitchell Roth (chair)
- Dr. Kara Nance
- Dr. Chris Hartman
2Process Review
- Arctic ice data gathered by satellites
- Corrections applied by ASF
- Data sent to RGPS
- RGPS processes data into products
- RGPSview viewer for displaying RGPS products
3RGPS Products
Products are produced from ice data taken over
time.
Lagrangian Ice Motion Ice Age Histogram Interpolat
ed Ice Age Histogram (3-day) Area/Open Water
Fraction Ice Thickness Histogram Backscatter
Histogram, Eulerian Ice Motion Melt Onset/Freeze
Up, Ice Deformation Wind/Temp/Pressure Fields
(50km grid)
4RGPSview Requirements Overview
- Non-Proprietary
- X-Window style look feel
- C/Motif
- Sun Microsystems SGI
- RGPSview must visualize all RGPS products
5Modules
- RGPSview shall support the addition of new data
modules without requiring changes in design
- Similar to Netscape plug-ins, add functionality
to the main application - Modules pre-process data for the application
- Need Transport Protocol between Module
Application Sockets or Pipes
6Socket
- If a packet hits a pocket on a socket on a port,
and the bus is interrupted as a very last resort,
and the address of the memory makes your floppy
disk abort, then the socket packet pocket has an
error to report. -Dr. Seuss?
- Connects sends packets between two processes.
(telnet, ftp, etc) - Disadvantages
- Slow
- Ports are explicitly specified
- Limited portability
7Pipe
- Direct inter-process communication
- Fastest portable data transfer
8Pipe RGPSview End
- popen(command,r)
- create a pipe from RGPSview to the module being
executed by command - fread
- read data from the pipe
- pclose
- close the pipe.
9Pipe Module End
- command executes the module
- command-line arguments tell the module what to
send back to RGPSview - fwrite
- send data to RGPSview through stdout
10Module Queries
- RGPSview Modules support 3 modes
- Identification Query
- return generic module information
- Metadata Query
- return formatted datafile information (Metadata)
for the product - Data Query
- returns data metadata from the specified file
11Application Layout
Example Modules
RGPSview Application
Land Analysis System Data
Lagrangian Ice Motion Product
Read Regular Grid Data
Ship Tracking Data
Ice Age Histogram Product
Read Eulerian Grid Data
Area/Open Water Fraction Product
Visualize Data
Eulerian Ice Motion Product
Ice Deformation Product
12RGPSview Module Loading
- Module directory queried for executables at
startup - For each module
- Queried for ID
- Placed under File-gtOpen-gtMetadata
- Placed under File-gtOpen-gtData
- e.g. File-gtOpen-gtData-gtLIM
- 1) opens file dialog box
- 2) calls appropriate data loading routine with
selected filename - 3) calls visualization routine with loaded data
metadata
13Module ID Query
- start-up ltmodulegt -info returns
- Name of product
- Type of product (Regular, Lagrangian)
- determines module to process data
14Metadata/Data Queries
- Metadata ltmodulegt -metadata ltfilenamegt returns
the product metadata. This is formatted by the
module written directly to the pipe where
RGPSview displays it directly. Later sent to a
scrolled text window.
- Data ltmodulegt -data ltfilenamegt returns the
product metadata data in a format specified by
the metadata.
15LAS Module main()
void main(int argc,char argv) / 1
'-info' return the module info from the product
/ if(argc2 strcmp(argv1,"-info")0)
printf("LAS - Land Analysis System\n") /
product name / printf("Image\n") / data
type / / 2 '-metadata datafile' return
the metadata from the product / else if(argc3
strcmp(argv1,"-metadata")0)
get_metadata(argv2) / 3 '-data
datafile' return the metadata data from the
product. / else if(argc3
strcmp(argv1,"-data")0)
get_data(argv2) else
printf("Incorrect plug-in access.\n")
return
16Data Retrieval Process
1) Open a pipe to the module -data with
popen() 2) Read the specified metadata from the
pipe 3) Allocate needed memory 4) Read data
from the pipe 5) Close the pipe to the module 6)
Give control to Visualization() 7) Create a
Visualization of the data 8) Display the
resulting Visualization
17Optimization
LAS (Land Analysis System) datafiles are large
50 MB Optimization methods 1) Read data off
disk in block increments 2) Subsample large
datasets by row column 3) Subsample by
retrieving small regions of larger datasets
into memory (rather than the whole) Optimum
combine our subsampling alternatives.
18Optimization 1
Subsample large datasets take every nth row
column
original dataset
display dataset
19Optimization 2
Subsample large datasets store only a small
region in memory
When scrolled, discard current data load in
new. Alternative visualization of full LAS
datafile 155 MB
original dataset
20Metadata vs. Data
- For Metadata only
- Metadata is read, formatted printed to the
pipe, to be output by RGPSview directly. - For processing data
- We only need some of the metadata
- Should return the data we need. e.g.
- Image Size, of trajectories, type of data,
etc... - After we have the needed information for our
datatype, we can load our data. - Generic transport protocol, or do it ourselves?
21to HDF or not to HDF
- HDF Hierarchical Data Format
- Generic, self-describing format
- Plus Researchers already know how to use HDF!
- Minus
- All functions require filenames (char ) rather
than file identifiers - no way to use pipes? - possibly non-linear reading writing of data?
- module bottleneck for processing generic format?
- We will implement read/write of generic formats
- HDF5?
22Coordinate Systems
code name 0 Geographic 1 Universal Transverse
Mercator 4 Lambert Conformal Conic 6 Polar
Stereographic () 7 Polyconic 9 Transverse
Mercator 11 Lambert Azimuthal Equal
Area 20 Hotline Oblique Mercator 22 Space Oblique
Mercator 24 Interrupted Goode Homolosine 99 Interg
erized Sinusoidal Projection () - RGPS
23To-Do
- Fully Implement pipes
- Add metadata file picker
- Pass all module info.
- Create a separate Visualization routine (embedded
now) - Test on the Sun
- Release beta?
- Implement Both Subsampling algorithms
- Add metadata viewing window
- Implement geographic placement
- Fix main window image collection