mxcubecore.HardwareObjects.PlateManipulator#

[Name] PlateManipulator

[Description] Plate manipulator hardware object is used to use diffractometer in plate mode. It is compatable with md2, md3 diffractometers. Class is based on SampleChanger, so it has all the sample changed functionalities, like mount, unmount sample (in this case move to plate position). Plate is organized in rows and columns. Each cell (Cell) contains drop (Drop). Each drop could contain several crystals (Xtal). If CRIMS is available then each drop could have several crystals.

[Channels]

  • self.chan_current_phase : diffractometer phase

  • self.chan_plate_location : plate location (col, row)

  • self.chan_drop_location : plate location (col, row, drop)

  • self.chan_state : diffractometer state

[Commands]

  • self.cmd_move_to_location : move to plate location

[Emited signals]

  • emited signals defined in SampleChanger class

[Included Hardware Objects]#

name | signals | functions

Classes

Cell(row, row_chr, col_index, drops_num)

Drop(cell, drops_num)

PlateManipulator(*args, **kwargs)

Xtal(drop, index)

class mxcubecore.HardwareObjects.PlateManipulator.Cell(row, row_chr, col_index, drops_num)[source]#

Bases: Container

class mxcubecore.HardwareObjects.PlateManipulator.Drop(cell, drops_num)[source]#

Bases: Container

get_sample()[source]#

In this cas we assume that there is one crystal per drop

is_loaded()[source]#

Returns if the sample is currently loaded for data collection :rtype: bool

class mxcubecore.HardwareObjects.PlateManipulator.Xtal(drop, index)[source]#

Bases: Sample

get_basket_no()[source]#

In this cas we assume a drop is a basket or puck

get_cell_no()[source]#

In this cas we assume wells in the row is a cell

get_container()[source]#

Returns the parent of this element :rtype: Container

get_index()[source]#
Descript.Sample index is calculated relaive to the row (Basket)

In this case we assume that in drop is one xtal This should be changed to various num of xtals in the drop