Pipeline¶
Overview¶
The pipeline automates the full data reduction workflow for eclipsing binary observations. Once started, it monitors a directory for incoming images from the telescope, waits until the observation session ends (no new files for a configurable timeout), then automatically runs data reduction, comparison star selection, and multi-aperture photometry in sequence.
The pipeline also provides:
Process locking — prevents two instances from running on the same directory simultaneously
Summary report — writes a
[object_name]_pipeline_summary.txtfile to the output folder at the end of every run, recording the runtime and status of each stage
Usage¶
To see all available options:
EB_pipeline -h
To start the pipeline:
EB_pipeline INPUT_DIR OUTPUT_DIR --ra HH:MM:SS.SS --dec DD:MM:SS.SS [options]
Required Inputs¶
INPUT_DIRPath to the folder where incoming raw images from the telescope will appear. The pipeline monitors this folder for new files.
OUTPUT_DIRPath to the folder where reduced images and all pipeline output files will be saved.
--raRight ascension of the target in the format
HH:MM:SS.SS.--decDeclination of the target in the format
DD:MM:SS.SS. For negative declinations use-DD:MM:SS.SS.
Optional Inputs¶
--timeHow long in seconds the pipeline waits after the last new file before starting data reduction. Default is
3600seconds (1 hour).--locLocation of the telescope. Accepted values are
BSUOor any site listed in the Astropy sites list. Default isNone.--nameName of the target object. Use underscores instead of spaces (e.g.
NSVS_254037). This name is used for all output file names. Default isNSVS_254037.--memMemory limit for the IRAF reduction stage in bytes. Default is
450e6(450 MB). For example, to allow 800 MB use800e6.--gainGain of the camera in electrons per ADU. Default is
1.43.--rdnoiseReadout noise of the camera in electrons. Default is
10.83.--log-fileOptional path to write all log output to a file in addition to the terminal. Useful for keeping a record of the night’s run.
Output Files¶
The pipeline writes the following files to OUTPUT_DIR at the end of a successful run:
Reduced FITS images from the IRAF reduction stage
RADEC comparison star files for each filter
Light curve CSV files and plots for each filter
[name]_pipeline_summary.txt— a summary of the run including total runtime, per-stage duration, and any warnings encountered
The summary report looks like this:
============================================================
Pipeline Summary — NSVS_254037
============================================================
Total runtime : 1:23:47
Stages:
IRAF Reduction 0:45:12 [ok]
Comparison Star Selection 0:02:15 [ok]
Aperture Photometry 0:36:20 [ok]
No warnings.
============================================================
Process Locking¶
The pipeline creates a .pipeline.lock file in OUTPUT_DIR when it starts.
This prevents a second instance from accidentally running on the same directory at
the same time. If the pipeline exits unexpectedly, the lock is released automatically.
If you are certain no other instance is running and the lock file remains, delete it
manually and restart.
Example¶
A typical pipeline invocation:
EB_pipeline C:/folder1/raw_images C:/folder1/reduced_images \
--ra 00:28:27.96 --dec 78:57:42.65 \
--name NSVS_254037 \
--time 3000 \
--loc CTIO \
--gain 1.43 \
--rdnoise 10.83 \
--log-file C:/folder1/pipeline_run.log
For a negative declination:
EB_pipeline C:/folder1/raw_images C:/folder1/reduced_images \
--ra 00:28:27.96 --dec -12:34:56.78 \
--name NSVS_254037
Note
The INPUT_DIR and OUTPUT_DIR positional arguments must come first, in that
order, before any -- options. The --ra and --dec arguments are required
and have no default values.
Warning
Do not use the same folder for both INPUT_DIR and OUTPUT_DIR. The reduction
stage writes files to OUTPUT_DIR and monitoring INPUT_DIR for new files could
behave unexpectedly if they overlap.