Scan patterns¶
This notebook shows all the possible scan configurations.
[1]:
from maria.cmb import generate_cmb_patch
cmb_patch = generate_cmb_patch(width=5, center=(150, -45))
cmb_patch.plot(cmap="cmb")
2026-04-26 19:50:34.603 INFO: Fetching https://github.com/thomaswmorris/maria-data/raw/master/cmb/spectra/camb.csv
Downloading: | | 842k/? [00:00<00:00, 51.8MB/s]
[2]:
from maria import Planner
planner = Planner(target=cmb_patch, site="llano_de_chajnantor", constraints={"el": (40, 90)})
[3]:
plans = planner.generate_plans(total_duration=900,
scan_pattern="daisy",
scan_options={"radius": 1e0, "speed": 2e-1})
plans[0].plot()
plans[0].plot_hits(instrument="test/1deg")
2026-04-26 19:50:41.003 WARNING: No noise level specified for band f090, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:41.102 WARNING: No noise level specified for band f150, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:41.200 WARNING: No noise level specified for band f220, assuming a sensitivity of 50 uK_RJ√s.
[4]:
plans = planner.generate_plans(total_duration=900,
scan_pattern="raster",
scan_options={"radius": 1e0, "n": 21, "speed": 2e-1})
plans[0].plot()
plans[0].plot_hits(instrument="test/1deg")
2026-04-26 19:50:45.579 WARNING: No noise level specified for band f090, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:45.678 WARNING: No noise level specified for band f150, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:45.778 WARNING: No noise level specified for band f220, assuming a sensitivity of 50 uK_RJ√s.
[5]:
plans = planner.generate_plans(total_duration=900,
scan_pattern="double_circle",
scan_options={"radius": 1e0,
"ratio": 0.75,
"speed": 2e-1})
plans[0].plot()
plans[0].plot_hits(instrument="test/1deg")
2026-04-26 19:50:49.241 WARNING: No noise level specified for band f090, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:49.343 WARNING: No noise level specified for band f150, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:49.443 WARNING: No noise level specified for band f220, assuming a sensitivity of 50 uK_RJ√s.
[6]:
plans = planner.generate_plans(total_duration=900,
scan_pattern="lissajous",
scan_options={"x_throw": 1e0,
"y_throw": 0.75,
"speed": 2e-1})
plans[0].plot()
plans[0].plot_hits(instrument="test/1deg")
2026-04-26 19:50:52.900 WARNING: No noise level specified for band f090, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:52.999 WARNING: No noise level specified for band f150, assuming a sensitivity of 50 uK_RJ√s.
2026-04-26 19:50:53.098 WARNING: No noise level specified for band f220, assuming a sensitivity of 50 uK_RJ√s.