draco.analysis.mapmaker

Map making from driftscan data using the m-mode formalism.

Functions

pinv_svd(M[, acond, rcond])

Generate the pseudo-inverse from an svd.

Classes

BaseMapMaker()

Rudimetary m-mode map maker.

DirtyMapMaker()

Generate a dirty map.

MaximumLikelihoodMapMaker()

Generate a Maximum Likelihood map using the Moore-Penrose pseudo-inverse.

WienerMapMaker()

Generate a Wiener filtered map.

class draco.analysis.mapmaker.BaseMapMaker[source]

Bases: SingleTask

Rudimetary m-mode map maker.

nside

Resolution of output Healpix map.

Type:

int

Initialize pipeline task.

May be overridden with no arguments. Will be called after any config.Property attributes are set and after ‘input’ and ‘requires’ keys are set up.

process(mmodes)[source]

Make a map from the given m-modes.

Parameters:

mmodes (containers.MModes) – Data to map

Returns:

map

Return type:

containers.Map

setup(bt)[source]

Set the beamtransfer matrices to use.

Parameters:

bt (beamtransfer.BeamTransfer or manager.ProductManager) – Beam transfer manager object (or ProductManager) containing all the pre-generated beam transfer matrices.

class draco.analysis.mapmaker.DirtyMapMaker[source]

Bases: BaseMapMaker

Generate a dirty map.

Notes

The dirty map is produced by generating a set of \(a_{lm}\) coefficients using

\[\hat{\mathbf{a}} = \mathbf{B}^\dagger \mathbf{N}^{-1} \mathbf{v}\]

and then performing the spherical harmonic transform to get the sky intensity.

Initialize pipeline task.

May be overridden with no arguments. Will be called after any config.Property attributes are set and after ‘input’ and ‘requires’ keys are set up.

class draco.analysis.mapmaker.MaximumLikelihoodMapMaker[source]

Bases: BaseMapMaker

Generate a Maximum Likelihood map using the Moore-Penrose pseudo-inverse.

Notes

The dirty map is produced by generating a set of \(a_{lm}\) coefficients using

\[\hat{\mathbf{a}} = \left( \mathbf{N}^{-1/2 }\mathbf{B} \right) ^+ \mathbf{N}^{-1/2} \mathbf{v}\]

where the superscript \(+\) denotes the pseudo-inverse.

Initialize pipeline task.

May be overridden with no arguments. Will be called after any config.Property attributes are set and after ‘input’ and ‘requires’ keys are set up.

class draco.analysis.mapmaker.WienerMapMaker[source]

Bases: BaseMapMaker

Generate a Wiener filtered map.

Assumes that the signal is a Gaussian random field described by a power-law power spectum.

prior_amp

An amplitude prior to use for the map maker. In Kelvin.

Type:

float

prior_tilt

Power law index prior for the power spectrum.

Type:

float

Notes

The Wiener map is produced by generating a set of \(a_{lm}\) coefficients using

\[\hat{\mathbf{a}} = \left( \mathbf{S}^{-1} + \mathbf{B}^\dagger \mathbf{N}^{-1} \mathbf{B} \right)^{-1} \mathbf{B}^\dagger \mathbf{N}^{-1} \mathbf{v}\]

where the signal covariance matrix \(\mathbf{S}\) is assumed to be governed by a power law power spectrum for each polarisation component.

Initialize pipeline task.

May be overridden with no arguments. Will be called after any config.Property attributes are set and after ‘input’ and ‘requires’ keys are set up.

draco.analysis.mapmaker.pinv_svd(M, acond=0.0001, rcond=0.001)[source]

Generate the pseudo-inverse from an svd.

Not really clear why I’m not just using la.pinv2 instead