Source code for pyobs.interfaces.IBinning

from __future__ import annotations

from abc import ABCMeta, abstractmethod
from typing import Any

from .interface import Interface


class IBinning(Interface, metaclass=ABCMeta):
    """The camera supports binning, to be used together with :class:`~pyobs.interfaces.ICamera`."""

    __module__ = "pyobs.interfaces"

[docs] @abstractmethod async def set_binning(self, x: int, y: int, **kwargs: Any) -> None: """Set the camera binning. Args: x: X binning. y: Y binning. Raises: ValueError: If binning could not be set. """ ...
[docs] @abstractmethod async def get_binning(self, **kwargs: Any) -> tuple[int, int]: """Returns the camera binning. Returns: Tuple with x and y. """ ...
[docs] @abstractmethod async def list_binnings(self, **kwargs: Any) -> list[tuple[int, int]]: """List available binnings. Returns: List of available binnings as (x, y) tuples. """ ...
__all__ = ["IBinning"]