FOSCAT: Scattering Analysis and Synthesis on the Sphere#

FOSCAT is a Python library for wavelet/scattering-based statistical analysis, synthesis, and deep learning on 2D fields and on the sphere represented with HEALPix pixelisation.

The central idea: any spatial field can be summarised by a compact vector of scattering-covariance statistics Φ(d). Given a target field, FOSCAT can synthesise a new realisation that matches those statistics — without ever copying pixels from the original. The same statistics serve as loss functions, descriptors for classification, and morphological constraints for denoising and component separation.


Quick install#

pip install foscat

See Installation for GPU setup and a full environment recipe.


Start here#

Overview

Mathematical background: wavelet filters, scattering-covariance coefficients S0–S4, synthesis as a differentiable inverse problem, and the PyTorch backend.

Overview
Installation

Install from PyPI, set up a full environment, enable GPU acceleration.

Installation
API Reference

Auto-generated documentation of all classes and functions.

API Reference
Changelog

Version history and release notes.

Changelog

Scattering operators#

Scattering covariance (FoCUS / scat_cov)

The core operator. Creates oriented wavelet filters on HEALPix or 2D grids, evaluates S0–S4 coefficient sets, supports batching and masking.

Scattering Covariance — FoCUS / scat_cov
Synthesis engine

L-BFGS-B differentiable optimisation loop. Plug in any differentiable loss to synthesise or reconstruct fields matching target statistics.

Synthesis Engine — Synthesis and Loss
synthesis — all options

Complete reference for every parameter of scat_op.synthesis(): multi-resolution schedule, masking, upsampling, iso_ang, cross-covariance, and more.

synthesis — Complete parameter reference

Workflows#

HEALPix synthesis

Generate full-sky maps whose scattering-covariance statistics match a target HEALPix observation. Typical applications: CMB, dust, ISM emissivity.

HEALPix Synthesis
2D synthesis

Synthesise and denoise planar fields (ocean, atmosphere, cloud images) using the 2D scattering-covariance operator.

2D Synthesis and Denoising
Component separation

Separate morphologically distinct components from a mixture using scattering statistics as differentiable morphological priors.

Component Separation
Local HEALPix wavelets

Process incomplete or regional spherical domains. Build local stencils and apply wavelet convolutions on arbitrary subsets of the HEALPix sphere.

Local HEALPix Wavelets
HEALPix neural networks

Train U-Net and graph-convolutional models that operate directly on HEALPix geometry using FOSCAT oriented convolutions as the spatial primitive.

HEALPix Neural Networks
Fast synthesis — decoder U-Net

Replace slow gradient-descent synthesis with a single neural-network forward pass. Train once on a target scattering covariance; generate thousands of independent samples in milliseconds.

Fast Synthesis with a Decoder U-Net

Resources#