pyfast_adt.main.adaptor.microscope.adaptor_fei_temspy
Classes
every angle for moving the satge must be in deg as input and output, velocity for the stage in radian/s and um for the stage xyz movement |
Module Contents
- class pyfast_adt.main.adaptor.microscope.adaptor_fei_temspy.Tem_fei_temspy(ip='192.168.21.1', port=8080, cam_table=None, master=None)
Bases:
pyfast_adt.main.adaptor.microscope.adaptor_tem.Tem_baseevery angle for moving the satge must be in deg as input and output, velocity for the stage in radian/s and um for the stage xyz movement
- tem = None
- result = []
- master = None
- client
- calibrated_speed = None
- move_stage_up(stage_ampl)
‘ take a float as stage ampl (um) and move the stage on +y of that quantity, rotation and scale to um already inside
- move_stage_down(stage_ampl)
- move_stage_left(stage_ampl)
- move_stage_right(stage_ampl)
- move_stage_z_up(stage_ampl)
- move_stage_z_down(stage_ampl)
- move_beam_up(beam_ampl)
- move_beam_down(beam_ampl)
- move_beam_left(beam_ampl)
- move_beam_right(beam_ampl)
- move_stem_beam_up(beam_ampl)
- move_stem_beam_down(beam_ampl)
- move_stem_beam_left(beam_ampl)
- move_stem_beam_right(beam_ampl)
- diffraction(checked_diff_value, kl=None)
“ this function set directly to 350 KL to fix a bug in temscript, this is ok only for the tecnai spirit, we should set in an external file which is the standard KL to set
- get_defocus()
- set_defocus(defocus)
- euc_focus()
- wobbler(checked_wobbler_value)
- move_screen(checked_screen_value)
- get_screen_position()
- beam_blank(checked_blank_value)
- apply_rotation(vector, theta=216.4)
- fake()
- get_stage(standard=False)
return it in deg and um if standard == True return also the measuring units
- set_stage_position(x=None, y=None, z=None, a=None, b=None)
- get_beam_shift()
return the value of the beam shift
- set_beam_shift(beam_pos)
set the value of the beam shift
- connect(ip, port)
- get_projection_mode()
- set_magnification(mag_value)
- get_magnification()
- set_KL(kl_value)
- get_KL()
“return the KL value in mm
- get_intensity(slot=0)
slot: 0,1,2, where 0 is not store the c2% value, 1 is store in beam_intensity_1, and 2 in the beam_intensity_2
- set_intensity(intensity=0, slot=0)
- get_spotsize()
return the c1 index value, in fei/termofisher this is the spotsize
- load_calibration_table(cam_table)
- set_alpha(angle, velocity=1)
- set_alpha_temspy(angle, velocity=1, event=None, stop_event=None)
this is not really compatible with the prague method right now, because the bot start changing the value and the wait event will only press the button but all the threads starts together
- set_xyz_temspy(value, axis, velocity=1, event=None, stop_event=None)
move an axis of the gonio using compustage temspy
- set_xyz_tui(axis)
move an axis of the gonio using stage tui bot
- microscope_thread_setup(tracking_file='tracking.txt', tracking_dict=None, timer=None, event=None, stop_event=None)
“this function read the tracking file and set up the threads necessary for the acqusition. 3 sockets are necessary to work. if tracking_positions == None and experiment_type == “continuous”, the stage is threaded only for continuous rotation (trackless experiment). if tracking positions != None and experiment_type == “continuous”, the stage is threaded for continuous rotation and the beam is threaded for tracking. if experiment_type == “stepwise”, the beam only is threaded for tracking waiting to pass the target angle to apply the tracking beamshift. in the case of cred, results are displayed in the variable self.result
- calc_stage_speed(speed)
“calculate the speed in degrees/s for the tecnai series, 1 is equivalent to the maximum (normalized). speed is provided in degrees/s and return it in rad/s.
- angle_tracking(final_angle, result: list, timer=None, event=None, stop_event=None)
- beamshift_tracking(tracking_dict, result=None, timer=None, event=None, stop_event=None)
this thread live in a separate socket and check continuously the position of the stage. when the angle is in the one to apply the tracking, the beamshift is applied to track the crystal. the thread work passivly waiting for the angle to be reached/passed to work
- beamshift_tracking_stem(tracking_dict, result=None, timer=None, event=None, stop_event=None)
this thread live in a separate socket and check continuously the position of the stage. when the angle is in the one to apply the tracking, the beamshift is applied to track the crystal. the thread work passivly waiting for the angle to be reached/passed to work
- get_voltage()
- test_tracking(tracking, ub_class=None)
this thread live in a separate socket and check continuously the position of the stage. when the angle is in the one to apply the tracking, the beamshift is applied to track the crystal. the thread work passivly waiting for the angle to be reached/passed to work
- test_tracking_stem(ub_class)
this thread live in a separate socket and check continuously the position of the stage. when the angle is in the one to apply the tracking, the beamshift is applied to track the crystal. the thread work passivly waiting for the angle to be reached/passed to work
- continuous_rotation(a, speed, event=None, stop_event=None)
modified cred function for fei_temspy because the stage is rotated by the bot. so it’s normal that the wait here is commented because the wait is in the set_alpha_temspy function. a input in deg and speed in a.u. (radians)
- get_illumination_mode()
return micro or nanoprobe for the condenser minilens fei
- set_illumination_mode(mode)
set micro or nanoprobe for the condenser minilens fei
- get_instrument_mode()
return the current instrument mode i.e. TEM/STEM
- set_instrument_mode(mode)
set the current instrument mode i.e. TEM/STEM