sph_tools - a helper module for spherical harmonic transformation#
Routines for generalized map2alm and alm2map (healpix and CAR).
- pspy.sph_tools.alm2map(alms, template)#
alm2map transform (for healpix and CAR).
- Parameters:
alms (array) – a set of alms, the shape of alms should correspond to so_map.ncomp
template (
so_map) – the map template
- pspy.sph_tools.get_alms(so_map, window, niter, lmax, theta_range=None, dtype=<class 'numpy.complex128'>, alm_conv='HEALPIX')#
Get a map, multiply by a window and return alms This is basically map2alm but with application of the window functions.
- Parameters:
so_map (
so_map) – the data we wants alms fromwindow (so_map or tuple of so_map) – a so map with the window function, if the so map has 3 components (for spin0 and 2 fields) expect a tuple (window,window_pol)
range (theta) – for healpix pixellisation you can specify a range [theta_min,theta_max] in radian. All pixel outside this range will be assumed to be zero.
alm_conv (str) – default is HEALPIX, if IAU multiply U by -1
- pspy.sph_tools.get_pure_alms(so_map, window, spinned_windows, niter, lmax, theta_range=None, alm_conv='HEALPIX')#
Compute pure alms from maps and window function
- Parameters:
so_map (
so_map) – the data we wants alms fromwindow (so_map or tuple of so_map) – a so map with the window function, if the so map has 3 components (for spin0 and 2 fields) expect a tuple (window,window_pol)
spinned_windows (list of so_map) – list of derivatives of the window function as produced by so_window.get_spinned_windows.
niter (integer) – the number of iteration performed while computing the alm not that for CAR niter=0 should be enough
lmax (integer) – the maximum multipole of the transform
range (theta) – for healpix pixellisation you can specify a range [theta_min,theta_max] in radian. All pixel outside this range will be assumed to be zero. WARNING: Untested, unsure it make sense for pure B modes.
alm_conv (str) – default is HEALPIX, if IAU multiply U by -1
- pspy.sph_tools.map2alm(map, niter, lmax, theta_range=None, dtype=<class 'numpy.complex128'>)#
Map2alm transform (for healpix or CAR).
- Parameters:
map (
so_map) – the map from which to compute the almniter (integer) – the number of iteration performed while computing the alm not that for CAR niter=0 should be enough
lmax (integer) – the maximum multipole of the transform
theta_range (list of 2 elements) – [theta_min,theta_max] in radian. for healpix pixellisation all pixel outside this range will be assumed to be zero.
- pspy.sph_tools.show_alm_triangle(alms, lmax, vmin, vmax, real=True, cmap='seismic', xlims=None, ylims=None, title='Triangle', fig_file=None)#
This routine is from the spt3g data release https://pole.uchicago.edu/public/data/quan26/index.html :param alms: a set of alms, the shape of alms should correspond to so_map.ncomp :type alms: array :param lmax: the maximum multipole of the transform :type lmax: int :param real: withtout to take the real part or not :type real: boolean :param vmin: range of the colorbar :type vmin: float :param vmax: range of the colorbar :type vmax: float :param cmap: name of the colormap :type cmap: string :param xlims: x is for the ell coordiante, y for the m coordinate :type xlims: int :param ylims: x is for the ell coordiante, y for the m coordinate :type ylims: int :param title: title, if multiple alm, will appended an integer number 0,1,2… :type title: str