Flatfielding (pyobs.modules.flatfield)

Modules for performing flatfields. TODO: write doc

FlatField

class FlatField(telescope: Union[str, ITelescope], camera: Union[str, ICamera], flat_fielder: Optional[Union[Dict[str, Any], FlatFielder]], filters: Optional[Union[str, IFilters]] = None, log_file: Optional[str] = None, **kwargs: Any)

Bases: Module, IFlatField, IBinning, IFilters

Module for auto-focusing a telescope.

Initialize a new flat fielder.

Parameters:
  • telescope – Name of ITelescope.

  • camera – Name of ICamera.

  • flat_fielder – Flat field object to use.

  • filters – Name of IFilters, if any.

  • log_file – Name of file to store flat field log in.

class State(value)[source]

Bases: Enum

An enumeration.

class Twilight(value)[source]

Bases: Enum

An enumeration.

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

Abort current actions.

async callback(datetime: str, solalt: float, exptime: float, counts: float, filter_name: str, binning: Tuple[int, int]) None[source]

Callback for flat-field class to call with statistics.

async close() None[source]

Close module.

async flat_field(count: int = 20, **kwargs: Any) Tuple[int, float][source]

Do a series of flat fields in the given filter.

Parameters:

count – Number of images to take

Returns:

Number of images actually taken and total exposure time in ms

async get_binning(**kwargs: Any) Tuple[int, int][source]

Returns the camera binning.

Returns:

Tuple with x and y.

async get_filter(**kwargs: Any) str[source]

Get currently set filter.

Returns:

Name of currently set filter.

async get_motion_status(device: Optional[str] = None, **kwargs: Any) MotionStatus[source]

Returns current motion status.

Parameters:

device – Name of device to get status for, or None.

Returns:

A string from the Status enumerator.

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

Initialize device.

Raises:

InitError – If device could not be initialized.

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

Returns the device is “ready”, whatever that means for the specific device.

Returns:

Whether device is ready

async list_binnings(**kwargs: Any) List[Tuple[int, int]][source]

List available binnings.

Returns:

List of available binnings as (x, y) tuples.

async list_filters(**kwargs: Any) List[str][source]

List available filters.

Returns:

List of available filters.

async open() None[source]

Open module

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

Park device.

Raises:

ParkError – If device could not be parked.

async set_binning(x: int, y: int, **kwargs: Any) None[source]

Set the camera binning.

Parameters:
  • x – X binning.

  • y – Y binning.

Raises:

ValueError – If binning could not be set.

async set_filter(filter_name: str, **kwargs: Any) None[source]

Set the current filter.

Parameters:

filter_name – Name of filter to set.

Raises:

ValueError – If binning could not be set.

async stop_motion(device: Optional[str] = None, **kwargs: Any) None[source]

Stop the motion.

Parameters:

device – Name of device to stop, or None for all.

FlatFieldPointing

class FlatFieldPointing(telescope: Union[str, ITelescope], pointing: Union[Dict[str, Any], SkyFlatsBasePointing], **kwargs: Any)

Bases: Module, IRunnable

Module for pointing a telescope.

Initialize a new flat field pointing.

Parameters:
  • telescope – Telescope to point

  • pointing – Pointing for calculating coordinates.

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

Abort current actions.

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

Move telescope to pointing.

FlatFieldScheduler

class FlatFieldScheduler(flatfield: Union[str, IFlatField], functions: Dict[str, str], priorities: Union[Dict[str, Any], SkyflatPriorities], min_exptime: float = 0.5, max_exptime: float = 5, timespan: float = 7200, filter_change: float = 30, count: int = 20, **kwargs: Any)

Bases: Module, IRunnable

Run the flat-field scheduler.

Initialize a new flat field scheduler.

Parameters:
  • flatfield – Flat field module to use

  • functions – Dict with flat functions

  • priorities – Class handling priorities

  • min_exptime – Minimum exposure time [s]

  • max_exptime – Maximum exposure time [s]

  • timespan – Time to scheduler after start [s]

  • filter_change – Time required for filter change [s]

  • count – Number of flats to take per filter/binning

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

Abort current actions.

async open() None[source]

Open module

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

Perform flat-fielding