TOPCAT is an interactive graphical viewer and editor for tabular data. Its aim is to provide most of the facilities that astronomers need for analysis and manipulation of source catalogues and other tables, though it can be used for non-astronomical data as well. It understands a number of different astronomically important formats (including FITS, VOTable and CDF) and more formats can be added. It is especially good at interactive exploration of large (multi-million row, lots of columns) tables.
It offers a variety of ways to view and analyse tables, including a browser for the cell data themselves, viewers for information about table and column metadata, and facilities for sophisticated interactive 1-, 2-, 3- and higher-dimensional visualisation, calculating statistics and joining tables using flexible matching algorithms. Using a powerful and extensible Java-based expression language new columns can be defined and row subsets selected for separate analysis. Table data and metadata can be edited and the resulting modified table can be written out in a wide range of output formats.
It is a stand-alone application which works quite happily with no network connection. However, because it uses Virtual Observatory (VO) standards, it can cooperate smoothly with other tools, services and datasets in the VO world and beyond.
The program is written in pure Java and available under the GNU General Public Licence, though some of the library code is LGPL. Source code is available at https://github.com/Starlink/starjava. It has been developed mostly in the UK within various UK and Euro-VO projects (Starlink, AstroGrid, VOTech, AIDA, GAVO, GENIUS, DPAC) and under PPARC and STFC grants. Its underlying table processing facilities are provided by the related packages STIL and STILTS.
The following is a list of the program's main capabilities. The hyperlinks are to the relevant parts of the user document.
Supported table input formats include:
tabular
environmentFull tutorial and reference documentation for TOPCAT is provided by SUN/253, the user document. This is available within the program at runtime via the context-sensitive and searchable help system, or in the following forms within the distribution or on the web:
A list of frequently asked questions is available. If you want to suggest additional questions and/or answers, please get in touch.
Two mailing lists are in use for TOPCAT and related software:
topcat-user@jiscmail.ac.uk
:
Public list for questions, answers, discussions, bugs, comments, ...
topcat-announce@bristol.ac.uk
:
Low-volume read-only list for release announcements and news items.
If you have queries or support enquiries you can send them to
topcat-user
(especially if the answer might be of interest to other users),
or email me if you prefer that.
Demos/tutorials of using TOPCAT with Gaia DR3 data:
Tutorial script exercising TOPCAT and STILTS with Gaia DR2/EDR3 data (built from repository - you can adapt it):
Introduction/Demo tutorial covering some similar material as presented to Shristi Astronomy/AstroSprint courses:
TOPCAT as HAPI client, intended as TOPCAT introduction for HAPI users:
Español: Tutorial para crear el diagrama H-R (Hertzsprung-Russell) de las Pléyades (M45) utilizando TOPCAT
Some older tutorials are available too:
And some more general items may also be helpful:
You can see screenshots of TOPCAT in action in the following places:
TOPCAT is written in the Java language using the Java 2 Standard Edition version 8, and should run on any Java SE 8 or more recent system. This means it can be run on a wide range of platforms, without requiring any recompilation - you just need to ensure that you have a suitable Java Runtime Environment (JRE) - though that's not necessary for the MacOS DMG download, see below. If you don't have Java installed, or have an unsuitable version, you can obtain the Java SE for Linux, Mac OS X, MS Windows and Solaris from Oracle's web site (you only need the "JRE" rather than the "JDK" download, unless you will be doing development work). Java SE Runtime Enviroments (sometimes called JVMs or Java Virtual Machines) for other platforms may be available from operating system vendors. OpenJDK is also suitable.
If starting TOPCAT fails with an error like
java.lang.UnsupportedClassVersionError
,
you have a version of Java that is too old, and you should
upgrade to Java 8 or later.
If you're unable or unwilling to do that and you only have the
rather ancient Java 6, you can still use TOPCAT version
v4.6-3 or older.
Having got Java, There are several ways to download TOPCAT, described in rough order of advisability in the following subsections. More information on how to run the program having obtained it can be found in SUN/253's section on Invoking TOPCAT.
The generally recommended form for downloading is to pick up a single Jar file containing the required classes:
On Unix-like operating systems, download one or other of these
jar files and the startup script topcat
into the same directory, then "chmod +x topcat
",
and you can just run the command:
topcatOn non-Unix systems the script won't work, and you can use a command like:
java -jar topcat-*.jaror invoke it in some other system-dependent way such as by clicking on it.
If you have an Apple Mac with homebrew installed you can just do
brew install --cask topcat --no-quarantinewhich will install the TOPCAT application and the
stilts
and topcat
scripts, along with all dependencies.
Without homebrew, you can pick up the DMG file manually:
topcat-all.dmg (114.6M)You are advised to download it using
curl
(curl -OL http://www.starlink.ac.uk/topcat/topcat-all.dmg
)
rather than the browser otherwise it will need to be unquarantined —
see the FAQ entry
problem with "damaged" dmg file.
The application DMG file contains a bundled Java Runtime Environment,
user manuals for TOPCAT and STILTS, and the
topcat-extra.jar file (see above).
The FAQ contains advice on
how to set flags for memory usage etc.
It ought to work for both Intel and Apple Silicon hardware,
and does not require an external Java installation.
It is therefore quite large; if you want something more compact,
you can use an existing java installation with one of the
topcat-*.jar
Standalone Jar Files
listed in the previous section. The main disadvantage is that
you don't get to click on a yellow cat to start it.
This DMG file was built using Install4j, a multi-platform installer builder, which has saved me a lot of Mac-specific wrangling.
If you want the most comprehensive installation then download and unpack the full starjava tree in one of the following forms:
These archives include related applications such as
SPLAT,
SoG and
Treeview.
You can run TOPCAT using the starjava/bin/topcat
script
(Unix) or by running java -jar starjava/lib/topcat/topcat.jar
.
TOPCAT is also packaged as part of some other larger software distributions:
Note however these may not provide the most up to date version.
The most recent public release of TOPCAT is version 4.10, released 7 August 2024.
For a detailed history of the changes in this and previous releases, see the
Full Version Historysection of SUN/253.
TOPCAT is currently (2024) under active development, and I'm very open to user feedback. Any comments, questions, requests, bugs etc, please either post to the topcat-user list or contact me direct: