foscat.SphereUpGeo#

Classes#

SphereUpGeo

Geometric HEALPix upsampling operator using the transpose of SphereDownGeo.

Module Contents#

class foscat.SphereUpGeo.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)[source]#

Bases: 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

device = None#
dtype = Ellipsis#
nside_out#
nside_in#
N_out#
N_in#
up_norm = ''#
eps#
cell_ids_out_np#
K_out#
M_size#
M_T#
forward(x: torch.Tensor)[source]#

x: [B, C, K_out] -> x_up: [B, C, N_in].