Auto-guiding (pyobs.modules.pointing)

Modules for performing auto-guiding. TODO: write doc

Acquisition

class Acquisition(exposure_time: float, target_pixel: Tuple[float, float] | None = None, attempts: int = 5, tolerance: float = 1, max_offset: float = 120, log_file: str | None = None, **kwargs: Any)

Bases: BasePointing, CameraSettingsMixin, IAcquisition

Class for telescope acquisition.

Create a new acquisition.

Parameters:
  • exposure_time – Default exposure time.

  • target_pixel – (x, y) tuple of pixel that the star should be positioned on. If None, center of image is used.

  • attempts – Number of attempts before giving up.

  • tolerance – Tolerance in position to reach in arcsec.

  • max_offset – Maximum offset to move in arcsec.

  • log_file – Name of file to write log to.

async abort(**kwargs: Any) None[source]

Abort current actions.

async acquire_target(**kwargs: Any) Dict[str, Any][source]

Acquire target at given coordinates.

If no RA/Dec are given, start from current position. Might not work for some implementations that require coordinates.

Returns:

A dictionary with entries for datetime, ra, dec, alt, az, and either off_ra, off_dec or off_alt, off_az.

Raises:

ValueError – If target could not be acquired.

async is_running(**kwargs: Any) bool[source]

Whether a service is running.

async open() None[source]

Open module

BaseGuiding

class BaseGuiding(max_exposure_time: float | None = None, min_interval: float = 0, max_interval: float = 600, separation_reset: float | None = None, pid: bool = False, reset_at_focus: bool = True, reset_at_filter: bool = True, **kwargs: Any)

Bases: BasePointing, IAutoGuiding, IFitsHeaderBefore

Base class for guiding modules.

Initializes a new science frame auto guiding system.

Parameters:
  • max_exposure_time – Maximum exposure time in sec for images to analyse.

  • min_interval – Minimum interval in sec between two images.

  • max_interval – Maximum interval in sec between to consecutive images to guide.

  • separation_reset – Min separation in arcsec between two consecutive images that triggers a reset.

  • pid – Whether to use a PID for guiding.

  • reset_at_focus – Reset guiding, if focus changes.

  • reset_at_filter – Reset guiding, if filter changes.

async get_fits_header_before(namespaces: List[str] | None = None, **kwargs: Any) Dict[str, Tuple[Any, str]][source]

Returns FITS header for the current status of this module.

Parameters:

namespaces – If given, only return FITS headers for the given namespaces.

Returns:

Dictionary containing FITS headers.

async is_running(**kwargs: Any) bool[source]

Whether auto-guiding is running.

Returns:

Auto-guiding is running.

async start(**kwargs: Any) None[source]

Starts/resets auto-guiding.

async stop(**kwargs: Any) None[source]

Stops auto-guiding.