![Page 1: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/1.jpg)
R
®
Page 1Intel Compiler Lab –
Intel Array Visualizer
HDF Workshop VIII
October 27, 2004
John Readey [email protected]
![Page 2: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/2.jpg)
R
®
Page 2Intel Compiler Lab –
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)
![Page 3: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/3.jpg)
R
®
Page 3Intel Compiler Lab –
Array Viewer
![Page 4: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/4.jpg)
R
®
Page 4Intel Compiler Lab –
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
![Page 5: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/5.jpg)
R
®
Page 5Intel Compiler Lab –
Array Viewer as an IE Plug-in
![Page 6: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/6.jpg)
R
®
Page 6Intel Compiler Lab –
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
![Page 7: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/7.jpg)
R
®
Page 7Intel Compiler Lab –
Viewer Visualization Features
• Variety of 2D/3D plot types: Image, XY, Contour, Heightmap, Vector, Log plots
![Page 8: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/8.jpg)
R
®
Page 8Intel Compiler Lab –
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
![Page 9: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/9.jpg)
R
®
Page 9Intel Compiler Lab –
Viewer Visualization Features - Cont
• Wizards provided for the creation of new plots
![Page 10: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/10.jpg)
R
®
Page 10Intel Compiler Lab –
Viewer Visualization Features - Cont
• Property pages enable plot appearance to be modified
![Page 11: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/11.jpg)
R
®
Page 11Intel Compiler Lab –
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
![Page 12: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/12.jpg)
R
®
Page 12Intel Compiler Lab –
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)
![Page 13: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/13.jpg)
R
®
Page 13Intel Compiler Lab –
Viewer – Page Example 1
![Page 14: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/14.jpg)
R
®
Page 14Intel Compiler Lab –
Viewer – Page Example 2
![Page 15: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/15.jpg)
R
®
Page 15Intel Compiler Lab –
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
![Page 16: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/16.jpg)
R
®
Page 16Intel Compiler Lab –
Library Routines - Cont
• File read example in C:
![Page 17: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/17.jpg)
R
®
Page 17Intel Compiler Lab –
Library Routines - Cont
• File save example in Fortran:
![Page 18: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/18.jpg)
R
®
Page 18Intel Compiler Lab –
Library Routines - Cont
• avNewViewer function can be used to invoke the Array Viewer
• Viewer example in Fortran:
![Page 19: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/19.jpg)
R
®
Page 19Intel Compiler Lab –
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”]
![Page 20: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/20.jpg)
R
®
Page 20Intel Compiler Lab –
Object Model Diagram
![Page 21: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/21.jpg)
R
®
Page 21Intel Compiler Lab –
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
![Page 22: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/22.jpg)
R
®
Page 22Intel Compiler Lab –
List Datasets Example – C++
![Page 23: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/23.jpg)
R
®
Page 23Intel Compiler Lab –
List Datasets Example – C#
![Page 24: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/24.jpg)
R
®
Page 24Intel Compiler Lab –
List Datasets Example – JavaScript
![Page 25: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/25.jpg)
R
®
Page 25Intel Compiler Lab –
Read Element ExampleJavaScript
![Page 26: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/26.jpg)
R
®
Page 26Intel Compiler Lab –
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
![Page 27: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/27.jpg)
R
®
Page 27Intel Compiler Lab –
Compound Elements ExampleJavaScript
![Page 28: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/28.jpg)
R
®
Page 28Intel Compiler Lab –
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
![Page 29: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/29.jpg)
R
®
Page 29Intel Compiler Lab –
ActiveX* Control Example
![Page 30: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/30.jpg)
R
®
Page 30Intel Compiler Lab –
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)
![Page 31: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/31.jpg)
R
®
Page 31Intel Compiler Lab –
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
![Page 32: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com](https://reader031.vdocument.in/reader031/viewer/2022013004/56649e165503460f94b007ee/html5/thumbnails/32.jpg)
R
®
Page 32Intel Compiler Lab –
Legal Addendum
• * Other names and brands may be claimed as the property of others
• Copyright Intel© Corporation 2004