Telescopes

Telescopes#

RUBIX offers the oppertunity to observe with different instruments. To define an instrument, you have to create a telescope_config and then you can load the instrument with the TelescopeFactory.

# NBVAL_IGNORE_OUTPUT
from rubix.telescope import TelescopeFactory

telescope_config = {
    "MUSE": {
        "fov": 5.0,
        "spatial_res": 0.2,
        "wave_range": [4700.15, 9351.4],
        "wave_res": 1.25,
        "lsf_fwhm": 2.51,
        "signal_to_noise": None,
        "wave_centre": 6975.775,
        "aperture_type": "square",
        "pixel_type": "square"
    }
}
# NBVAL_IGNORE_OUTPUT
factory = TelescopeFactory(telescope_config) # Uses the defined telescope configuration
telescope = factory.create_telescope("MUSE")
print(telescope)
MUSE(
  fov=5.0,
  spatial_res=0.2,
  wave_range=[4700.15, 9351.4],
  wave_res=1.25,
  lsf_fwhm=2.51,
  signal_to_noise=None,
  sbin=25,
  aperture_region=f32[625],
  pixel_type='square',
  wave_seq=f32[3721],
  wave_edges=f32[3722]
)

Predefined instruments#

Some instruments are predefined (e.g. MUSE) and you can load them without defining an own telescope_config

# NBVAL_IGNORE_OUTPUT
factory = TelescopeFactory() # Uses the default config
telescope = factory.create_telescope("MUSE")
print(telescope)
MUSE(
  fov=5.0,
  spatial_res=0.2,
  wave_range=[4700.15, 9351.4],
  wave_res=1.25,
  lsf_fwhm=2.51,
  signal_to_noise=None,
  sbin=25,
  aperture_region=f32[625],
  pixel_type='square',
  wave_seq=f32[3721],
  wave_edges=f32[3722]
)
/home/annalena/rubix/rubix/telescope/factory.py:24: UserWarning: No telescope config provided, using default stored in /home/annalena/rubix/rubix/telescope/telescopes.yaml
  warnings.warn(
from rubix.core.telescope import get_telescope

config_MUSE = {"telescope": {"name": "MUSE"}}

telescope = get_telescope(config_MUSE)
print(telescope)
MUSE(
  fov=5.0,
  spatial_res=0.2,
  wave_range=[4700.15, 9351.4],
  wave_res=1.25,
  lsf_fwhm=2.51,
  signal_to_noise=None,
  sbin=25,
  aperture_region=f32[625],
  pixel_type='square',
  wave_seq=f32[3721],
  wave_edges=f32[3722]
)
/home/annalena/rubix/rubix/telescope/factory.py:24: UserWarning: No telescope config provided, using default stored in /home/annalena/rubix/rubix/telescope/telescopes.yaml
  warnings.warn(