Module azcam.tools.archon.exposure_archon

Contains the ExposureArchon class.

Classes

class ArchonFileConverter

Class to convert Archon image file.

Methods

def buffer_processing(self)

Process input buffer to output MEF file.

def copy_to_buffer(self, in_buffer, out_buffer)

Copies the data from the controller to a data buffer.

def set_detector_config(self, sensor_data)

Set detector configuration parameters.

class ExposureArchon (tool_id='exposure', description=None)

The exposure class for Archon controllers. The methods here override the default Exposure class and are for the STA Archon controller used in 'direct mode', communicating directly with the controller hardware.

Args

tool_id
name used to reference the tool (controller, display, …)
description
description of this tool

Ancestors

Instance variables

var description

Inherited from: Exposure.description

descriptive tool name

var enabled

Inherited from: Exposure.enabled

1 when tool is enabled

var initialized

Inherited from: Exposure.initialized

1 when tool has been initialized

var is_reset

Inherited from: Exposure.is_reset

1 when tool has been reset

var tool_id

Inherited from: Exposure.tool_id

name used to reference the tool ("controller", "display", …)

var verbosity

Inherited from: Exposure.verbosity

verbosity for debug, >0 is more verbose

Methods

def abort(self)

Abort an exposure in progress. Sends RESETTIMING to controller and sets the ExposureFlag which is read in during the exposure.

def begin(self, exposure_time=-1, imagetype='', title='')

Inherited from: Exposure.begin

Initiates the first part of an exposure, through image flushing. exposure_time is in seconds. imagetype is one of zero, object, flat, dark, ramp, …

def check_comparison_imagetype(self, imagetype='')

Inherited from: Exposure.check_comparison_imagetype

Returns 1 if imagetype is a comparision, 0 if not. If imagetype is not specified, checks the current type.

def check_image_ready(self)

Inherited from: Exposure.check_image_ready

Returns True (1) if exposure image is ready and then toggles the flag off so that image is not detected multiple times. Used only for clients which …

def define_keywords(self)

Inherited from: Exposure.define_keywords

Defines and resets keywords.

def delete_keyword(self, keyword: str)

Inherited from: Exposure.delete_keyword

Delete a keyword.

Args

keyword
keyword
def end(self)

Inherited from: Exposure.end

Completes an exposure by writing file and displaying image.

def expose(self, exposure_time=-1, imagetype='', title='')

Inherited from: Exposure.expose

Make a complete exposure. exposure_time is the exposure time in seconds imagetype is the type of exposure ('zero', 'object', 'flat', …) title is the …

def expose1(self, exposure_time: float = -1, image_type: str = '', image_title: str = '')

Inherited from: Exposure.expose1

Make a complete exposure with immediate return to caller …

def finish(self)

Inherited from: Exposure.finish

Allow custom operations at end of exposure.

def flush(self, cycles=1)

Flush/clear detector. cycles is the number of times to flush the detector.

def get_exposuretime(self)

Get current exposure time in seconds.

def get_exposuretime_remaining(self)

Inherited from: Exposure.get_exposuretime_remaining

Return remaining exposure time (in seconds).

def get_extname(self, filetype)

Inherited from: Exposure.get_extname

Return the file extension string for a file type.

def get_filename(self)

Inherited from: Exposure.get_filename

Return current filename as a single string. This is the filename for the next exposure to be taken …

def get_focalplane(self)

Inherited from: Exposure.get_focalplane

Returns the current focal plane configuration.

def get_format(self)

Inherited from: Exposure.get_format

Return the current detector format parameters.

def get_image_title(self)

Inherited from: Exposure.get_image_title

Get the current image title. Allows for AutoTitle.

def get_image_type(self)

Inherited from: Exposure.get_image_type

Get current image type for an exposure. imagetype is system defines, and typically includes: zero, object, dark, flat.

def get_image_types(self)

Inherited from: Exposure.get_image_types

Return a list of valid imagetypes. Gets imagetypes and comparisons.

def get_keyword(self, keyword: str) ‑> list

Inherited from: Exposure.get_keyword

Return a keyword value, its comment string, and type. Comment always returned in double quotes, even if empty.

Args

keyword
name of keyword

def get_keywords(self) ‑> list

Inherited from: Exposure.get_keywords

Return a list of all keyword names.

Returns

keywords
list of all keywords
def get_pixels_remaining(self)

Return number of remaining pixels to be read.

def get_roi(self, roi_num=0)

Inherited from: Exposure.get_roi

Returns a list of the ROI parameters for the roi_num specified. Currently only one ROI (0) is supported. Returned list format is …

def get_status(self)

Inherited from: Exposure.get_status

Return a variety of system status data in one dictionary.

def get_test_image(self)

Inherited from: Exposure.get_test_image

Returns TestImage flag.

def guide(self, number_exposures=1)

Inherited from: Exposure.guide

Make a complete guider exposure sequence. NumberExposures is the number of exposures to make, -1 loop forever

def guide1(self, number_exposures=1)

Inherited from: Exposure.guide1

Make a complete guider exposure with an immediate return. NumberExposures is the number of exposures to make, -1 loop forever

def increment_filenumber(self)

Inherited from: Exposure.increment_filenumber

Increment the filename sequence number if AutoIncrementSequenceNumber is True and not a test image.

def initialize(self)

Inherited from: Exposure.initialize

Initialize exposure.

def integrate(self)

Inherited from: Exposure.integrate

Integration.

def parshift(self, number_rows: int)

Inherited from: Exposure.parshift

Shift sensor by number_rows …

def pause(self)

Inherited from: Exposure.pause

Pause an exposure in progress (integration only). Really sets a flag which is read in expose().

def read_header(self) ‑> list

Inherited from: Exposure.read_header

Reads and returns current header data.

Returns

list of header lines
[Header[]]: Each element Header[i] contains the sublist (keyword, value, …
def read_header_file(self, filename)

Inherited from: Exposure.read_header_file

Read header template file.

def readout(self)

Inherited from: Exposure.readout

Exposure readout.

def record_current_times(self)

Inherited from: Exposure.record_current_times

Record the current times and data info in the header.

def reset(self)

Inherited from: Exposure.reset

Reset exposure tool.

def resume(self)

Inherited from: Exposure.resume

Resume a paused exposure. Really sets a flag which is read in expose().

def roi_reset(self)

Inherited from: Exposure.roi_reset

Resets detector ROI values to full frame, current binning.

def sequence(self, number_exposures=1, flush_array_flag=-1, delay=-1)

Inherited from: Exposure.sequence

Take an exposure sequence. Uses pre-set exposure time, image type and image title. NumberExposures is the number of exposures to make. FlushArrayFlag …

def sequence1(self, number_exposures=1, flush_array_flag=-1, delay=-1)

Inherited from: Exposure.sequence1

Take an exposure sequence. Uses pre-set image type and image title. number_exposures is the number of exposures to make. flush_array_flag defines …

def set_auto_title(self, flag=-1)

Inherited from: Exposure.set_auto_title

Set the AutoTitle flag so that image title matches lowercase imagetype.

def set_data_order(self, dataOrder)

Inherited from: Exposure.set_data_order

Sets data order

def set_detgap(self, det_gap)

Inherited from: Exposure.set_detgap

Set the detector gaps in pixels.

def set_detnum(self, det_number)

Inherited from: Exposure.set_detnum

Set the detector numbers.

def set_detpars(self, sensor_data)

Inherited from: Exposure.set_detpars

Set detector parameters from sensor data dictionary.

def set_detpos(self, det_position)

Inherited from: Exposure.set_detpos

Set the detector positions.

def set_exposuretime(self, ExposureTime)

Inherited from: Exposure.set_exposuretime

Set current exposure time in seconds.

def set_extension_position(self, XY)

Inherited from: Exposure.set_extension_position

Set the extension position of each amplifier. XY is [[X,Y]] in index numbers, starting at [1,1].

def set_extname(self, ext_name)

Inherited from: Exposure.set_extname

Set image extension names.

def set_extnum(self, ext_number)

Inherited from: Exposure.set_extnum

Set image extension numbers.

def set_filename(self, filename: str)

Inherited from: Exposure.set_filename

Set the filename components based on a simple filename …

def set_focalplane(self, numdet_x=-1, numdet_y=-1, numamps_x=-1, numamps_y=-1, amp_config='')

Inherited from: Exposure.set_focalplane

Sets focal plane configuration for subsequent exposures. Use after set_format(). Must call set_roi() after using this command and before starting …

def set_format(self, ns_total=-1, ns_predark=-1, ns_underscan=-1, ns_overscan=-1, np_total=-1, np_predark=-1, np_underscan=-1, np_overscan=-1, np_frametransfer=-1)

Inherited from: Exposure.set_format

Set the detector format for subsequent exposures. Must call set_roi() after using this command and before starting exposure. ns_total is the number of …

def set_image_title(self, title='')

Inherited from: Exposure.set_image_title

Set the image title. Allows for AutoTitle.

def set_image_type(self, imagetype='zero')

Inherited from: Exposure.set_image_type

Set image type for an exposure. imagetype is system defines, and typically includes: zero, object, dark, flat.

def set_jpg_order(self, Indices)

Inherited from: Exposure.set_jpg_order

Set JPG image positions.

def set_keyword(self, keyword: str, value: Any, comment: str = 'none', typestring: str = 'none')

Inherited from: Exposure.set_keyword

Set a keyword value, comment, and type.

Args

keyword
keyword
value
value of keyword
comment
comment string
typestring
one of …
def set_ref_pixel(self, XY)

Inherited from: Exposure.set_ref_pixel

Set the reference pixel. XY is [X,Y] in pixels.

def set_roi(self, first_col=-1, last_col=-1, first_row=-1, last_row=-1, col_bin=-1, row_bin=-1, roi_num=0)

Inherited from: Exposure.set_roi

Sets the ROI values for subsequent exposures. Currently only one ROI (0) is supported. These values are for the entire focal plane, not just one …

def set_shutter(self, state: int = 0, shutter_id: int = 0)

Inherited from: Exposure.set_shutter

Open or close a shutter …

def set_tdi_delay(self, flag)

Inherited from: Exposure.set_tdi_delay

Set TDI line delay On or Off. flag==True sets delay to self.tdi_delay. flag==Flase sets line delay to normal value, self.par_delay.

def set_temp_files(self)

Inherited from: Exposure.set_temp_files

Update TempImageFile and TempDisplayFile file names based on CommandServer port.

def set_test_image(self, flag)

Inherited from: Exposure.set_test_image

Sets TestImage flag is True, clears if False.

def start(self)

Inherited from: Exposure.start

Allow custom operations at start of exposure.

def start_readout(self)

Immediate exposure readout.

def test(self, exposure_time=0.0, shutter=0)

Inherited from: Exposure.test

Make a test exposure. exposure_time is the exposure time in seconds shutter is 0 for closed and 1 for open title is the image title.

def update_header(self)

Inherited from: Exposure.update_header

Update the header, reading current data. Deletes all keywords if the object is not enabled.

def update_headers(self)

Inherited from: Exposure.update_headers

Update all headers, reading current data.

class ReceiveDataArchon (exposure)

Exposure subclass to receive image data.

Methods

def receive_archon_image_data(self)

Receives image data and raw data (if rawdata_enable=1) from the Archon controller in the Direct Mode. Last change: 06Feb2018 Zareba