The HDF Levels of Interaction
At its lowest level, HDF is a physical file format for storing scientific data. At its highest level, HDF is a collection of utilities and applications for manipulating, viewing, and analyzing data in HDF files. Between these levels, HDF is a software library that provides high-level APIs and a low-level data interface.
At the highest level are HDF command-line utilities , The HDF Group applications that support data visualization and analysis, and a variety of third-party applications .
There are HDF command line utilities to:
- convert from one format to another (for eg. to and from JPEG/HDF)
- analyze and view HDF files (hdp being one of the more useful tools)
- manipulate HDF files
Please refer to the Software Using HDF4 page for more information
The Application Programming Interfaces
These include sets of routines for storing and accessing a specific type of data. Although each interface (Application Programming Interface or API) requires programming, all the low-level details can be ignored. These are available in both C and Fortran.
The data structure types that HDF supports are Scientific Data Sets (SD and DFSD APIs), Raster Images (General, 8-bit, 24-bit APIs), color palettes, text entries, and Vdatas and Vgroups.
The Low-level Interface
This interface is reserved for software developers. It was designed for direct file I/O of data streams, error handling, memory management, and physical storage. It is essentially a software toolkit for skilled programmers who wish to make HDF do something more than what is currently available through the higher-level interfaces. Low-level routines are only available in C.
The routines that make up the lower-level interface and the APIs are available in the HDF Group's HDF libraries. The HDF utilities are included in The HDF Group's HDF distribution. Applications supported by The HDF Group , as well as applications contributed by members of the world-wide HDF user community are freely available on The HDF Group's ftp server.