The HDF_READ function allows extraction of Hierarchical Data Format (HDF) data and metadata into an output structure based upon information provided through a graphical user interface or through a file template generated by HDF_BROWSER. The output structure is a single level structure corresponding to the data elements and names specified by HDF_BROWSER or it's output template. Templates generated by HDF_BROWSER may be re-used for HDF files of identical format.

This routine is written in the IDL language. Its source code can be found in the file hdf_read.pro in the lib subdirectory of the IDL distribution.

Calling Sequence

Result = HDF_READ([Filename])



A string containing the name of a HDF file to extract data from. If Filename is not specified, a dialog allows you to specify a file. Note that if a template is specified, the template must match the HDF file selected.



Set this keyword to a named variable that will contain a 2 x n string array of extracted DFR8 images and their palettes. The first column will contain the extracted DFR8 image names, while the second column will contain the extracted name of the associated palette. If no palette is associated with a DFR8 image the palette name will be set to the null string. If no DFR8 images were extracted from the HDF file, this returned string will be the null string ('').


Set this keyword to a named variable that will contain a string array of the names of all the extracted DF24 24-bit images. This is useful in determining whether a (3, n , m ) extracted data element is a 24-bit image or another type of data. If no DF24 24-bit images were extracted from the HDF file, the returned string will be the null string ('').


Set this keyword to specify the HDF file template (generated by the function HDF_BROWSER), that defines which data elements to extract from the selected HDF file. Templates may be used on any files that have a format identical to the file the template was created from.


When HDF_READ is called without a template, it calls HDF_BROWSER to review the contents of an HDF file and create the default output names for the various data elements. By default, these names begin with a prefix derived from the filename. Set this keyword to a string value to be used in place of the default prefix.

Graphical User Interface Menu Options

The following options are available from the graphical user interface menus.

Pulldown Menu

The following table shows the options available with the pulldown menu.

  • HDF_BROWSER Pulldown Menu Options

Menu Selection


HDF Summary

Overview of HDF file contents

DFR8 (8-bit Images)

8-bit images, palettes, and their attributes

DFAN Elements

File annotations and descriptions

DF24 (24-bit Images)

24-bit images and their attributes

DFP (Palettes)

Image palettes

SD (Variables/Attributes)

Scientific Datasets and attributes

View Image Button

If you have selected an image from the pulldown menu, click on this button to view the image.

2-D Plot Button

If you have selected a data item that can be plotted in two dimensions, click on this button to view a 2D plot of the data.

Read Checkbox

Select this checkbox to extract the current data or metadata item from the HDF file.

Extract As

Specify a name for the extracted data or metadata item

    NOTE: The Read Checkbox must be selected for the item to be extracted. Default names are generated for all data items, but may be changed at any time by the user.


template = HDF_BROWSER('my.hdf')

output_structure = HDF_READ(TEMPLATE=template)


output_structure = HDF_READ('my.hdf')


output_structure = HDF_READ() ; Select'my.hdf' with the file locator


structure = HDF_READ('just_like_my.hdf', TEMPLATE=template)

See Also