CMM.preset.preset_acquisition module

class CMM.preset.preset_acquisition.PresetAcquisition(seed_noise, preset_tools, preset_external, preset_qubic, preset_sky, preset_comp, preset_mixing_matrix, preset_gain)[source]

Bases: object

Preset Acquisition.

Instance to initialize the Components Map-Making. It defines the data acquisition variables and methods.

Parameters:
  • seed_noise (int) – Seed for random noise generation.

  • preset_tools (object) – Class containing tools and simulation parameters.

  • preset_external (object) – Class containing external variables and methods.

  • preset_qubic (object) – Class containing qubic operator and variables and methods.

  • preset_sky (object) – Class containing sky varaibles and methods.

  • preset_comp (object) – Class containing component variables and methods.

  • preset_mixing_matrix (object) – Class containing mixing-matrix variables and methods.

  • preset_gain (object) – Class containing detector gain variables and methods.

seed_noise

Seed for random noise realization.

Type:

int

params_foregrounds

Dictionary containing the paramters associated with foregrounds.

Type:

dict

rms_tolerance

Tolerance for PCG algorithm.

Type:

float

ites_to_converge

Max iteration number for PCG algorithm.

Type:

int

invN

Inverse noise covariance matrix with input shape \((N_{det}*N_{samples} + N_{pix}*N_{planck}*N_{stokes})\) and output shape \((N_{det}*N_{samples} + N_{pix}*N_{planck}*N_{stokes})\).

Type:

BlockDiagonalOperator

M

Preconditioner for PCG algorithm.

Type:

DiagonalOperator

fwhm_rec

Resolution of the reconstructed maps.

Type:

array_like

H

Pointing matrix.

Type:

BlockColumnOperator

TOD_qubic

QUBIC simulated TOD.

Type:

array_like

TOD_external

Planck simulated TOD.

Type:

array_like

TOD_obs

Simulated observed TOD.

Type:

array_like

beta_iter

Spectral indices, if d1 \((12 \times Nside_{\beta}^2, N_{comp}-1)\), if not \((N_{comp}-1)\).

Type:

array_like

allbeta

Spectral indeices, if d1 \((iter, 12 \times Nside_{\beta}^2, N_{comp}-1)\), if not \((iter, N_{comp}-1)\).

Type:

array_like

Amm_iter

Mixing matrix.

Type:

array_like

Methods

get_approx_hth()

Approx HTH.

get_convolution()

Convolutions.

get_noise()

Noise.

get_preconditioner(A_qubic, A_ext[, ...])

Preconditioner for PCG algorithm.

get_tod()

TOD.

get_x0()

PCG starting point.

get_approx_hth()[source]

Approx HTH.

Calculates the approximation of \(H^T.H\).

Returns:

  • approx_hth (array_like) – The approximation of \(H^T.H\) with shape \((N_{sub}^{in}, N_{pixel}, 3)\).

  • approx_hth_ext (array_like) – The approximation of \(H^T.H\) for Planck.

get_convolution()[source]

Convolutions.

Method to define all angular resolutions of the instrument at each frequency.

This method sets the Full Width at Half Maximum (FWHM) for Time-Ordered Data (TOD) and map-making processes. self.fwhm_tod represents the real angular resolution, and self.fwhm_mapmaking represents the beams used for reconstruction.

The method checks the convolution_in and convolution_out parameters to determine the appropriate FWHM values. It also calculates the reconstructed FWHM based on these parameters.

Returns:

  • fwhm_tod (array_like) – Resolutions to create input TOD.

  • fwhm_mapmaking (array_like) – Resolutions for map-making.

  • fwhm_rec (array_like) – Resolutions of reconstructed maps.

get_noise()[source]

Noise.

Method to define QUBIC noise, can generate Dual band or Wide Band noise by following:

  • Dual Band: n = [Ndet + Npho_150, Ndet + Npho_220]

  • Wide Band: n = [Ndet + Npho_150 + Npho_220]

Depending on the instrument type specified in the preset_qubic parameters, this method will instantiate either QubicWideBandNoise or QubicDualBandNoise and return the total noise.

Returns:

noise – The total noise array, flattened.

Return type:

array_like

get_preconditioner(A_qubic, A_ext, precond=True, thr=0)[source]

Preconditioner for PCG algorithm.

Calculates and returns the preconditioner matrix for the optimization process.

Parameters:
  • A_qubic (array_like) – QUBIC mixing matrix.

  • A_ext (array_like) – Planck mixing matrix.

  • precond (bool, optional) – Tells if you want a precontioner or not, by default True

  • thr (int, optional) – Threshold to define the pixels seen by QUBIC, by default 0

Returns:

M – Preconditioner for PCG algorithm.

Return type:

DiagonalOperator

get_tod()[source]

TOD.

Generate fake observational data from QUBIC and external experiments.

This method simulates observational data, including astrophysical foregrounds contamination using self.beta and systematics using self.g. The data generation follows the formula: \(\vec{d} = H.A.\vec{c} + \vec{n}\).

H

Pointing matrix operator.

Type:

Operator

TOD_qubic

The simulated observational data for QUBIC.

Type:

array_like

TOD_external

The simulated observational data for external experiments.

Type:

array_like

TOD_obs

The combined observational data from QUBIC and external experiments.

Type:

array_like

nsampling_x_ndetectors

The number of samples in self.TOD_qubic.

Type:

int

get_x0()[source]

PCG starting point.

Define starting point of the convergence.

The argument ‘set_comp_to_0’ multiplies the pixel values by a given factor. You can decide to convolve the map by a beam with an FWHM in radians.

This method initializes the beta_iter and Amm_iter attributes based on the foreground model parameters. It also applies convolution and noise to the components based on the preset parameters.

Raises:

TypeError – If an unrecognized component name is encountered.