tomoscan.tomoscan_2bm
Software for tomography scanning with EPICS at APS beamline 2-BM
Classes
- TomoScan2BM
Derived class for tomography scanning with EPICS at APS beamline 2-BM
Functions:
Software for tomography scanning with EPICS at APS beamline 2-BM |
- class tomoscan.tomoscan_2bm.NetBooter_Control(mode='serial', serial_port='COM1', id='admin', password='admin', ip='0.0.0.0')[source]
Bases:
object- Offer NetBooter Control class:
Support serial/telnet/http control Support outlet status checker / power on / power off / reboot Power on/off return setting success or fail, but reboot no return
How to use it:
From Serial NetBooter = NetBooter_Control(mode=’serial’,serial_port=’COM1’) NetBooter.power_on(1) #Return (True,’’) for set Outlet 1 ON success NetBooter.power_off(5) #Return (True,’’) for set Outlet 5 OFF success NetBooter.reboot(3) #No return, use NetBooter internal reboot function, don’t suggest to use it Outlet3_Status = NetBooter.check_outlet_status(3) #Return (True,’’) for Outlet 3 is ON | (False,’’) for OFF
From HTTP NetBooter = NetBooter_Control(mode=’http’,ip=’192.168.1.101’) NetBooter.power_on(2) #Return (True,’’) for set Outlet 2 ON success NetBooter.power_off(4) #Return (True,’’) for set Outlet 4 OFF success Outlet3_Status = NetBooter.check_outlet_status(3) #Return (True,’’) for Outlet 3 is ON | (False,’’) for OFF
- NetBooter_httppost(url)[source]
Common NetBooter http post Input: url(/status.xml[for get stauts] or /cmd.cgi?rly=#1[for set power on/off])
- check_outlet_status(outlet)[source]
Check outlet status Input: outlet(1/2/3/4/5) Output: True,’’(For ON)/False,’’(For OFF)/Exception,Exception Reason
- power_off(outlet)[source]
Set specific outlet off Input: outlet(1/2/3/4/5) Output: True,’’[Set success]/False,’’[Set fail]/Exception,’’
- class tomoscan.tomoscan_2bm.TomoScan2BM(pv_files, macros)[source]
Bases:
TomoScanHelicalDerived class used for tomography scanning with EPICS at APS beamline 2-BM
- Parameters:
pv_files (list of str) – List of files containing EPICS pvNames to be used.
macros (dict) – Dictionary of macro definitions to be substituted when reading the pv_files
- begin_scan()[source]
Performs the operations needed at the very start of a scan.
This does the following:
Set data directory.
Set the TomoScan xml files
Calls the base class method.
Opens the front-end shutter.
Sets the PSO controller.
Creates theta array using list from PSO.
Turns on data capture.
- close_frontend_shutter()[source]
Closes the shutters to collect dark fields. This does the following:
Closes the 2-BM front-end shutter.
- close_shutter()[source]
Closes the shutters to collect dark fields. This does the following:
Closes the 2-BM fast shutter.
- end_scan()[source]
Performs the operations needed at the very end of a scan.
This does the following:
Calls
save_configuration().Put the camera back in “FreeRun” mode and acquiring so the user sees live images.
Sets the speed of the rotation stage back to the maximum value.
Calls
move_sample_in().Calls the base class method.
Closes shutter.
Add theta to the raw data file.
Copy raw data to data analysis computer.
- open_frontend_shutter()[source]
Opens the shutters to collect flat fields or projections.
This does the following:
Checks if we are in testing mode. If we are, do nothing else opens the 2-BM front-end shutter.
- open_shutter()[source]
Opens the shutters to collect flat fields or projections.
This does the following:
Opens the 2-BM fast shutter.
- pv_callback_2bm(pvname=None, value=None, char_value=None, **kw)[source]
Callback function that is called by pyEpics when certain EPICS PVs are changed
- reinit_camera()[source]
Init camera PVs based on the mctOptics selection.
- Parameters:
camera (int, optional) – The camera to use. Optique Peter system support 2 cameras
- set_scan_exposure_time(exposure_time=None)[source]
Sets the camera exposure time during the scan.
The exposure_time is written to the camera’s
AcquireTimePV.- Parameters:
exposure_time (float, optional) – The exposure time to use. If None then the value of the
ExposureTimePV is used.
- set_trigger_mode(trigger_mode, num_images)[source]
Sets the trigger mode SIS3820 and the camera.
- Parameters:
trigger_mode (str) – Choices are: “FreeRun”, “Internal”, or “PSOExternal”
num_images (int) – Number of images to collect. Ignored if trigger_mode=”FreeRun”. This is used to set the
NumImagesPV of the camera.
- wait_frontend_shutter_open(timeout=-1)[source]
Waits for the front end shutter to open, or for
abort_scan()to be called.While waiting this method periodically tries to open the shutter..
- Parameters:
timeout (float) – The maximum number of seconds to wait before raising a ShutterTimeoutError exception.
- Raises:
ScanAbortError – If
abort_scan()is calledShutterTimeoutError – If the open shutter has not completed within timeout value.