TOPCAT – Tool for OPerations on Catalogues And Tables

Tool for OPerations on Catalogues And Tables (TOPCAT) is an interactive graphical tool for analysis and manipulation of 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 has facilities for plotting, cross matching, row selection, sorting and manipulation of data and metadata. Synthetic columns can be created and row selections made using a powerful and extensible algebraic expression language. 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.

TOPCAT 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.

Features include:

  • Fast access to large datasets (millions of rows/hundreds of columns).
  • View/edit table data in a scrollable browser.
  • View/edit table and column metadata.
  • Re-order and hide/reveal columns.
  • Insert ‘synthetic’ columns defined by algebraic expression.
  • Sort rows on the values in a given column.
  • Define row subsets in various ways.
  • View interactive and configurable plots of column-based quantities against each other distinguishing different data sets:
    • Plot types are histogram, plane, sky, cube, sphere, time.
  • Features include variable transparency, error bars, point labelling, colour axes, all-sky plots, configurable density shading, vectors, ellipses, polygons, contours, density maps, KDEs, analytic functions, plain text/LaTeX axis annotation, …
  • Plots can be exported in bitmapped or vector formats, and a command to script the same plot is displayed.
  • Calculate statistics on each column for some or all rows.
  • Perform flexible and fast matching of rows in the same or different tables.
  • Concatenate the rows of existing tables to create new ones.
  • Cause various things to happen when a row or plotted point is selected.
  • Communicate with other applications using SAMP.
  • Acquire tables from a file, URL, or SQL query.
  • Communicate with external VO and non-VO data services, including TAP, VizieR, CDS X-Match, cone search, SIA, SSA or DataLink.
  • Perform multiple (per-row) cone search, SIA or SSA queries, to join a local to a remote catalogue or image/spectrum archive.
  • Write modified tables out in original or different format to file or an SQL database.
  • Comprehensive documentation supplied within the application or off-line.
  • Cross-platform support – runs under Linux, Mac OS X, Windows, and any other operating system that supports the Java Runtime Environment.

Supported table input formats include:

  • FITS TABLE (ASCII table) or BINTABLE (binary table) extensions.
  • VOTables in any of the format variants (TABLEDATA, FITS, BINARY, BINARY2) or versions.
  • ASCII tables in a number of variations.
  • CDF files.
  • Comma-Separated Values.
  • Results of SQL queries on relational databases.
  • IPAC format.
  • GBIN files.

and supported output formats include:

  • FITS BINTABLE (binary table).
  • VOTables in any of the format variants (TABLEDATA, FITS, BINARY, BINARY2) or versions.
  • Plain ASCII text.
  • Comma-Separated Values.
  • New table exported to an SQL-compatible relational database.
  • IPAC format.
  • HTML TABLE element.
  • LaTeX tabular environment.

Support: FAQ, Mailing Lists
Developer: Mark Taylor
License: GNU General Public Licence. Some parts of the library code are released under the GNU Lesser General Public License


The software is written in the Java programming language. Learn Java with our recommended free books and free tutorials.

Return to Astronomical Data Analysis Home Page

Make a Donation
Click the button to make a donation via flattr. Donations help us to maintain and improve the site. You can also donate via PayPal.

Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article