Features Requirements Download Compiling
Usage Change Log To Do  

SkyViewer is an OpenGL based program to display HEALPix-based skymaps, saved in FITS format files. The loaded skymaps can be viewed either on a 3D sphere or as a Mollweide projection. In either case, realtime panning and zooming are supported, along with rotations for the 3D sphere view, assuming you have a strong enough graphics card.

The program was developed and tested in a Red Hat Linux environment, but it should also build under Windows and Max OSX.

This version of Skyviewer represents a major redesign and improvement over previous versions. Any comments or suggestions will be greatly appreciated! Comments can be submitted through:


SkyViewer 3D Temperature Screen Shot
WMAP One-Year K1 map, as a sphere (404KB)

SkyViewer Mollweide Temperature Screen Shot
WMAP One-Year K1 map in Mollweide projection (509KB)

  • Real time rotation, zooming, and panning of map
  • Choice of 3D sphere or 2D Mollweide display
  • Pixel texture aligns with HEALPix pixel boundaries
  • Select pixel and get information for the pixel
  • Adjustable mapping from pixel value to color
  • View Temperature, Polarization or Nobs fields
  • View polarization direction vectors
  • Save screen shots to image file
  • Contextual help
  • OS agnostic

SkyViewer 3D NObs Screen Shot
Fullscreen WMAP Nobs map for K1 (313KB).



The versions described above indicate the versions used to build skyviewer when that release was developed.

Note: SkyViewer does not require installation of the entire HEALPix package, just the C library. It should be sufficient to enter the directory /path/to/Healpix_1.20/src/C/subs/ and execute the commands make and make install.


The latest version is also available from Github:


SkyViewer was developed on a Red Hat Enterprise Linux system. It has been successfully built under Microsoft Windows XP (an executable is provided for your convenience). It has also been successfully built under Mac OS 10.6 using the qt4-mac installation under Fink. Let us know if you have any success with other platforms.


Ungzip and untar the file in a convenient location, qmake and make:

tar xfz skyviewer-1.0.0.tar.gz
cd skyviewer-1.0.0/

More recent versions of HEALPix no longer include the mk_xy2pix function. It has been included in the heal.cpp file from an earlier HEALPix version and a flag has been created at the top of the file (NEED_MKXY2PIX); this is enabled by default. If not needed or wanted, remove the

#define NEED_MKXY2PIX 1
line from the top of this file.

If everything goes as planned, you should have the binary skyViewer. Put it where you like to keep your binaries and enjoy looking at sky maps in full 3D glory. Please e-mail us with any comments, questions, successes, or failures: suggestions.

Some documentation is available in a TARBALL, in a ZIP file, and in


Building it for the Mac OSX system is similar to the Unix installation. Be sure to include '-arch i386' in the compile commands when building cfitsio and HEALPix. Once the skyviewer Makefile is created, edit it to replace '-lQGLViewer' with '-framework QGLViewer'.

Microsoft Windows

The first step is to install the various required libraries. Then unpack skyviewer and follow the Unix build instructions.

The LAMBDA team has built Skyviewer under Windows and is making this executable image available to any that would like to use it. This executable was built with the following tools (built and/or installed in this order):

  1. Microsoft Windows XP SP3
  2. Open Source Qt version 2009.1.01, also installing the bundled MinGW compiler
  3. libQGLViewer 2.3.1
  4. CFITSIO 3.130
  5. HEALPix 2.10
  6. Skyviewer 1.0.0

Several DLL's from Qt and libQGLViewer are also included; these should be stored either in the same directory as the skyviewer executable or in the directory:


The program can be started with a FITS filename as an argument, which will be opened and displayed. Or if no filename is given, a File Dialog with open which can be used to select a file to view. Two windows will be present: the main Skyviewer window and a Control/Information window. The top menu of the Skyviewer window has a "Help" button that will provide information on how to use the mouse and keyboard to navigate the view. Also present are buttons for loading a new file, reloading the current file, saving an image file of the current view, changing the projection, help and exiting.

The Control/Information window is used for adjusting how the skymap is displayed, displaying information of selected Healpix pixels and information for the loaded file.

The Range tab on the Control/Information window is one of the main changes for this release. It controls how the selected skymap field is mapped to the selected Color Map. The top of the window shows a histogram of the values in the selected field, colored as they appear in the Skyview window. Vertical lines at either end of the window show the lower and upper limits of the current range. The current range can be changed via the "Lower", "Upper", "Zoom" and "Center" sliders. There are also presets for both the Zoom and Center, available via drop-down menus.

The sliders work by pulling them away from their center positions. The further from the center they are pulled, the quicker the selected value changes. As soon as any slider is released, the value it controls stops changing. This way, both small and large value changes are readily made.

From the Range tab, the projection, display field and color map can be selected. The fineness of the displayed sphere's polygon is controlled with the "Rigging" menu. The display of Polarization Vectors presently only works with the 3D Sphere projection.

The Selected tab for the Control/Information window shows the pixel values for those pixels that have been selected in the Skyview window. To select a pixel in the Skyviewer window, use "Shift-Left click" on the mouse. The selected pixel will then be high-lighted and added to the list of pixels. "Shift-Left click" on a selected will remove it from the list. Also displayed on the Selected tab are common statistics for the list of selected pixels.

When viewing the list of selected pixels, individual pixels can be selected with the mouse. This list has the usual "Shift-click" to select a range of values and "Ctrl-click" to add/remove from the selection set behavior. The selected entries in the list can then be removed from the list. To have the Skyviewer window center on one of the selected pixels,just "Double-Left-click"on the entry in the list of selected pixels.

The list of selected pixel values can be saved to an ASCII file as multi-column list, with headers.

Change Log

July 9, 2020

  • Release 1.1.0
  • QT5 modifications and built against libQGLViewer 2.7.2

July 3, 2014

  • Release 1.0.1
  • Builds against libQGLViewer 2.5.1; this required adding an explicit reference to this library's manipulatedCameraFrame.h header file.
  • Builds against HEALpix 3.1.1. This required adding mk_xy2pix from an earlier version (see above).

Mar 12, 2009

  • Microsoft Windows port

Feb 06, 2009

  • Release: 1.0.0
  • Conversion to QT 4
  • Multiple pixel selection
  • Complete redesign of the user interface

Jan 04, 2006

  • Release: 0.2.4
  • Fixed jagged edge bug in Mollweide projection

Dec 19, 2005

  • Release: 0.2.3
  • Updated to compile against libQGLViewer-2.1.1

Feb 22, 2005

  • Release: 0.2.2
  • Initial LAMBDA release
  • Minor documentation fixes

Oct 6, 2004

  • Release: 0.2.1
  • "Reload" added
  • Bugfix for identifying Polarization data

Sept 25, 2004

  • Release: 0.2
  • Texture aligns with HealPix pixels:
  • Pixel Select and info display:

Mar 30, 2004

  • Initial public release: 0.1

To Do

Planning on adding:

  • Overlay coordinate grid
  • Load multiple files
  • Tie the views of multiple files together using one range selection widget and one camera.

Please let us know what you think of this viewer, including suggestions for improvements and complaints over its interface and functionality.

A service of the HEASARC and of the Astrophysics Science Division at NASA/GSFC
Goddard Space Flight Center, National Aeronautics and Space Administration
HEASARC Director: Dr. Andrew F. Ptak
LAMBDA Director: Dr. Thomas M. Essinger-Hileman
NASA Official: Dr. Thomas M. Essinger-Hileman
Web Curator: Mr. Michael R. Greason