foscat.SphereUpGeo ================== .. py:module:: foscat.SphereUpGeo Classes ------- .. autoapisummary:: foscat.SphereUpGeo.SphereUpGeo Module Contents --------------- .. py:class:: SphereUpGeo(nside_out: int, cell_ids_out, radius_deg: float | None = None, sigma_deg: float | None = None, weight_norm: str = 'l1', up_norm: str = 'col_l1', eps: float = 1e-12, device=None, dtype=torch.float32) Bases: :py:obj:`torch.nn.Module` Geometric HEALPix upsampling operator using the transpose of SphereDownGeo. `cell_ids_out` (coarse pixels at nside_out, NESTED) is mandatory. Forward expects x of shape [B, C, K_out] aligned with that order. Output is a full fine-grid map [B, C, N_in] at nside_in = 2*nside_out. Normalization (diagonal corrections): - up_norm='adjoint': x_up = M^T x - up_norm='col_l1': x_up = (M^T x) / col_sum, col_sum[i] = sum_k M[k,i] - up_norm='diag_l2': x_up = (M^T x) / col_l2, col_l2[i] = sum_k M[k,i]^2 .. py:attribute:: device :value: None .. py:attribute:: dtype :value: Ellipsis .. py:attribute:: nside_out .. py:attribute:: nside_in .. py:attribute:: N_out .. py:attribute:: N_in .. py:attribute:: up_norm :value: '' .. py:attribute:: eps .. py:attribute:: cell_ids_out_np .. py:attribute:: K_out .. py:attribute:: M_size .. py:attribute:: M_T .. py:method:: forward(x: torch.Tensor) x: [B, C, K_out] -> x_up: [B, C, N_in].