Intel Array Visualizer HDF Workshop VIII October 27

Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john. readey@intel. com ® Intel Compiler Lab – Page 1

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 Active. X* 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++ (v 9. 0) ® Intel Compiler Lab – Page 2

Array Viewer ® Intel Compiler Lab – Page 3

Array Viewer - Features • Data visualization program for viewing HDF 4, HDF 5, and Net. CDF files – Also supports XML, FITS, WAVE, PLY, BMP, GIF, JPG, PNG – Incremental Load/Save (for HDF 4, HDF 5) • • Browser-like interface Internet Explorer plug-in Macro support, UI templates Data Grid for displaying Datasets, Attributes ® Intel Compiler Lab – Page 4

Array Viewer as an IE Plug-in ® Intel Compiler Lab – Page 5

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 ® Intel Compiler Lab – Page 6

Viewer Visualization Features • Variety of 2 D/3 D plot types: Image, XY, Contour, Heightmap, Vector, Log plots ® Intel Compiler Lab – Page 7

Viewer Visualization Features - Cont • Images can be indexed or True Color • Color mapping functionality based on HDF 5 Image and Palette Specification • Multiple Images can be composited ® Intel Compiler Lab – Page 8

Viewer Visualization Features - Cont • Wizards provided for the creation of new plots ® Intel Compiler Lab – Page 9

Viewer Visualization Features - Cont • Property pages enable plot appearance to be modified ® Intel Compiler Lab – Page 10

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 ® Intel Compiler Lab – Page 11

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 HDF 4/HDF 5 as a group attribute) ® Intel Compiler Lab – Page 12

Viewer – Page Example 1 ® Intel Compiler Lab – Page 13

Viewer – Page Example 2 ® Intel Compiler Lab – Page 14

Library Routines • Provides means for C/Fortran programs to read and write data to a file (HDF 4, HDF 5, or XML) – Program model is the same regardless of file format • Only av. Open, av. Save calls access files directly • Other File I/O is implicit • For HDF 4, HDF 5 files: – Datasets, Groups loaded from file as they are accessed – av. Save writes modified objects back to file • For XML files: – All objects are loaded on av. Open – av. Save rewrites the entire file – Loops are replaced by links ® Intel Compiler Lab – Page 15

Library Routines - Cont • File read example in C: ® Intel Compiler Lab – Page 16

Library Routines - Cont • File save example in Fortran: ® Intel Compiler Lab – Page 17

Library Routines - Cont • av. New. Viewer function can be used to invoke the Array Viewer • Viewer example in Fortran: ® Intel Compiler Lab – Page 18

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”] ® Intel Compiler Lab – Page 19

Object Model Diagram ® Intel Compiler Lab – Page 20

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 (Java. Script*, VBScript*) – – not very efficient (but often good enough) easy to program no debugger can use code in Page objects, Macros ® Intel Compiler Lab – Page 21

List Datasets Example – C++ ® Intel Compiler Lab – Page 22

List Datasets Example – C# ® Intel Compiler Lab – Page 23

List Datasets Example – Java. Script ® Intel Compiler Lab – Page 24

Read Element Example Java. Script ® Intel Compiler Lab – Page 25

Reading Compound Elements • For datasets of compound types Read. Element() 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 ® Intel Compiler Lab – Page 26

Compound Elements Example Java. Script ® Intel Compiler Lab – Page 27

Active. X 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 ® Intel Compiler Lab – Page 28

Active. X* Control Example ® Intel Compiler Lab – Page 29

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) ® Intel Compiler Lab – Page 30

Getting the Software • Free Viewer download – available soon • Development version – http: //www. intel. com/software/products – Order or download Intel Fortran for Windows v 8. 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 ® Intel Compiler Lab – Page 31

Legal Addendum • * Other names and brands may be claimed as the property of others • Copyright Intel© Corporation 2004 ® Intel Compiler Lab – Page 32
- Slides: 32