Command-line interface
Installing the package puts a wcc-sim executable on your path (entry
point: wcc_sim.cli.main()). It exposes the full
simulate_field() pipeline:
wcc-sim --ra 291.0 --dec 44.5 --sensorfilter zwo:r --focus 1 \
--exptime 90 --seed 42 -o field_1wave.fits
On success it prints a one-line summary and exits 0:
Wrote field_1wave.fits: 9568x6380 px, 52840 sources, focus=1w, 3121 saturated px
Options
Option |
Default |
Meaning |
|---|---|---|
|
— |
Pointing RA [deg, ICRS]. |
|
— |
Pointing Dec [deg, ICRS]. |
|
— |
Output FITS path. |
|
|
|
|
sensorfilter’s |
Waves of defocus: |
|
|
Total exposure time [s]. |
|
|
Coadded frames (ETC semantics; saturation is per frame). |
|
|
Position angle [deg E of N]. |
|
telescope’s |
Jitter Gaussian sigma [mas]. |
|
|
Gaia G faint limit of injected sources. |
|
off |
Skip the noise realization (expectation image only). |
|
off |
Omit the noiseless |
|
none |
RNG seed for a reproducible noise realization. |
|
full array |
Subarray shape — quick looks and tests. |
|
per focus |
PSF stamp size [detector px, odd]; see PSFs and defocus. |
|
none |
Gaia query cache directory (offline reruns; see Gaia catalogs). |
Cookbook
Quick look — 1024×1024 subarray, cached Gaia query:
wcc-sim --ra 291.0 --dec 44.5 --shape 1024 1024 \
--cache-dir gaia_cache --seed 42 -o quicklook.fits
Focus sweep — the same field at all three focus levels:
for f in 0 1 2; do
wcc-sim --ra 291.0 --dec 44.5 --focus $f --exptime 90 --seed 42 \
--shape 1024 1024 --cache-dir gaia_cache -o field_focus$f.fits
done
Full-frame qCMOS image, broadband filter:
wcc-sim --ra 150.1 --dec 2.2 --sensorfilter qcmos:bb \
--exptime 60 --seed 7 -o qcmos_bb.fits
Noiseless truth image for photometric closure (no noise, keep CLEAN):
wcc-sim --ra 291.0 --dec 44.5 --no-noise --shape 2048 2048 \
--cache-dir gaia_cache -o truth.fits
Bright-star handling — split 900 s into 10 reads so per-frame exposure stays short, and extend the jitter:
wcc-sim --ra 291.0 --dec 44.5 --exptime 900 --n-reads 10 \
--jitter 50 --seed 42 -o deep_10reads.fits
Example scripts
The repository’s scripts/ directory contains ready-to-run examples:
Script |
What it does |
|---|---|
|
Python end-to-end smoke run: a Kepler-field pointing at all three
focus levels, 1024×1024, FITS to |
|
Single fast subarray image with a cached Gaia query. |
|
The CLI focus sweep above, one FITS per focus level. |
|
The same pointing on both detectors (IMX455 r-band, qCMOS broadband) for a side-by-side comparison. |