mxcubecore.HardwareObjects.Harvester#

[Name] Harvester

[Description] Harvester is use as a replacement of the Dewar sample storage This hardware object is use in couple with a Sample changer. Sample changer load the sample from Harvester instead of dewar. It is compatible with the Crystal Direct Harvester 3. It has some functionalities, like Harvest Sample, etc….

[Commands]

  • getSampleList : Get list of available sample from Harvester

  • Harvest : Harvest sample make it ready to load

[Example xml file:]
<object class=”Harvester”>

<username>harvester</username> <exporter_address>wid30harvest:9001</exporter_address>

</object>


Classes

Harvester(name)

Harvester functionality

HarvesterState()

Enumeration of Harvester states

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

Bases: HardwareObject

Harvester functionality

The Harvester Class consists of methods that execute exporter commands this class communicate with the Crystal Direct Harvester Machine

abort() str[source]#

Send Abort command Abort any current Harvester Actions

Return type:

str

check_crystal_state(crystal_uuid: str) str | None[source]#

Check wether if a Crystal is in pending_and_current or not

Args (str) : Crystal uuid

Return (str): status of the crystal_uuid pending / current

Parameters:

crystal_uuid (str) –

Return type:

str | None

current_crystal_state(crystal_uuid: str) str[source]#

get current crystal state

Args: state (str) : Crystal uuid

Return (str): State of the crystal uuid

Parameters:

crystal_uuid (str) –

Return type:

str

get_calibrated_pin_offset() tuple[float][source]#

Get Stored x , y , z offsets position after calibration procedure

return: (float) x, y, z offsets

Return type:

tuple[float]

get_crystal_images_urls(crystal_uuid: str) str[source]#

Get the Harvester Sample List Images

Args (str) : Crystal uuid

Return (str): image_url from current processing plan for current crystal uuid”

Parameters:

crystal_uuid (str) –

Return type:

str

get_crystal_uuids() list[str][source]#

Get the Harvester Sample List uuid

Return (List): list of crystal by uuid from the current processing plan”

Return type:

list[str]

get_current_crystal() str[source]#

Get the Harvester current harvested crystal

Return (str): the crystal uuid

Return type:

str

get_image_target_x(crystal_uuid: str) float[source]#

Get the crystal images position x

Args (str) : Crystal uuid

Return (float): Crystal x coordinate in plate

Parameters:

crystal_uuid (str) –

Return type:

float

get_image_target_y(crystal_uuid: str) float[source]#

Get the crystal images position Y

Args (str) : Crystal uuid

Return (float): Crystal Y coordinate in plate

Parameters:

crystal_uuid (str) –

Return type:

float

get_last_pin_cut_shape_offset_x() float[source]#

Pin shape Offset x position Return (float): last pin cut shape offset x

Return type:

float

get_last_pin_cut_shape_offset_y() float[source]#

Pin shape Offset Y position Return (float): last pin cut shape offset y

Return type:

float

get_last_sample_drift_offset_x() float[source]#

Sample Offset X position when drifted Return (float): last pin drift offset x

Return type:

float

get_last_sample_drift_offset_y() float[source]#

Sample Offset Y position when drifted Return (float): last pin drift offset y

Return type:

float

get_last_sample_drift_offset_z() float[source]#

Sample Offset Z position when drifted Return (float): last pin drift offset z

Return type:

float

get_number_of_available_pin() int[source]#

Get number of available pin

return: (Integer)

Return type:

int

get_offsets_for_sample_centering() tuple[float][source]#

Calculate sample centering offsets based on Harvested pin shape pre-calculated offsets

Return (tuple(float)): (phiy_offset, centringFocus, centringTableVertical)

Return type:

tuple[float]

get_plate_id() str[source]#

get current plate ID

Args: Return (str) : current Plate ID

Return type:

str

get_room_temperature_mode() bool[source]#

get RoomTemperature Mode state

Args (str) : Crystal uuid

Return (bool): TemperatureMode , True if Room Temp else False

Return type:

bool

get_sample_acronyms() list[str][source]#

Get the Harvester Sample List by Acronyms

Return (List): list of crystal by Acronyms from the current processing plan”

Return type:

list[str]

get_sample_names() list[str][source]#

Get the Harvester Sample List Name

Return (List): list of crystal by names from the current processing plan”

Return type:

list[str]

get_samples_state() list[str][source]#

Get the Harvester Samples State

Return (List): list of crystal state “waiting_for_transfer, Running etc..”

Return type:

list[str]

get_state() str[source]#

Get the Harvester State

Return (str): state “Ready, Running etc..”

Return type:

str

get_status() str[source]#

Get the Harvester Status

Return (str): Status

Return type:

str

harvest_crystal(crystal_uuid: str) str[source]#

Harvester crystal

Args (str) : Crystal uuid

Parameters:

crystal_uuid (str) –

Return type:

str

harvest_sample_before_mount(sample_uuid: str, wait_before_load: bool = False) bool[source]#
send harvest sample command

Check and set the current state of the Harvester and the sample before Harvest

Return (bool): whether the sample has been harvest then mount (True) or had and exception (False)

Parameters:
  • sample_uuid (str) –

  • wait_before_load (bool) –

Return type:

bool

init()[source]#

Init

is_crystal_harvested(crystal_uuid: str) str[source]#

Check Whether if the current crystal is harvested

args: the crystal uuid

Return (bool): True if the crystal is the current harvested crystal

Parameters:

crystal_uuid (str) –

Return type:

str

load_calibrated_pin() None[source]#

Load a Pin for Calibration Procedure

Return type:

None

load_plate(plate_id: str) str[source]#

Change Harvester current plate

Args (str) : Plate ID Return (str) : current Plate ID

Parameters:

plate_id (str) –

Return type:

str

queue_harvest_next_sample(data_model, sample_uuid: str, current_queue: dict)[source]#

While queue execution send harvest request on next sample of the queue list current_queue : a build representation of the queue based on python dictionaries

Parameters:
  • sample_uuid (str) –

  • current_queue (dict) –

queue_harvest_sample(data_model, sample_uuid: str, current_queue: dict) None[source]#

While queue execution send harvest request current_queue : a build representation of the queue based on python dictionaries

Parameters:
  • sample_uuid (str) –

  • current_queue (dict) –

Return type:

None

set_calibration_state(state: bool)[source]#

Set Calibration state

Args: state (bool) : Whether a calibration procedure is on going

Parameters:

state (bool) –

set_room_temperature_mode(value: bool) bool[source]#

Set Harvester temperature mode

Args: (bool) set room temperature when true

Return (bool): TemperatureMode

Parameters:

value (bool) –

Return type:

bool

store_calibrated_pin(x: float, y: float, z: float) None[source]#

Store x , y , z offsets position to crystal direct machine after calibration procedure

Args: (float) x, y, z offsets

Parameters:
Return type:

None

transfer_sample() None[source]#

Transfer the current Harvested Crystal

Return type:

None

trash_sample()[source]#

Trash the current Harvested Crystal

class mxcubecore.HardwareObjects.Harvester.HarvesterState[source]#

Bases: object

Enumeration of Harvester states