OpenGL-based program to display HEALPix-based sky maps from FITS format files


SkyViewer is an OpenGL-based program to display HEALPix-based sky maps from FITS format files. The program will display sky maps on a 3D sphere or a 2D Mollweide projection. Real time panning and zooming are supported, as are rotations of the 3D sphere (if you have a fast graphics card). The program was developed and tested in a Red Hat Linux environment, but it should also build under Windows and Max OSX.

SkyViewer Features:

  • 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 Usage:

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.

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!