foscat.scat_cov_map2D#

Classes#

Module Contents#

class foscat.scat_cov_map2D.scat_cov_map(S2, S0, S3, S4, S1=None, S3P=None, backend=None)[source]#

Bases: foscat.scat_cov.funct

S2#
S0#
S1 = None#
S3#
S3P = None#
S4#
backend = None#
bk_type = 'SCAT_COV_MAP2D'#
fill(im, nullval=0)[source]#
class foscat.scat_cov_map2D.funct(*args, **kwargs)[source]#

Bases: foscat.scat_cov.funct

eval(image1, image2=None, mask=None, norm=None, calc_var=False, Jmax=None)[source]#

Calculates the scattering correlations for a batch of images. Mean are done over pixels. mean of modulus:

S1 = <|I * Psi_j3|>

Normalization : take the log

power spectrum:

S2 = <|I * Psi_j3|^2>

Normalization : take the log

orig. x modulus:

S3 = < (I * Psi)_j3 x (|I * Psi_j2| * Psi_j3)^* >

Normalization : divide by (S2_j2 * S2_j3)^0.5

modulus x modulus:

S4 = <(|I * psi1| * psi3)(|I * psi2| * psi3)^*>

Normalization : divide by (S2_j1 * S2_j2)^0.5

Parameters:
  • image1 (tensor) – Image on which we compute the scattering coefficients [Nbatch, Npix, 1, 1]

  • image2 (tensor) – Second image. If not None, we compute cross-scattering covariance coefficients.

  • mask

  • norm (None or str) – If None no normalization is applied, if ‘auto’ normalize by the reference S2, if ‘self’ normalize by the current S2.

  • spin (Integer) – If different from 0 compute spinned data (U,V to Divergence/Rotational spin==1) or (Q,U to E,B spin=2). This implies that the input data is 2*12*nside^2.

Returns:

S1, S2, S3, S4 normalized

scat_coeffs_apply(scat, method, no_order_1=False, no_order_2=False, no_order_3=False)[source]#
scat_ud_grade_2(scat, no_order_1=False, no_order_2=False, no_order_3=False)[source]#
iso_mean(scat, no_order_1=False, no_order_2=False, no_order_3=False)[source]#
fft_ang(scat, nharm=1, imaginary=False, no_order_1=False, no_order_2=False, no_order_3=False)[source]#