The output maps of the GLS are in the form
[I_1, Q_1, U_1, I_2, Q_2, U_2, ...]. Following the typical conventions,
the Stokes parameters have to be separated as [I_1, I_2, ...],
[Q_1, Q_2, ...] and [U_1, U_2, ...]. This function performs this operation
ane returns the maps of different Stokes parameters separately.
Parameters:
Name |
Type |
Description |
Default |
map_vector
|
ndarray
|
|
required
|
processed_samples
|
ProcessTimeSamples
|
|
required
|
Returns:
Source code in brahmap/core/GLS.py
| def separate_map_vectors(
map_vector: np.ndarray, processed_samples: ProcessTimeSamples
) -> np.ndarray:
"""The output maps of the GLS are in the form
[I_1, Q_1, U_1, I_2, Q_2, U_2, ...]. Following the typical conventions,
the Stokes parameters have to be separated as [I_1, I_2, ...],
[Q_1, Q_2, ...] and [U_1, U_2, ...]. This function performs this operation
ane returns the maps of different Stokes parameters separately.
Parameters
----------
map_vector : np.ndarray
_description_
processed_samples : ProcessTimeSamples
_description_
Returns
-------
np.ndarray
_description_
"""
try:
map_vector = np.reshape(
map_vector,
shape=(processed_samples.solver_type, processed_samples.new_npix),
order="F",
)
except TypeError:
# `newshape` parameter has been deprecated since numpy 2.1.0. This part should be removed once the support is dropped for lower version
map_vector = np.reshape(
map_vector,
newshape=(processed_samples.solver_type, processed_samples.new_npix),
order="F",
)
output_maps = np.ma.MaskedArray(
data=np.empty(processed_samples.npix, dtype=processed_samples.dtype_float),
mask=~processed_samples.pixel_flag,
fill_value=-1.6375e30,
)
output_maps = np.tile(A=output_maps, reps=(processed_samples.solver_type, 1))
for idx in range(processed_samples.solver_type):
output_maps[idx][~output_maps[idx].mask] = map_vector[idx]
return output_maps
|