panoptes.pocs.camera.simulator package

Submodules

panoptes.pocs.camera.simulator.ccd module

Simulated cooled CCD camera using the SDK camera interfaces.

Provides a minimal SDKDriver shim (loading libc) and a Camera implementation that simulates cooling behavior (temperature, cooling power) and connects like an SDK-backed device for use in tests and simulations.

class panoptes.pocs.camera.simulator.ccd.Camera(name='Simulated SDK camera', driver=<class 'panoptes.pocs.camera.simulator.ccd.SDKDriver'>, target_temperature=<Quantity 0. deg_C>, *args, **kwargs)[source]

Bases: AbstractSDKCamera, Camera, ABC

Simulated cooled camera that follows the AbstractSDKCamera contract.

Combines the DSLR simulator behavior with SDK-style cooling controls to emulate a cooled scientific camera for testing pipeline behavior.

connect()[source]

Initialize the simulated camera and cooling parameters.

property cooling_enabled

Whether simulated cooling is currently enabled.

Returns:

True if cooling is enabled.

Return type:

bool

property cooling_power

Simulated cooling power level.

Returns:

Cooling duty cycle as a percentage.

Return type:

astropy.units.Quantity

property target_temperature

Simulated target temperature for the sensor.

Returns:

Target temperature in degrees Celsius.

Return type:

astropy.units.Quantity

property temperature

Current simulated sensor temperature.

The temperature drifts exponentially toward a limit set by cooling state with a small random jitter added.

Returns:

Simulated temperature in degrees Celsius.

Return type:

astropy.units.Quantity

class panoptes.pocs.camera.simulator.ccd.SDKDriver(library_path=None, **kwargs)[source]

Bases: AbstractSDKDriver

Lightweight simulated SDK driver used for the simulator camera.

get_SDK_version()[source]

Return a human-readable version string for the simulated SDK.

get_devices()[source]

Return simulated device mapping from the main configuration.

Returns:

Mapping of simulated camera names to their ports/IDs as

configured under ‘cameras.devices’.

Return type:

dict

panoptes.pocs.camera.simulator.dslr module

DSLR-style simulated camera driver.

Provides a lightweight Camera implementation that mimics a DSLR controlled via simple timers and sample FITS data, suitable for tests and demos.

class panoptes.pocs.camera.simulator.dslr.Camera(name='Simulated Camera', *args, **kwargs)[source]

Bases: AbstractCamera

Simulated DSLR-like camera using timers and canned FITS data.

property bit_depth

ADC bit depth for the simulated sensor.

Returns:

Bit depth in bits.

Return type:

astropy.units.Quantity

connect()[source]

Connect to the camera simulator.

This is a no-op for the simulator.

property egain

Estimated sensor gain (e-/ADU) used for testing.

Returns:

Constant gain value for the simulator (unitless).

Return type:

int | float

setup_camera()[source]

Set up the camera simulator.

This is a no-op for the simulator.

take_observation(observation, headers=None, filename=None, *args, **kwargs)[source]

Start a simulated observation, trimming long exposures.

For the simulator, any requested exposure longer than 1 second is reduced to 1 second to keep tests fast.

Parameters:
  • observation – The Observation describing the target/sequence.

  • headers – Optional FITS header metadata to include.

  • filename – Optional filename stem to use for the output.

  • *args – Forwarded to AbstractCamera.take_observation.

  • **kwargs – May include ‘exptime’ to set the exposure duration.

Returns:

The metadata returned by AbstractCamera.take_observation.

Return type:

dict

Module contents