HEALPix Library for MATLAB


1. Overview


This library provides some useful functions for using the HEALPix pixelization implemented on MATLAB. The HEALPix is a pixelization scheme of a spherical surface having advantageous features as follows.


Originally, a purpose of this sampling method is an efficient storage and processing of large sets of data for astronomical research. Also the method is beneficial when we want to handle mathematical functions defined on spherical surface.


This library provides the following functions.


2. Environment

Operation of this library have confirmed on the following environments.


3. Download

Downloads are available from here.


4. Demonstration

As for details, refer "Readme.txt" which is included in package. Usages of the top level functions are written as help comment in each file.

a) Basic functions for pixelization

Given a resolution of the grid, "HealpixGenerateSampling.m" generates spherical coordinates or two-dimensional ring index of each sampling pixel. The pixels are ordered by so-called nested indexing.

The below is execution result of "HealpixTest.m" which plots sampling pixels of HEALPix. A resolution of grid is configurable by editing the "n" value in the script. In the example below, n = 16.

b) Visualization of pixel meshes

The below is execution result of "for_print.m" which displays a mesh tessellation of HEALPix. A resolution of grid is configurable by editing the "n" value in the script. In the example below, n = 4.

c) The HEALPix projection

"HealpixPlaneProjBmp.m" calculates projection of 3D spherical surfaces onto 2D planes. Given both a resolution of the HEALPix grid, and 2D plane, "HealpixPlaneProjBmp" creates 2D bitmap of the specified resolution. If a resolution of 2D plane was higher than the one of 3D surface, bitmap is rendered by means of linear interpolation.

The above figure is execution result of "ProjectionTest.m" which displays HEALPix projection of a function defined in "DebugFunc.m." Its resolution parameters are specified by the variable n, n_x, and n_y in the script. In this example, n = 32, n_x = 512, and n_y = 256.

c) The Haar transform

The figure below is execution result of "HaarTest.m" which displays a histogram of coefficients of the Haar transform on HEALPix. Easy explanation about definition of the Haar transform on HEALPix is shown in Jason McEwen, "Data compression on the sphere with spherical Haar wavelets," Astronomical Data Analysis V, Crete, 2008. In this example, transform target data is defined by "DebugFunc.m."

You can easily confirm sparsity of the signal when expressed in the wavelet basis, which is exploitable for many purposes such as data compression and compressed sensing.


8.History

2011/02/05 Version 1.0 The first issue


9.Disclaimer

The author does not compensate any possible harms caused by this application.

Only those who have agreed this have the right to use this application.


10.Contact to author

Yousuke NARUSE

http://homepage2.nifty.com/plasma/