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_mmodes
will be populated with the foreground filtered $m$-modesoutput_transfermatrix
will be populated with the foreground-filtered transfer-matrixoutput_covariance
will be populated with the covariance matrix of the output $m$-modesoutput_foreground_filter
is the matrix used to filter foreground emissionoutput_noise_whitener
is the matrix used to whiten the noise covariance (the thermal noise and the foreground contribution)input_mmodes
is the measured input $m$-modesinput_transfermatrix
is the transfer matrix describing the response of the interferometerinput_noisematrix
is the thermal noise covariance matrixinput_signalmatrix
is the covariance matrix due to the 21-cm power spectruminput_foregroundmatrix
is 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:
threshold
is the maximum allowed foreground-signal ratiotempdir
is a path to a directory where temporary files can be placedcleanup
determines whether or not files placed in thetempdir
are automatically removed. This can be set tofalse
if you wish to check some of the intermediate output.
BPJSpec.ForegroundComponent
— Type.struct ForegroundComponent <: SkyComponent
This type represents the contribution of a single foreground component to the multi-frequency angular power spectrum.
Fields:
ν0
specifies the reference frequencyA
specifies 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^2
BPJSpec.CylindricalPS
— Type.struct CylindricalPS <: PowerSpectrum <: SkyComponent
This 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:
zrange
specifies the range over which this power spectrum is valid. It is used to define the range over which cosmological quantities can be approximatedkpara
is a list of wave numbers parallel to the line-of-sightkperp
is a list of wave numbers perpendicular to the line-of-sightpower
is the amplitude of the power spectrum at the grid points specified bykpara
andkperp
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^2
BPJSpec.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.