[Previous Page | Next Page | NeXus Home Page | NeXus Site Map]

NeXus Utilities

Since HDF files are self-describing, it is possible to write standard browser utilities to scan the contents, display the results and, in some cases, plot the stored data. Any utility written to access HDF files can also be used to access NeXus files. However, NeXus makes extensive use of Vgroup classes in order to make the structure of the files more transparent, and so browsers are being developed to take advantage of this.

As the NeXus project develops, we anticipate more general purpose utilities and applications becoming available. In fact, this is one of the main objectives in developing the NeXus standard. Since the project is still in the early stages of development, this page is only gradually filling up. We encourage the neutron and X-ray scattering communities to contact me and help fill it up. Note that I have not tested all the products listed here, so the following references do not imply a personal endorsement.



[Previous Page | Next Page | NeXus Home Page | NeXus Site Map]

Browsers and Other Utilities

Although it is possible to use standard HDF browsers to inspect the contents of NeXus files, there are some advantages to using NeXus-specific ones. At present, the only one available is a simple terminal browser with a command-line interface, although others are under development. HDF browsers are available for a variety of platforms, and include Java web-browser plug-ins. Look at the HDF web pages for further details.


NXbrowse
A simple terminal browser written in ISO C (replacing the earlier version in Fortran 90). When compiled and linked with the NeXus API, it can be run interactively to list the directories of each group within a NeXus file. If used from a terminal (and installed in the default PATH [u**x] or defined as a symbol [VMS]), type
NXbrowse <file_name>
If no file name is given, the user is prompted for the file to be opened. NXbrowse then lists the global attributes and prompts for further commands. The following commands may be given in upper or lower case (although the group and data names are case sensitive) :
Command Definition
DIR List the contents of the currently open group.
OPEN <group_name> Open the specified group.
READ <data_name[i,j,...]> Read the contents of the specified data set. If no array indices are specified, the first three elements of the data set are output along with all its attributes. If an array index is specified, only that element is output. Note that the order of the array indices follows the C-convention (the last index is the most-rapidly varying).
DUMP <data_name> <file_name> Write the entire contents of the specified data set to the specified ASCII file.
BYTEASCHAR Toggle the output format for NX_INT8 and NX_UINT8 variables. By default, they are output as integers, but after giving this command, they are printed as character strings.
CLOSE Close the currently open group. At the root level of the NeXus file, this command is ignored.
EXIT, QUIT Exit the program.
HELP List the available commands.

On most systems, NXbrowse is compiled and linked during the standard NeXus installation. Precompiled binary versions are available for a limited number of operating systems (Linux, VMS, Macintosh). Please contact Ray Osborn for more information.
NXtoXML
A utility to translate NeXus files to XML, written in ISO C. If used from a terminal (and installed in the default PATH [u**x] or defined as a symbol [VMS]), type
NXtoXML <NeXus_file> <XML_file>
On most systems, NXtoXML is compiled and linked during the standard NeXus installation (v2.0 and later). Precompiled binary versions are available for a limited number of operating systems (Linux, VMS, Macintosh). Please contact Ray Osborn for more information.
NXtoDTD
A utility to translate NeXus files to XML without including the data values, written in ISO C. This is useful in defining the structure of a NeXus file and can be used to produce the skeleton of a NeXus metaDTD file from an existing NeXus file. If used from a terminal (and installed in the default PATH [u**x] or defined as a symbol [VMS]), type
NXtoDTD <NeXus_file> <XML_file>
On most systems, NXtoDTD is compiled and linked during the standard NeXus installation (v2.0 and later). Precompiled binary versions are available for a limited number of operating systems (Linux, VMS, Macintosh). Please contact Ray Osborn for more information.
NXtree
A utility to output the structure of a NeXus file in a tree structure. It has options to produce either HTML or LaTeX output, with or without data values and attributes.
NXtree [-[no]attr] [-[no]data] [-html | -latex] <NeXus_file>
The file NXtree.tar.gz contains the source code to be used on u**x platforms and NXtree-win32.zip contains a binary version for various flavors of Windows. It was written by Thomas Proffen <tproffen@lanl.gov>
Java HDF Viewer
Java-based tool for browsing and visualizing HDF files.
Scientific Data Browser
CGI program for reading and visualizing HDF data over the web.
SciSpy Browser
Freeware product from Research Systems (formerly Fortner Software) for browsing and visualizing HDF data on Windows 95/98/NT and Power Macintosh systems. (Note that group classes and some of the standard HDF attributes are only displayed by using the Get Info menu item.)
HDFExplorer
Windows 95/98/NT HDF viewer. Since this link is now broken, I have no idea if they are still maintaining the product.
NeXus Tcl/Tk Browser
Under development by Przemek Klosowski and Nick Maliszewskyj. Contact them for further details.

[Previous Page | Next Page | NeXus Home Page | NeXus Site Map]

Plotting Applications

Any visualization software that can read HDF files, such as IDL and Noesys, will be able to read NeXus files. However, a number of neutron and X-ray specific applications will soon be able to read NeXus files.

Open Genie
Open Genie is an object-oriented data analysis and visualization package developed at the ISIS pulsed neutron facility. The latest version has the ability to load an entire NeXus file into a workspace structure, as well as write NeXus files.
IDL
Mark Koennecke has written a set of IDL utilities for interfacing to NeXus files.
LAMP
This is a general purpose neutron data analysis package, developed at ILL and layered on IDL. A run-time version is available for those without an IDL license. It can read and write NeXus files.
HDFLook
Motif HDF viewer which has some impressive plotting capabilities. For example, it is possible to plot 2D data sets and then take arbitrary 1D cuts. However, it does not recognize Vgroups, so the NeXus file hierarchy is lost making it hard to identify the plottable data. However, the price is right (i.e. it's free).

[Previous Page | Next Page | NeXus Home Page | NeXus Site Map]

Data Analysis

This section will probably take the longest to fill up although I am aware of a number of people responsible for analysis packages who intend to support NeXus when it is more developed.

Open Genie
I include Open Genie here as well since it is really more of a data analysis package than a plotting package per se.
LAMP
LAMP is also designed for analyzing raw data in addition to visualizing the results.
Noesys
Noesys edits a number of different HDF data objects. Of particular relevance to NeXus are multidimensional datasets (up to 7D), and numeric and text attributes.

[Previous Page | Next Page | NeXus Home Page | NeXus Site Map]

Comments to: Ray Osborn <ROsborn@anl.gov>
Revised: Saturday, September 14, 2002

Copyright © 1996-2002 NeXus Design Team. All rights reserved.