A GPU-accelerated viewer for HEALPix maps
HEALPix by Górski et al. (2005) is de-facto standard for Cosmic Microwave Background (CMB) data storage and analysis, and is widely used in current and upcoming CMB experiments. Almost all the datasets in Legacy Archive for Microwave Background Data Analysis (LAMBDA) use HEALPix as a format of choice. HEALPix Viewer is a macOS application which takes full advantage of GPU acceleration to visualize extremely large datasets in real time. HEALPix Viewer was written by Andrei Frolov for his early Universe research. The source code is published and distributed under the terms of GNU Public License.
If you use HEALPix Viewer in your research, please cite arXiv:2305.11507 (the preprint describing HEALPix Viewer internals and user interface).
Features
HEALPix Viewer Features
- modern macOS interface (SwiftUI based)
- heavily GPU accelerated (almost everything except loading and sorting)
- supports really large maps in real time (tested with nside=8192)
- high quality map rendering (LOD, Lanczos oversampling built in, GPU accelerated)
- integrates into your workflow - drag & drop maps into Keynote/PowerPoint, etc.
- shortcuts for common analysis actions - statistics, PDF, data transforms
- extensible architecture - easily add your own colormaps, transforms, etc.
- entire source code available (Swift, C, Metal), about 6.8k lines
Caveats
- requires macOS 12, some features (notably charts) need macOS 13+ to run
- multiple GPUs are not supported, can select one from device list
- memory hungry: nside=2048 map needs 0.8Gb of available VRAM in 32 bits
- maximal texture size and output image dimensions are limited to 16384
- testing is done on a finite set of hardware, mostly recent M1 and M2 machines
- feature requests are welcome, but some are harder to implement than others
Image Gallery
Sample HEALPix files
Digital Earth elevation maps (derived from 15" resolution data)
Cosmology and astrophysics maps
Download
Stable binary releases
See change log for complete development history.
Modified by Andrei Frolov <frolov@sfu.ca> on 2023-09-15