mxcubecore.HardwareObjects.LimaEigerDetector#

LimaEigerDetector Class Lima Tango Device Server implementation of the Dectris Eiger2 Detector.

Classes

class mxcubecore.HardwareObjects.LimaEigerDetector.LimaEigerDetector(name)[source]#

Bases: AbstractDetector

get_actual_file_path(master_file_path: str, image_number: int) tuple[source]#

Get file path to image with the given image number <image_number> and the master h5 file <master_file_path>

Parameters:
  • first_file_path – Path to master h5 file

  • image_number (int) – image number (absolute)

  • master_file_path (str) –

Returns:

A tuple [image file path, image_number (relative to file)]

Return type:

tuple

get_first_and_last_file(pt: PathTemplate) tuple[source]#

Get complete path to first and last image

Parameters:
  • parameter (Path template) –

  • pt (PathTemplate) –

Return type:

tuple

Returns: Tuple containing first and last image path (first, last)

has_shutterless()[source]#

Check if detector is capable of shutterless acquisition. :returns: True if detector is capable, False otherwise :rtype: (bool)

init()[source]#

Initialise some common paramerters

last_image_saved()[source]#

Get the path to the last saved image :returns: full path. :rtype: (str)

prepare_acquisition(take_dark, start, osc_range, exptime, npass, number_of_images, comment, mesh, mesh_num_lines)[source]#

diffractometer_positions = HWR.beamline.diffractometer.get_positions() self.start_angles = list() for i in range(number_of_images):

self.start_angles.append(“%0.4f deg.” % (start + osc_range * i))

self.header[“file_comments”] = comment self.header[“N_oscillations”] = number_of_images self.header[“Oscillation_axis”] = “omega” self.header[“Chi”] = “0.0000 deg.” try:

self.header[“Phi”] = “%0.4f deg.” % diffractometer_positions.get(

“kappa_phi”, -9999

) self.header[“Kappa”] = “%0.4f deg.” % diffractometer_positions.get(

“kappa”, -9999

)

except Exception:

self.header[“Phi”] = “0.0000 deg.” self.header[“Kappa”] = “0.0000 deg.”

self.header[“Alpha”] = “0.0000 deg.” self.header[“Polarization”] = HWR.beamline.collect.bl_config.polarisation self.header[“Detector_2theta”] = “0.0000 deg.” self.header[“Angle_increment”] = “%0.4f deg.” % osc_range self.header[“Transmission”] = HWR.beamline.transmission.get_value() self.header[“Flux”] = HWR.beamline.flux.get_value() self.header[“Detector_Voffset”] = “0.0000 m” self.header[“Energy_range”] = “(0, 0) eV” self.header[“Trim_directory:”] = “(nil)” self.header[“Flat_field:”] = “(nil)” self.header[“Excluded_pixels:”] = “ badpix_mask.tif” self.header[“N_excluded_pixels:”] = “= 321” self.header[“Threshold_setting”] = (

“%d eV” % self.get_channel_object(“photon_energy”).get_value()

) self.header[“Count_cutoff”] = “1048500” self.header[“Tau”] = “= 0 s” self.header[“Exposure_period”] = “%f s” % (exptime + self.get_deadtime()) self.header[“Exposure_time”] = “%f s” % exptime

start_acquisition()[source]#

Start the acquisition.

stop_acquisition()[source]#

Stop the acquisition.

wait_ready(timeout=30)[source]#

Wait timeout seconds till object is ready.

If timeout is None: wait forever.

Parameters:

timeout (Optional[float], optional) – Timeout (seconds). Defaults to None.