LevelS SHT library  3.50
Functions
Functions for dealing with geometry information

Functions

void sharp_make_subset_healpix_geom_info (int nside, int stride, int nrings, const int *rings, const double *weight, sharp_geom_info **geom_info)
 
void sharp_make_weighted_healpix_geom_info (int nside, int stride, const double *weight, sharp_geom_info **geom_info)
 
void sharp_make_gauss_geom_info (int nrings, int nphi, double phi0, int stride_lon, int stride_lat, sharp_geom_info **geom_info)
 
void sharp_make_fejer1_geom_info (int nrings, int nphi, double phi0, int stride_lon, int stride_lat, sharp_geom_info **geom_info)
 
void sharp_make_cc_geom_info (int nrings, int ppring, double phi0, int stride_lon, int stride_lat, sharp_geom_info **geom_info)
 
void sharp_make_fejer2_geom_info (int nrings, int ppring, double phi0, int stride_lon, int stride_lat, sharp_geom_info **geom_info)
 
void sharp_make_mw_geom_info (int nrings, int ppring, double phi0, int stride_lon, int stride_lat, sharp_geom_info **geom_info)
 
void sharp_make_geom_info (int nrings, const int *nph, const ptrdiff_t *ofs, const int *stride, const double *phi0, const double *theta, const double *wgt, sharp_geom_info **geom_info)
 
ptrdiff_t sharp_map_size (const sharp_geom_info *info)
 
void sharp_destroy_geom_info (sharp_geom_info *info)
 

Detailed Description

Function Documentation

◆ sharp_make_subset_healpix_geom_info()

void sharp_make_subset_healpix_geom_info ( int  nside,
int  stride,
int  nrings,
const int *  rings,
const double *  weight,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing a HEALPix map with an Nside parameter nside. weight contains the relative ring weights and must have 2*nside entries. The rings array contains the indices of the rings, with 1 being the first ring at the north pole; if NULL then we take them to be sequential. Pass 4 * nside - 1 as nrings and NULL to rings to get the full HEALPix grid.

Note
if weight is a null pointer, all weights are assumed to be 1.
if rings is a null pointer, take all rings

Definition at line 38 of file sharp_geomhelpers.c.

◆ sharp_make_weighted_healpix_geom_info()

void sharp_make_weighted_healpix_geom_info ( int  nside,
int  stride,
const double *  weight,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing a HEALPix map with an Nside parameter nside. weight contains the relative ring weights and must have 2*nside entries.

Note
if weight is a null pointer, all weights are assumed to be 1.

Definition at line 102 of file sharp_geomhelpers.c.

◆ sharp_make_gauss_geom_info()

void sharp_make_gauss_geom_info ( int  nrings,
int  nphi,
double  phi0,
int  stride_lon,
int  stride_lat,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing a Gaussian map with nrings iso-latitude rings and nphi pixels per ring. The azimuth of the first pixel in each ring is phi0 (in radians). The index difference between two adjacent pixels in an iso-latitude ring is stride_lon, the index difference between the two start pixels in consecutive iso-latitude rings is stride_lat.

Definition at line 108 of file sharp_geomhelpers.c.

◆ sharp_make_fejer1_geom_info()

void sharp_make_fejer1_geom_info ( int  nrings,
int  nphi,
double  phi0,
int  stride_lon,
int  stride_lat,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing an ECP map with nrings iso-latitude rings and nphi pixels per ring. The azimuth of the first pixel in each ring is phi0 (in radians). The index difference between two adjacent pixels in an iso-latitude ring is stride_lon, the index difference between the two start pixels in consecutive iso-latitude rings is stride_lat.

Note
The spacing of pixel centers is equidistant in colatitude and longitude.
The sphere is pixelized in a way that the colatitude of the first ring is 0.5*(pi/nrings) and the colatitude of the last ring is pi-0.5*(pi/nrings). There are no pixel centers at the poles.
This grid corresponds to Fejer's first rule.

Definition at line 143 of file sharp_geomhelpers.c.

◆ sharp_make_cc_geom_info()

void sharp_make_cc_geom_info ( int  nrings,
int  ppring,
double  phi0,
int  stride_lon,
int  stride_lat,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing an ECP map with nrings iso-latitude rings and nphi pixels per ring. The azimuth of the first pixel in each ring is phi0 (in radians). The index difference between two adjacent pixels in an iso-latitude ring is stride_lon, the index difference between the two start pixels in consecutive iso-latitude rings is stride_lat.

Note
The spacing of pixel centers is equidistant in colatitude and longitude.
The sphere is pixelized in a way that the colatitude of the first ring is 0 and that of the last ring is pi.
This grid corresponds to Clenshaw-Curtis integration.

Definition at line 190 of file sharp_geomhelpers.c.

◆ sharp_make_fejer2_geom_info()

void sharp_make_fejer2_geom_info ( int  nrings,
int  ppring,
double  phi0,
int  stride_lon,
int  stride_lat,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing an ECP map with nrings iso-latitude rings and nphi pixels per ring. The azimuth of the first pixel in each ring is phi0 (in radians). The index difference between two adjacent pixels in an iso-latitude ring is stride_lon, the index difference between the two start pixels in consecutive iso-latitude rings is stride_lat.

Note
The spacing of pixel centers is equidistant in colatitude and longitude.
The sphere is pixelized in a way that the colatitude of the first ring is pi/(nrings+1) and that of the last ring is pi-pi/(nrings+1).
This grid corresponds to Fejer's second rule.

Definition at line 239 of file sharp_geomhelpers.c.

◆ sharp_make_mw_geom_info()

void sharp_make_mw_geom_info ( int  nrings,
int  ppring,
double  phi0,
int  stride_lon,
int  stride_lat,
sharp_geom_info **  geom_info 
)

Creates a geometry information describing a map with nrings iso-latitude rings and nphi pixels per ring. The azimuth of the first pixel in each ring is phi0 (in radians). The index difference between two adjacent pixels in an iso-latitude ring is stride_lon, the index difference between the two start pixels in consecutive iso-latitude rings is stride_lat.

Note
The spacing of pixel centers is equidistant in colatitude and longitude.
The sphere is pixelized in a way that the colatitude of the first ring is pi/(2*nrings-1) and that of the last ring is pi.
This is the grid introduced by McEwen & Wiaux 2011.
This function does not define any quadrature weights.

Definition at line 286 of file sharp_geomhelpers.c.

◆ sharp_make_geom_info()

void sharp_make_geom_info ( int  nrings,
const int *  nph,
const ptrdiff_t *  ofs,
const int *  stride,
const double *  phi0,
const double *  theta,
const double *  wgt,
sharp_geom_info **  geom_info 
)

Creates a geometry information from a set of ring descriptions. All arrays passed to this function must have nrings elements.

Parameters
nringsthe number of rings in the map
nphthe number of pixels in each ring
ofsthe index of the first pixel in each ring in the map array
stridethe stride between consecutive pixels
phi0the azimuth (in radians) of the first pixel in each ring
thetathe colatitude (in radians) of each ring
wgtthe pixel weight to be used for the ring in map2alm and adjoint map2alm transforms. Pass NULL to use 1.0 as weight for all rings.
geom_infowill hold a pointer to the newly created data structure

Definition at line 198 of file sharp.c.

◆ sharp_map_size()

ptrdiff_t sharp_map_size ( const sharp_geom_info *  info)

Counts the number of grid points needed for (the local part of) a map described by info.

Definition at line 248 of file sharp.c.

◆ sharp_destroy_geom_info()

void sharp_destroy_geom_info ( sharp_geom_info *  info)

Deallocates the geometry information in info.

Definition at line 259 of file sharp.c.


Generated on Mon Dec 10 2018 10:24:20 for LevelS SHT library