Treeview 
What is Treeview?
Treeview is a viewer for hierarchical structures, and knows about
a number of astronomical file formats
(including FITS, HDS/NDF, NDX, VOTable) amongst other things.
As well as examining files in a directory tree, in most cases it can
work just as well on compressed files, data from a URL, and data in
(optionally compressed) zip or tar archives.
Operation is very intuitive.
Briefly: a tree structure is shown in one panel of a window,
and its nodes can be expanded or collapsed by clicking with a mouse.
When a node is selected, additional information about it is made
available in the other panel of the window; different information
about the same selected node can be seen by clicking tabs.
Since a picture is worth a thousand words, here is a screenshot:
Some more screen shots are available:
Treeview is written in Java, so can be run on a variety of platforms.
Treeview deals with the following generic forms of node:
Arrays:
-
These are found within FITS SIMPLE/IMAGE HDUs, Starlink HDS/NDF files
and Starlink NDX structures, and represent an N-dimensional hypercube
of numbers. They have the following views:
- 1-d arrays (e.g. spectra) can be displayed as a line plot
- 2-d arrays can be displayed as an image at 1x magnification;
this does not require loading the whole image, so can be fast
even for large arrays
- The values of the pixels in even very large arrays can be viewed in
a scrollable 1-d or 2-d table. Again, the whole array does not
need to be loaded, so this is fast
- Higher-dimensional (>2d) arrays can be shown as image slices
through the array along any axis
- Three-dimensional arrays can be viewed collapsed
(by averaging over some or all planes) along any given axis
to give an image
- Statistics (mean, variance etc) of an array can be calculated.
- An external program
SPLAT
can be launched for detailed analysis of 1-d spectral data
- An external program
SoG
can be launched for detailed analysis of 2-d image data
Tables:
- These are found in TABLE/BINTABLE FITS extensions, or in VOTable files.
They have the following views:
- Table data is shown in a compact scrollable table.
- Table has full JTable functionality - columns can be moved around,
width altered etc.
- All available column and table metadata can be displayed in a
tabular format
- An external program
TOPCAT
can be launched for detailed examination of the table
Treeview understands the structure of the following kinds of nodes and
can display them hierarchically:
FITS files:
-
- Each Header+Data Unit (HDU) in the FITS file is displayed
- FITS header cards are displayed
- BLANK values and BSCALE/BZERO scaling are handled properly
- Simple FITS files and IMAGE, TABLE and BINTABLE extensions are recognised
- All array views described above are supported for SIMPLE/IMAGE HDUs
- All table views described above are supported for TABLE/BINTABLE HDUs
- WCS information can be read from headers using a variety of encodings
- WCS information can be plotted over image pixels or showing array extent
for 2-d images
- WCS information can be displayed in different FITS/non-FITS encodings
Starlink NDF files:
-
- All array views described above are supported.
- Magic bad values are treated properly.
- The co-ordinate Frames can be viewed in several formats
(native, XML and a variety of FITS encodings)
- The extent of a 2-d array in any of its WCS co-ordinate Frames
can be displayed, with a grid plotted.
- NDF HISTORY components are shown
Starlink HDS container files:
-
- The structure of arbitrarily complicated HDS files can be seen.
- All array views described above are supported for array components.
VOTable files:
-
- Compact display of complicated VOTable structures
- Most aspects of VOTable hierarchical structure are understood
- All FIELD and PARAM metadata can be viewed in a tabular form
- TABLEDATA, FITS and (so far untested) BINARY table data support
- Relative or absolute, local or network URLs for FITS files
- XML content of any VOTable element can be seen
- VOTable DTD stored locally for standalone operation
Some VOTable screenshots are available.
XML documents:
-
- Hierarchical view of XML documents
- Summary or full display of each node can be seen
- Known structures (NDX, VOTable) embedded in larger documents
are recognised
- Many standard XML encodings supported
Zip files:
-
- Zip (PKZIP-like) and Jar archives displayed like directory structures
- Many node types within archive can be viewed as if they were normal files
Tar files:
-
- Tar archives displayed like directory structures
- Many node types within archive can be viewed as if they were normal files
Starlink NDX structures:
-
- NDFs, FITS files and suitable XML files can be viewed as NDXs or as
their native type
- All array views described above are supported
- WCS information can be plotted over image pixels or showing array extent
for 2-d images
- WCS information can be displayed in various formats (XML, FITS, AST)
Starlink HDX containers:
-
- Hierarchical view of contained resources
- XML view can be seen
Directories:
-
- Hierarchical view of file systems
Files:
-
- Hex dump or text content of file can be shown.
- File system information is displayed.
Compressed data:
-
- Files compressed in gzip or bzip2 format can be viewed.
- Hex dump or text of uncompressed content can be shown.
Other features:
- Basic on-line help system
- Popup "alter-ego" menus allow nodes to be seen in different aspects
(e.g. view a VOTable as an XML document)
or reloaded to reflect change of underlying data
- Demonstration data is integral to the tool and can be viewed at any time
to investigate Treeview capabilities
The items in this list refer to the latest version.
If you are at a Starlink site, a not-very-recent version of
Treeview should be installed as part
of the standard Starlink distribution; it can probably be invoked
by typing
/star/bin/treeview name
or just
treeview name
at the shell prompt.
If you are not at a Starlink site, or if you are but want to use some
of the newer features you can
download the latest copy from the
anonymous ftp
site, which contains source code and javadocs as well as the
runtime jar files etc.
Full installation instructions are given in the:
Installation guide.
Available versions
Treeview is still undergoing development,
as are some aspects of the way that Starlink distributes software,
so there is an interesting range of versions available.
- Version 1.1 appeared on the Starlink Spring 2002 CD-ROM.
This is the most recently published Starlink distribution,
and so is the version likely to be installed at Starlink sites.
- Version 1.4 apppeared on the Winter 2002 Starlink CD-ROM.
- Version 2.1-3 appears on the Summer 2003 Starlink CD-ROM.
- Version 2.2-1 appears on the Spring 2004 Starlink release.
- More up to date versions are available from
this web page (see installation guide);
the idea is that updates can be made frequently
and downloaded without having to wait for the next CD to be released.
Details of Starlink releases can be found on the
Starlink Download page.
For details of which features appear in which versions, see
the version history.
There is a long list of new features and enhancements I would like to
make to Treeview. The following is a list in very roughly the order
in which they might get done. Some are small additions, some are
major projects. Items get added about as fast as
they get taken off, so ones near the bottom of the list may well
never reach the top.
- Viewing of FTP/GridFTP directories
- Allow SPLAT/SoG invocation for all arrays (not just NDX/NDF nodes)
- Tooltip balloons for tabs in detail panel
- Improved spectrum coordinate display (using AST V2)
- WCS 'grid' panel for 1-d arrays
- Zoom in/out for image display
- GSD (Global Section Datafile) file support (pure java or JNI?)
- Splash screen on startup
- Improve the on-line help
- Specify XML elements on command line using XPath expressions
- Histogram view for arrays
- Linear plot display for each point in a data cube
- HTML file support
- Graphics file support (gif jpeg etc)
- Proper handling of NDF AXIS information
- FITS-like display of NDF MORE.FITS extension
- Support for Astrores tables
- Use of WCS in >2-d arrays
- Allow detaching of tabbed detail panel
- Glob data node
- Restructure for user extensibility, so custom node types can be
added dynamically
- AIPS++ table support (pure java or JNI or CORBA?)
- Better memory management (there are leaks)
- One-click demo mode
- Invocation of non-Java/web-services programs (GAIA)
- Pure java version of WCS support
- Pure java version of HDS support
Suggestions for things not on this list,
or for changes of priority of things that are on it, are very welcome.
If there is anything you would like to see Treeview doing, please
contact me at
m.b.taylor@bristol.ac.uk
and I will factor in such requests to my schedule.
The interested reader may wish to consult some javadoc API documentation:
for the latest bleeding-edge version of Treeview. This is not however
required or intended reading for users of the package.
There is not currently a formal mailing list, but if you want to
be kept abreast of new features as they become available let me
know and I may set one up.
Any comments, questions, requests, bugs etc, please contact me: