Foreground Filtering
API
BPJSpec.foreground_filter! — Function.foreground_filter!(output_mmodes, output_transfermatrix, output_covariance,
output_foreground_filter, output_noise_whitener,
input_mmodes, input_transfermatrix, input_noisematrix,
input_signalmatrix, input_foregroundmatrix;
threshold=0.1, tempdir="/tmp", cleanup=true)Filter foreground emission from the dataset and whiten the noise.
Arguments:
output_mmodeswill be populated with the foreground filtered $m$-modesoutput_transfermatrixwill be populated with the foreground-filtered transfer-matrixoutput_covariancewill be populated with the covariance matrix of the output $m$-modesoutput_foreground_filteris the matrix used to filter foreground emissionoutput_noise_whiteneris the matrix used to whiten the noise covariance (the thermal noise and the foreground contribution)input_mmodesis the measured input $m$-modesinput_transfermatrixis the transfer matrix describing the response of the interferometerinput_noisematrixis the thermal noise covariance matrixinput_signalmatrixis the covariance matrix due to the 21-cm power spectruminput_foregroundmatrixis the covariance matrix due to the foreground radio emission
Please pay attention to the argument order. Swapping arguments could lead to this function filtering all of the 21-cm signal while leaving the foreground emission in tact!
Keyword Arguments:
thresholdis the maximum allowed foreground-signal ratiotempdiris a path to a directory where temporary files can be placedcleanupdetermines whether or not files placed in thetempdirare automatically removed. This can be set tofalseif you wish to check some of the intermediate output.
BPJSpec.ForegroundComponent — Type.struct ForegroundComponent <: SkyComponentThis type represents the contribution of a single foreground component to the multi-frequency angular power spectrum.
Fields:
ν0specifies the reference frequencyAspecifies the overall amplitude at the reference frequencyαis the power-law index for the multipole moment $l$βis the power-law index for frequencyζessentially determines how quickly the foreground component decorrelates in frequency
Usage:
Some quick foreground models can be constructed based on the work of Santos, Cooray & Knox 2005. These can be accessed with the functions extragalactic_point_sources, extragalactic_free_free, galactic_synchrotron, and galactic_free_free.
julia> BPJSpec.extragalactic_point_sources()
ForegroundComponent(ν0 = 130.000 MHz, A = 57.000 mK², α = 1.100, β = 2.070, ζ = 1.000)
julia> BPJSpec.extragalactic_free_free()
ForegroundComponent(ν0 = 130.000 MHz, A = 0.014 mK², α = 1.000, β = 2.100, ζ = 35.000)
julia> BPJSpec.galactic_synchrotron()
ForegroundComponent(ν0 = 130.000 MHz, A = 700.000 mK², α = 2.400, β = 2.800, ζ = 4.000)
julia> BPJSpec.galactic_free_free()
ForegroundComponent(ν0 = 130.000 MHz, A = 0.088 mK², α = 3.000, β = 2.150, ζ = 35.000)
julia> component = BPJSpec.ForegroundComponent(100u"MHz", 1u"K^2", 1, 1, 100)
component(100, 74u"MHz", 76u"MHz")
17.622494197510505 K^2BPJSpec.CylindricalPS — Type.struct CylindricalPS <: PowerSpectrum <: SkyComponentThis type represents a cylindrically averaged power spectrum of the 21-cm brightness temperature over a given range in redshift. An instance of this type can be evaluated to compute an approximation of the multi-frequency angular power spectrum.
Fields:
zrangespecifies the range over which this power spectrum is valid. It is used to define the range over which cosmological quantities can be approximatedkparais a list of wave numbers parallel to the line-of-sightkperpis a list of wave numbers perpendicular to the line-of-sightpoweris the amplitude of the power spectrum at the grid points specified bykparaandkperp
Usage:
julia> power_spectrum = BPJSpec.CylindricalPS((10, 30),
[0.0, 1.0].*u"Mpc^-1", # kpara
[0.0, 1.0].*u"Mpc^-1", # kperp
[1.0 1.0; 1.0 1.0].*u"mK^2*Mpc^3")
CylindricalPS(10.0 < z < 30.0, k∥ = 0.00 Mpc⁻¹…1.00 Mpc⁻², k⟂ = 0.00 Mpc⁻¹…1.00 Mpc⁻², P ~ 1.0 mK²Mpc³)
julia> power_spectrum(100, 74u"MHz", 74u"MHz")
2.694677277820449e-15 K^2
julia> power_spectrum(100, 74u"MHz", 75u"MHz")
-4.315090053966302e-17 K^2BPJSpec.extragalactic_point_sources — Function.extragalactic_point_sources()Constructs a model of extragalactic point sources based on the work of Santos, Cooray & Knox 2005.
BPJSpec.extragalactic_free_free — Function.extragalactic_free_free()Constructs a model of extragalactic free-free emission based on the work of Santos, Cooray & Knox 2005.
BPJSpec.galactic_synchrotron — Function.galactic_synchrotron()Constructs a model of galactic synchrotron emission based on the work of Santos, Cooray & Knox 2005.
BPJSpec.galactic_free_free — Function.galactic_free_free()Constructs a model of galactic free-free emission based on the work of Santos, Cooray & Knox 2005.