Source code for slsim.Sources.QuasarCatalog.quasar_plus_galaxies
import numpy as np
from slsim.Pipelines.skypy_pipeline import SkyPyPipeline
from astropy.units import Quantity
from astropy.table import Column
[docs]
def quasar_galaxies_simple(
m_min=17,
m_max=23,
amp_min=0.9,
amp_max=1.3,
freq_min=0.5,
freq_max=1.5,
sky_area=Quantity(value=0.1, unit="deg2"),
):
"""Creates an simple catalog of quasars and host galaxies. It generate random
magnitude values in r, g, and i band for quasars. Also, generates amplitude and
frequency for each source. Then, adds all these quasar properties to the galaxy
catalog produced by skypy.
:param z_max: maximum redshift for sources
:param m_min: minimum magnitude for sources in r band
:param m_max: maximum magnitude for sources in r band
:param amp_min: minimum amplitude for sources
:param amp_max: maximum amplitude for sources
:param freq_min: minimum frequency for sources
:param freq_max: maximum frequency for sources
:return: an astropy table of quasars and host galaxies catalog
"""
pipeline = SkyPyPipeline(
skypy_config=None,
sky_area=sky_area,
filters=None,
cosmo=None,
)
catalog = pipeline.red_galaxies
magnitude_r = np.random.uniform(m_min, m_max, len(catalog))
magnitude_g = magnitude_r - 0.5
magnitude_i = magnitude_r + 0.2
amplitude = np.random.uniform(amp_min, amp_max, len(catalog))
frequency = np.random.uniform(freq_min, freq_max, len(catalog))
mag_r_col = Column(name="ps_mag_r", data=magnitude_r)
mag_g_col = Column(name="ps_mag_g", data=magnitude_g)
mag_i_col = Column(name="ps_mag_i", data=magnitude_i)
freq_col = Column(name="freq", data=frequency)
amp_col = Column(name="amp", data=amplitude)
catalog.add_columns([mag_r_col, mag_g_col, mag_i_col, amp_col, freq_col])
return catalog