The Intel Array Visualizer (http://www.intel.com/software/products/compilers/fwin/array_vis.htm) is a software tool for loading, viewing, and saving array data. Supported file formats include HDF4, HDF5, netCDF, and FITS. Support for additional formats can be provided by the user through the use of a plug-in architecture.
The Visualizer includes a viewing program as well as libraries that provide a file format independent API for accessing and displaying data. In addition to programs written in C and Fortran, scripts can be written in JavaScript that work with the Visualizer object model. Scripts can also be embedded within a data file, enabling customized behaviors when viewed.
This presentation will provide a brief overview of the product covering areas of interest to HDF and EOS developers
Boost Fertility New Invention Ups Success Rates.pdf
Intel Array Visualizer
1. Intel Array Visualizer
HDF Workshop VIII
October 27, 2004
John Readey
john.readey@intel.com
R
®
Intel Compiler Lab –
Page 1
2. Introduction
• Intel® Array Visualizer is a software tool for data
visualization
• Includes
–
–
–
–
–
–
Array Viewer*: Viewing application
Library routines: API for C and Fortran applications
Object Model: COM* based class library
ActiveX* Controls: Re-usable UI components
Pluggable UI
Pluggable File Format support
• Array Viewer is available as a free download
• Other components (for application development)
included with Intel® Fortran and Intel® C++ (v9.0)
R
®
Intel Compiler Lab –
Page 2
4. Array Viewer - Features
• Data visualization program for viewing HDF4,
HDF5, and NetCDF files
– Also supports XML, FITS, WAVE, PLY, BMP, GIF,
JPG, PNG
– Incremental Load/Save (for HDF4, HDF5)
•
•
•
•
Browser-like interface
Internet Explorer plug-in
Macro support, UI templates
Data Grid for displaying Datasets, Attributes
R
®
Intel Compiler Lab –
Page 4
5. Array Viewer as an IE Plug-in
R
®
Intel Compiler Lab –
Page 5
6. Array Viewer – Tree Pane
• Groups, Datasets, Attributes, and Links
displayed as icons in a tree control
• Clicking on icon displays object in right pane
• Graphs and Pages also displayed in the tree
– Graph: a collection of plots, axes, and captions
– Page: HTML/script code
• Copy/Paste, Drag&Drop supported
R
®
Intel Compiler Lab –
Page 6
7. Viewer Visualization Features
• Variety of 2D/3D plot types: Image, XY, Contour,
Heightmap, Vector, Log plots
R
®
Intel Compiler Lab –
Page 7
8. Viewer Visualization Features - Cont
• Images can be indexed or True Color
• Color mapping functionality based on HDF5
Image and Palette Specification
• Multiple Images can be composited
R
®
Intel Compiler Lab –
Page 8
9. Viewer Visualization Features - Cont
• Wizards provided for the creation of new plots
R
®
Intel Compiler Lab –
Page 9
10. Viewer Visualization Features - Cont
• Property pages enable plot appearance to be
modified
R
®
Intel Compiler Lab –
Page 10
11. Viewer Visualization Features - Cont
• Graphs are collections of plots, axes, and
captions
• Data for plots or axes is referenced as a path to
a dataset
• Paths can contain suffix to indicate section
and/or sub-type
R
®
Intel Compiler Lab –
Page 11
12. Viewer – Page Objects
• Page objects are HTML code that can contain:
–
–
–
–
Standard HTML elements
Graph and grid objects
UI elements (buttons, text entry, checkboxes, etc)
Script code for dynamic behavior
• Used to:
– Group related datasets, graphs, explanatory text in
one view
– Created interactive views
• Page data is saved to the file along with other
elements (in HDF4/HDF5 as a group attribute)
R
®
Intel Compiler Lab –
Page 12
13. Viewer – Page Example 1
R
®
Intel Compiler Lab –
Page 13
14. Viewer – Page Example 2
R
®
Intel Compiler Lab –
Page 14
15. Library Routines
• Provides means for C/Fortran programs to read and
write data to a file (HDF4, HDF5, or XML)
– Program model is the same regardless of file format
• Only avOpen, avSave calls access files directly
• Other File I/O is implicit
• For HDF4, HDF5 files:
– Datasets, Groups loaded from file as they are accessed
– avSave writes modified objects back to file
• For XML files:
– All objects are loaded on avOpen
– avSave rewrites the entire file
– Loops are replaced by links
R
®
Intel Compiler Lab –
Page 15
16. Library Routines - Cont
• File read example in C:
R
®
Intel Compiler Lab –
Page 16
17. Library Routines - Cont
• File save example in Fortran:
R
®
Intel Compiler Lab –
Page 17
18. Library Routines - Cont
• avNewViewer function can be used to invoke the
Array Viewer
• Viewer example in Fortran:
R
®
Intel Compiler Lab –
Page 18
19. Object Model
• COM based class library
• 40+ classes representing datasets, dataspaces,
types, groups, links, graphs, plots, etc.
• Provides more fine-grained control than
C/Fortran lib (but not direct file access)
• Organized in hierarchy:
– Class properties link to sub-objects
• Example: mydataset.Dataspace
– Collection classes contain an arbitrary number of
objects of a given type
• Example: mygroup.Groups[“mysubgroup”]
R
®
Intel Compiler Lab –
Page 19
21. Object Model – Language Support
• C++, Fortran:
– best performance
– somewhat tedious to program
• .Net* languages (C#, VB.Net):
– not as efficient as C++/Fortran, better than script
– easy to program (+ Intellisense*)
• Script (JavaScript*, VBScript*)
–
–
–
–
not very efficient (but often good enough)
easy to program
no debugger
can use code in Page objects, Macros
R
®
Intel Compiler Lab –
Page 21
26. Reading Compound Elements
• For datasets of compound types ReadElement()
returns an object
• Properties of the object are the fields of the type
• Fields that have an extent > 1 become indexed
properties
• Fields that are themselves compound types
become sub-objects of the returned object
R
®
Intel Compiler Lab –
Page 26
28. ActiveX Controls
• User Interface components that can be used to
create GUI applications
• Controls supported in Visual C++*, Visual
Basic*, Compaq Visual Fortran*
• Graph, Grid, Tree controls supply most of the
functionality in Array Viewer
• Each control has a limited number of properties
– Most state is accessed through object model
• Events signal changes of state
R
®
Intel Compiler Lab –
Page 28
30. File Loaders
• Each file format supported by Array Visualizer is
implemented by a separate file loader
component
• File loaders run in their own address space
• Additional file formats can be supported by
registering a new file loader on the system
• No source changes, re-linking required for
applications
• New file loaders can be created by AV users
Must be written in C++ (VS.Net Wizard
provided)
R
®
Intel Compiler Lab –
Page 30
31. Getting the Software
• Free Viewer download
– available soon
• Development version
– http://www.intel.com/software/products
– Order or download Intel Fortran for Windows v8.1
– Free evaluation available
• Post questions or comments on Fortran forum
– http://softwareforums.intel.com/ids/board?board.id=5
• Let us know what features you’d like to see in
future versions
R
®
Intel Compiler Lab –
Page 31