Quickstart
Using PREFACE involves four steps:
Configure the observing instrument with
TelescopeConfigurations.Define the observing window and output options with
OutputConfigurations.Optionally configure moonlight modelling and multiprocessing with
MoonlightNoiseConfigurationsandMultiprocessingConfigurations.Execute the complete pipeline with
run_preface().
Input validation is performed automatically before pipeline execution.
Example
The following example runs PREFACE over an observing window from October 2025 to December 2025, using the TNT ULTRASPEC instrument with moonlight modelling and multiprocessing enabled:
import datetime as dt
from preface import run_preface
from preface.configs import (
TelescopeConfigurations,
OutputConfigurations,
MoonlightNoiseConfigurations,
MultiprocessingConfigurations,
)
ObsStart = dt.datetime(2025, 10, 1)
ObsEnd = dt.datetime(2026, 1, 1)
OutputFolder = r"C:\PREFACE_Output"
TelescopeConfigs = TelescopeConfigurations(
instrument="TNT ULTRASPEC",
filter_name="r",
run_mode="Half_Well",
toggle_sky_noise=True,
toggle_defocus=False
)
OutputConfigs = OutputConfigurations(
observation_start=ObsStart,
observation_end=ObsEnd,
output_folder=OutputFolder,
metric_mode="Rank",
viable_cumulative_cut=0.97
toggle_graph_outputs=True,
event_weight_graph_threshold=0.75
)
MoonlightConfigs = MoonlightNoiseConfigurations(
toggle_moonlight_noise=True,
scattering_aod=0.2,
absorption_aod=0.3,
asymmetry_factor=0.6,
moonlight_amplification_factor=10
)
MultiprocessingConfigs = MultiprocessingConfigurations(
toggle_multiprocessing=True,
cores_to_leave_out=2
)
run_preface(
TelescopeConfigurations=TelescopeConfigs,
OutputConfigurations=OutputConfigs,
MoonlightNoiseConfigurations=MoonlightConfigs,
MultiprocessingConfigurations=MultiprocessingConfigs
)