panoptes.pocs package¶
Subpackages¶
- panoptes.pocs.camera package
- Subpackages
- Submodules
- panoptes.pocs.camera.camera module
AbstractCameraAbstractCamera.filter_typeAbstractCamera.focuserAbstractCamera.filter_wheelAbstractCamera.uidAbstractCamera.is_primaryAbstractCamera.modelAbstractCamera.nameAbstractCamera.portAbstractCamera.temperatureAbstractCamera.target_temperatureAbstractCamera.temperature_toleranceAbstractCamera.cooling_enabledAbstractCamera.cooling_powerAbstractCamera.egainAbstractCamera.gainAbstractCamera.bitdepthAbstractCamera.image_typeAbstractCamera.timeoutAbstractCamera.readout_timeAbstractCamera.file_extensionAbstractCamera.library_pathAbstractCamera.propertiesAbstractCamera.is_connectedAbstractCamera.is_cooled_cameraAbstractCamera.is_temperature_stableAbstractCamera.is_exposingAbstractCamera.is_readyAbstractCamera.can_take_internal_darksAbstractCamera.autofocus()AbstractCamera.bit_depthAbstractCamera.can_take_internal_darksAbstractCamera.connect()AbstractCamera.cooling_enabledAbstractCamera.cooling_powerAbstractCamera.egainAbstractCamera.exposure_errorAbstractCamera.file_extensionAbstractCamera.filter_typeAbstractCamera.get_cutout()AbstractCamera.has_filterwheelAbstractCamera.has_focuserAbstractCamera.is_connectedAbstractCamera.is_cooled_cameraAbstractCamera.is_exposingAbstractCamera.is_observingAbstractCamera.is_readyAbstractCamera.is_temperature_stableAbstractCamera.process_exposure()AbstractCamera.readinessAbstractCamera.readout_timeAbstractCamera.take_exposure()AbstractCamera.take_observation()AbstractCamera.target_temperatureAbstractCamera.temperatureAbstractCamera.temperature_toleranceAbstractCamera.uidAbstractCamera.waiting_for_readoutAbstractCamera.write_fits()
- panoptes.pocs.camera.fli module
- panoptes.pocs.camera.libasi module
ASIDriverASIDriver.close_camera()ASIDriver.disable_dark_subtract()ASIDriver.enable_dark_subtract()ASIDriver.get_ID()ASIDriver.get_SDK_version()ASIDriver.get_camera_mode()ASIDriver.get_camera_property()ASIDriver.get_camera_property_by_id()ASIDriver.get_camera_supported_mode()ASIDriver.get_control_caps()ASIDriver.get_control_value()ASIDriver.get_devices()ASIDriver.get_dropped_frames()ASIDriver.get_exposure_data()ASIDriver.get_exposure_status()ASIDriver.get_gain_offset()ASIDriver.get_num_of_connected_cameras()ASIDriver.get_num_of_controls()ASIDriver.get_product_ids()ASIDriver.get_roi_format()ASIDriver.get_serial_number()ASIDriver.get_start_position()ASIDriver.get_trigger_output_io_conf()ASIDriver.get_video_data()ASIDriver.init_camera()ASIDriver.open_camera()ASIDriver.pulse_guide_off()ASIDriver.pulse_guide_on()ASIDriver.send_soft_trigger()ASIDriver.set_ID()ASIDriver.set_camera_mode()ASIDriver.set_control_value()ASIDriver.set_roi_format()ASIDriver.set_start_position()ASIDriver.set_trigger_ouput_io_conf()ASIDriver.start_exposure()ASIDriver.start_video_capture()ASIDriver.stop_exposure()ASIDriver.stop_video_capture()
BayerPatternCameraInfoCameraInfo.bayer_patternCameraInfo.bit_depthCameraInfo.camera_IDCameraInfo.e_per_aduCameraInfo.has_ST4_portCameraInfo.has_coolerCameraInfo.has_mechanical_shutterCameraInfo.is_USB3_cameraCameraInfo.is_USB3_hostCameraInfo.is_color_cameraCameraInfo.is_trigger_cameraCameraInfo.max_heightCameraInfo.max_widthCameraInfo.nameCameraInfo.pixel_sizeCameraInfo.supported_binsCameraInfo.supported_video_formatCameraInfo.unused
CameraModeControlCapsControlTypeControlType.ANTI_DEW_HEATERControlType.AUTO_MAX_BRIGHTNESSControlType.AUTO_MAX_EXPControlType.AUTO_MAX_GAINControlType.AUTO_TARGET_BRIGHTNESSControlType.BANDWIDTHOVERLOADControlType.BRIGHTNESSControlType.COOLER_ONControlType.COOLER_POWER_PERCControlType.EXPOSUREControlType.FAN_ONControlType.FLIPControlType.GAINControlType.GAMMAControlType.HARDWARE_BINControlType.HIGH_SPEED_MODEControlType.MONO_BINControlType.OFFSETControlType.OVERCLOCKControlType.PATTERN_ADJUSTControlType.TARGET_TEMPControlType.TEMPERATUREControlType.WB_BControlType.WB_R
ErrorCodeErrorCode.BUFFER_TOO_SMALLErrorCode.CAMERA_CLOSEDErrorCode.CAMERA_REMOVEDErrorCode.ENDErrorCode.EXPOSURE_IN_PROGRESSErrorCode.GENERAL_ERRORErrorCode.INVALID_CONTROL_TYPEErrorCode.INVALID_FILEFORMATErrorCode.INVALID_IDErrorCode.INVALID_IMGTYPEErrorCode.INVALID_INDEXErrorCode.INVALID_MODEErrorCode.INVALID_PATHErrorCode.INVALID_SEQUENCEErrorCode.INVALID_SIZEErrorCode.OUTOF_BOUNDARYErrorCode.SUCCESSErrorCode.TIMEOUTErrorCode.VIDEO_MODE_ACTIVE
ExposureStatusFlipStatusGuideDirectionIDImgTypeSupportedModeTrigOutput
- panoptes.pocs.camera.libfli module
FLIDriverFLIDriver.FLIClose()FLIDriver.FLIExposeFrame()FLIDriver.FLIGetArrayArea()FLIDriver.FLIGetCoolerPower()FLIDriver.FLIGetExposureStatus()FLIDriver.FLIGetFWRevision()FLIDriver.FLIGetHWRevision()FLIDriver.FLIGetModel()FLIDriver.FLIGetPixelSize()FLIDriver.FLIGetSerialString()FLIDriver.FLIGetTemperature()FLIDriver.FLIGetVisibleArea()FLIDriver.FLIGrabFrame()FLIDriver.FLIGrabRow()FLIDriver.FLIList()FLIDriver.FLIOpen()FLIDriver.FLISetExposureTime()FLIDriver.FLISetFrameType()FLIDriver.FLISetHBin()FLIDriver.FLISetImageArea()FLIDriver.FLISetNFlushes()FLIDriver.FLISetTemperature()FLIDriver.FLISetVBin()FLIDriver.get_SDK_version()FLIDriver.get_devices()
- panoptes.pocs.camera.libfliconstants module
- panoptes.pocs.camera.sbig module
- panoptes.pocs.camera.sbigudrv module
CFWCommandCFWErrorCFWGetInfoSelectCFWModelSelectCFWModelSelect.AUTOCFWModelSelect.CFW10CFWModelSelect.CFW10_SERIALCFWModelSelect.CFW1603CFWModelSelect.CFW2CFWModelSelect.CFW402CFWModelSelect.CFW5CFWModelSelect.CFW6ACFWModelSelect.CFW8CFWModelSelect.CFW9CFWModelSelect.CFWLCFWModelSelect.CFWL8CFWModelSelect.CFWL8GCFWModelSelect.FW5_8300CFWModelSelect.FW5_STF_DETENTCFWModelSelect.FW5_STXCFWModelSelect.FW7_STXCFWModelSelect.FW8_8300CFWModelSelect.FW8_STTCFWModelSelect.UNKNOWN
CFWParamsCFWResultsCFWStatusEndExposureParamsEndReadoutParamsEstablishLinkParamsEstablishLinkResultsGetCCDInfoParamsGetCCDInfoResults0GetCCDInfoResults2GetCCDInfoResults4GetCCDInfoResults6GetDriverControlParamsGetDriverControlResultsGetDriverHandleResultsGetDriverInfoParamsGetDriverInfoResults0GetLinkStatusResultsOpenDeviceParamsQueryCommandStatusParamsQueryCommandStatusResultsQueryTemperatureStatusParamsQueryTemperatureStatusResultsQueryTemperatureStatusResults2QueryTemperatureStatusResults2.ambientTemperatureQueryTemperatureStatusResults2.ccdSetpointQueryTemperatureStatusResults2.coolingEnabledQueryTemperatureStatusResults2.externalTrackingCCDPowerQueryTemperatureStatusResults2.externalTrackingCCDTemperatureQueryTemperatureStatusResults2.fanEnabledQueryTemperatureStatusResults2.fanPowerQueryTemperatureStatusResults2.fanSpeedQueryTemperatureStatusResults2.heatsinkTemperatureQueryTemperatureStatusResults2.imagingCCDPowerQueryTemperatureStatusResults2.imagingCCDTemperatureQueryTemperatureStatusResults2.trackingCCDPowerQueryTemperatureStatusResults2.trackingCCDSetpointQueryTemperatureStatusResults2.trackingCCDTemperature
QueryUSBInfoQueryUSBResultsQueryUSBResults2QueryUSBResults3ReadoutInfoReadoutLineParamsSBIGDriverSBIGDriver.cfw_get_info()SBIGDriver.cfw_goto()SBIGDriver.cfw_init()SBIGDriver.cfw_query()SBIGDriver.disable_vdd_optimized()SBIGDriver.establish_link()SBIGDriver.get_SDK_version()SBIGDriver.get_ccd_info()SBIGDriver.get_devices()SBIGDriver.get_driver_handle()SBIGDriver.get_exposure_status()SBIGDriver.get_link_status()SBIGDriver.open_device()SBIGDriver.open_driver()SBIGDriver.query_temp_status()SBIGDriver.readout()SBIGDriver.retriesSBIGDriver.set_handle()SBIGDriver.set_temp_regulation()SBIGDriver.start_exposure()
SetDriverControlParamsSetDriverHandleParamsSetTemperatureRegulationParamsSetTemperatureRegulationParams2StartExposureParams2StartReadoutParams
- panoptes.pocs.camera.sdk module
- panoptes.pocs.camera.zwo module
CameraCamera.bandwidthoverloadCamera.binningCamera.bit_depthCamera.connect()Camera.cooling_enabledCamera.cooling_powerCamera.egainCamera.gainCamera.heightCamera.image_sizeCamera.image_typeCamera.is_exposingCamera.roiCamera.start_video()Camera.stop_video()Camera.take_exposure()Camera.target_temperatureCamera.temperatureCamera.width
- Module contents
- panoptes.pocs.dome package
- Submodules
- panoptes.pocs.dome.abstract_serial_dome module
- panoptes.pocs.dome.astrohaven module
AstrohavenDomeDomeProtocolProtocol.A_CLOSE_LIMITProtocol.A_IS_CLOSEDProtocol.A_OPEN_LIMITProtocol.BOTH_CLOSEDProtocol.BOTH_OPENProtocol.B_CLOSE_LIMITProtocol.B_IS_CLOSEDProtocol.B_OPEN_LIMITProtocol.CLOSE_AProtocol.CLOSE_BProtocol.CLOSE_BOTHProtocol.OPEN_AProtocol.OPEN_BProtocol.OPEN_BOTHProtocol.RESETProtocol.STABLE_STATES
- panoptes.pocs.dome.bisque module
- panoptes.pocs.dome.protocol_astrohaven_simulator module
- panoptes.pocs.dome.simulator module
- Module contents
- panoptes.pocs.filterwheel package
- Submodules
- panoptes.pocs.filterwheel.filterwheel module
AbstractFilterWheelAbstractFilterWheel.cameraAbstractFilterWheel.connect()AbstractFilterWheel.current_filterAbstractFilterWheel.filter_name()AbstractFilterWheel.filter_namesAbstractFilterWheel.is_connectedAbstractFilterWheel.is_movingAbstractFilterWheel.is_readyAbstractFilterWheel.is_unidirectionalAbstractFilterWheel.modelAbstractFilterWheel.move_to()AbstractFilterWheel.move_to_dark_position()AbstractFilterWheel.move_to_light_position()AbstractFilterWheel.n_positionsAbstractFilterWheel.nameAbstractFilterWheel.positionAbstractFilterWheel.uid
- panoptes.pocs.filterwheel.libefw module
EFWDriverEFWDriver.calibrate()EFWDriver.close()EFWDriver.get_ID()EFWDriver.get_SDK_version()EFWDriver.get_devices()EFWDriver.get_direction()EFWDriver.get_num()EFWDriver.get_position()EFWDriver.get_product_ids()EFWDriver.get_property()EFWDriver.open()EFWDriver.set_direction()EFWDriver.set_position()
EFWInfoErrorCode
- panoptes.pocs.filterwheel.sbig module
- panoptes.pocs.filterwheel.simulator module
- panoptes.pocs.filterwheel.zwo module
- Module contents
- panoptes.pocs.focuser package
- Submodules
- panoptes.pocs.focuser.astromechanics module
- panoptes.pocs.focuser.birger module
- panoptes.pocs.focuser.focuser module
AbstractFocuserAbstractFocuser.autofocus()AbstractFocuser.autofocus_errorAbstractFocuser.cameraAbstractFocuser.is_connectedAbstractFocuser.is_moving()AbstractFocuser.is_readyAbstractFocuser.max_position()AbstractFocuser.min_position()AbstractFocuser.move_by()AbstractFocuser.move_to()AbstractFocuser.positionAbstractFocuser.uid
- panoptes.pocs.focuser.focuslynx module
- panoptes.pocs.focuser.serial module
- panoptes.pocs.focuser.simulator module
- Module contents
- panoptes.pocs.mount package
- Subpackages
- Submodules
- panoptes.pocs.mount.bisque module
MountMount.at_mount_parkMount.connect()Mount.disconnect()Mount.initialize()Mount.is_homeMount.is_parkedMount.is_slewingMount.is_trackingMount.move_direction()Mount.park()Mount.query()Mount.read()Mount.set_park_position()Mount.set_target_coordinates()Mount.slew_to_home()Mount.slew_to_target()Mount.slew_to_zero()Mount.unpark()Mount.write()
- panoptes.pocs.mount.mount module
AbstractMountAbstractMount.at_mount_parkAbstractMount.connect()AbstractMount.correct_tracking()AbstractMount.disconnect()AbstractMount.distance_from_target()AbstractMount.get_current_coordinates()AbstractMount.get_ms_offset()AbstractMount.get_target_coordinates()AbstractMount.get_tracking_correction()AbstractMount.has_targetAbstractMount.home_and_park()AbstractMount.initialize()AbstractMount.is_connectedAbstractMount.is_homeAbstractMount.is_initializedAbstractMount.is_parkedAbstractMount.is_slewingAbstractMount.is_trackingAbstractMount.locationAbstractMount.mount_versionAbstractMount.move_direction()AbstractMount.movement_speedAbstractMount.park()AbstractMount.query()AbstractMount.read()AbstractMount.search_for_home()AbstractMount.set_target_coordinates()AbstractMount.set_tracking_rate()AbstractMount.slew_to_coordinates()AbstractMount.slew_to_home()AbstractMount.slew_to_target()AbstractMount.slew_to_zero()AbstractMount.stateAbstractMount.statusAbstractMount.tracking_rateAbstractMount.unpark()AbstractMount.update_status()AbstractMount.write()
- panoptes.pocs.mount.serial module
- panoptes.pocs.mount.simulator module
- Module contents
- panoptes.pocs.scheduler package
- Subpackages
- Submodules
- panoptes.pocs.scheduler.constraint module
- panoptes.pocs.scheduler.dispatch module
- panoptes.pocs.scheduler.field module
- panoptes.pocs.scheduler.scheduler module
BaseSchedulerBaseScheduler.add_observation()BaseScheduler.clear_available_observations()BaseScheduler.current_observationBaseScheduler.fields_fileBaseScheduler.fields_listBaseScheduler.get_observation()BaseScheduler.has_valid_observationsBaseScheduler.observation_available()BaseScheduler.observationsBaseScheduler.read_field_list()BaseScheduler.remove_observation()BaseScheduler.reset_observed_list()BaseScheduler.set_common_properties()BaseScheduler.status
- Module contents
- panoptes.pocs.sensor package
- Submodules
- panoptes.pocs.sensor.power module
PinStatePowerBoardPowerBoard.change_relay_state()PowerBoard.cycle_relay()PowerBoard.default_reader_callback()PowerBoard.lookup_port()PowerBoard.readingsPowerBoard.record()PowerBoard.relay_labelsPowerBoard.relaysPowerBoard.setup_relays()PowerBoard.statusPowerBoard.to_dataframe()PowerBoard.toggle_relay()PowerBoard.turn_off()PowerBoard.turn_on()
RelayTruckerBoardCommandsTruckerRelayIndex
- panoptes.pocs.sensor.remote module
- panoptes.pocs.sensor.weather module
- Module contents
- panoptes.pocs.state package
- Subpackages
- Submodules
- panoptes.pocs.state.machine module
PanStateMachinePanStateMachine.after_state()PanStateMachine.before_state()PanStateMachine.check_safety()PanStateMachine.goto_next_state()PanStateMachine.load_state_table()PanStateMachine.mount_is_initialized()PanStateMachine.mount_is_tracking()PanStateMachine.next_statePanStateMachine.run()PanStateMachine.stop_states()
- Module contents
- panoptes.pocs.utils package
- Subpackages
- panoptes.pocs.utils.cli package
- Submodules
- panoptes.pocs.utils.cli.camera module
- panoptes.pocs.utils.cli.config module
- panoptes.pocs.utils.cli.main module
- panoptes.pocs.utils.cli.mount module
- panoptes.pocs.utils.cli.network module
- panoptes.pocs.utils.cli.notebook module
- panoptes.pocs.utils.cli.power module
- panoptes.pocs.utils.cli.run module
- panoptes.pocs.utils.cli.sensor module
- panoptes.pocs.utils.cli.weather module
- Module contents
- panoptes.pocs.utils.service package
- panoptes.pocs.utils.cli package
- Submodules
- panoptes.pocs.utils.alignment module
- panoptes.pocs.utils.cloud module
- panoptes.pocs.utils.coords module
- panoptes.pocs.utils.error module
- panoptes.pocs.utils.location module
- panoptes.pocs.utils.logger module
- panoptes.pocs.utils.plotting module
- panoptes.pocs.utils.theskyx module
- Module contents
- Subpackages
Submodules¶
panoptes.pocs.base module¶
Common base utilities for POCS classes.
Provides PanBase, which centralizes access to configuration, logging, and the shared lightweight database handle used throughout the project.
- class panoptes.pocs.base.PanBase(config_host=None, config_port=None, *args, **kwargs)[source]¶
Bases:
objectBase class for other classes within the PANOPTES ecosystem
Defines common properties for each class (e.g. logger, config, db).
- get_config(key: str, default: Any | None = None, remember: bool = False, *args, **kwargs) Any[source]¶
Thin-wrapper around client based get_config that sets default port.
See panoptes.utils.config.client.get_config for more information.
- Parameters:
- Returns:
- The retrieved configuration value, or the provided default if not found
or if the config server is unavailable.
- Return type:
Any
- set_config(key, new_value, *args, **kwargs)[source]¶
Thin-wrapper around client based set_config that sets default port.
See panoptes.utils.config.client.set_config for more information.
- Parameters:
key (str) – The key name to use, can be namespaced with dots.
new_value (any) – The value to store.
*args – Passed to set_config
**kwargs – Passed to set_config
- Returns:
- The value returned by the config client after setting, or None
if the config server is unavailable.
- Return type:
Any | None
panoptes.pocs.core module¶
panoptes.pocs.hardware module¶
Information about hardware supported by Panoptes.
- class panoptes.pocs.hardware.HardwareName(*values)[source]¶
Bases:
EnumEnumeration of top-level hardware categories supported by POCS.
Members correspond to hardware subsystems that may have real drivers or simulators enabled via configuration (see get_simulator_names).
- camera = 'camera'¶
- dome = 'dome'¶
- mount = 'mount'¶
- night = 'night'¶
- power = 'power'¶
- sensors = 'sensors'¶
- theskyx = 'theskyx'¶
- weather = 'weather'¶
- panoptes.pocs.hardware.get_all_names(all_names=None, without=None)[source]¶
Return the names of all the categories of hardware that POCS supports.
Note
This doesn’t extend to the Arduinos for the telemetry and camera boards, for which no simulation is supported at this time.
Examples
>>> from panoptes.pocs.hardware import get_all_names >>> get_all_names() ['camera', 'dome', 'mount', 'night', 'power', 'sensors', 'theskyx', 'weather'] >>> get_all_names(without='mount') # Single item ['camera', 'dome', 'night', 'power', 'sensors', 'theskyx', 'weather'] >>> get_all_names(without=['mount', 'power']) # List ['camera', 'dome', 'night', 'sensors', 'theskyx', 'weather']
# You can alter available hardware if needed. >>> get_all_names([‘foo’, ‘bar’, ‘power’], without=[‘power’]) [‘bar’, ‘foo’]
- panoptes.pocs.hardware.get_simulator_names(simulator: str | list | None = None, kwargs=None)[source]¶
Return the names of the simulators to be used in lieu of hardware drivers.
Note
Returning a list containing ‘X’ doesn’t mean that the config calls for a driver of type ‘X’; that is up to the code working with the config to create drivers for real or simulated hardware.
This function is intended to be called from PanBase or similar, which receives kwargs that may include simulator, config or both.
Examples
get_simulator_names(config=self.config, kwargs=kwargs)
# Or:
get_simulator_names(simulator=simulator, config=self.config)
>>> from panoptes.pocs.hardware import get_simulator_names >>> get_simulator_names() [] >>> get_simulator_names('all') ['camera', 'dome', 'mount', 'night', 'power', 'sensors', 'theskyx', 'weather']
- Parameters:
- Returns:
Names of the hardware to be simulated.
- Return type:
panoptes.pocs.images module¶
Image helpers for FITS headers, WCS solving, and pointing comparisons.
Provides the Image class, a lightweight utility that loads FITS headers, lazily solves for WCS (via panoptes-utils), and offers helpers to compute the pointing and pointing error between images.
- class panoptes.pocs.images.Image(fits_file: Path, wcs_file=None, location=None, *args, **kwargs)[source]¶
Bases:
PanBaseRepresents a single FITS image and associated pointing metadata.
Loads core header values (DATE-OBS, EXPTIME), optionally reads/solves WCS, and exposes convenience properties for header pointing vs. WCS pointing and their differences.
- compute_offset(ref_image)[source]¶
Compute pointing offset relative to a reference Image.
- Parameters:
ref_image (Image) – The reference image to compare against.
- Returns:
Named tuple of (delta_ra, delta_dec, magnitude) in arcseconds.
- Return type:
- get_header_pointing()[source]¶
Get the pointing information from the header
The header should contain the RA-MNT and DEC-MNT keywords, from which the header pointing coordinates are built.
- get_wcs_pointing()[source]¶
Get the pointing information from the WCS
Builds the pointing coordinates from the plate-solved WCS. These will be compared with the coordinates stored in the header.
- property pointing_error¶
Pointing error namedtuple (delta_ra, delta_dec, magnitude)
Returns pointing error information. The first time this is accessed this will solve the field if not previously solved.
- Returns:
Pointing error information
- Return type:
namedtuple
- solve_field(radius=15, **kwargs)[source]¶
Solve field and populate WCS information.
- Parameters:
radius (scalar) – The radius (in degrees) to search near RA-Dec. Defaults to 15°.
**kwargs – Options to be passed to get_solve_field.
- property wcs_file¶
WCS file name
When setting the WCS file name, the WCS information will be read, setting the wcs property.