Power-spectrum command#

make_ps#

Calculate spatial, cylindrical, and spherical power spectra from Stokes-I and Stokes-V cubes:

$ pstool make_ps stokes_i.h5 stokes_v.h5 \
    --ps_conf pspec.ini \
    --eor_bins_list eor_bins.csv \
    --flag_config flagger.ini \
    --output_dir spectra \
    --plots_output_dir plots

An optional third positional argument supplies a time-difference noise cube:

$ pstool make_ps stokes_i.h5 stokes_v.h5 time_diff.h5 \
    --ps_conf pspec.ini

Inputs and configuration#

FILE_I

Stokes-I data cube.

FILE_V

Stokes-V cube used as a noise and quality-control proxy.

FILE_DT

Optional time-difference cube representing thermal noise.

--ps_conf

A PowerSpectraConfig file controlling UV limits, frequency transform, weighting, primary beam, and spherical binning.

--eor_bins_list

A CSV list of named frequency ranges. Without it, the command uses one bin covering the full input band.

--flag_config

A flagger pipeline applied consistently to Stokes I, Stokes V, and the optional time-difference cube.

Outputs#

For every valid frequency bin, the command creates a directory named from the bin and UV range. It writes text files for the spatial ps, cylindrical ps2d, and spherical ps3d estimates of each supplied cube, together with PDF diagnostics. Bins narrower than 2 MHz are skipped.

The Stokes-I auto spectrum includes its noise bias. Stokes V and the optional time-difference product are reported separately; this command does not automatically turn them into a noise-debiased Stokes-I spectrum.

Python API. Reload the text products with ps_eor.pspec.SpatialPowerSpectra.load(), ps_eor.pspec.CylindricalPowerSpectra.load(), and ps_eor.pspec.SphericalPowerSpectra.load_from_txt(). See Power-spectrum estimation and the power-spectrum API.