Files
dev/script/test/TestNilson.py
2018-11-23 08:42:01 +01:00

155 lines
5.0 KiB
Python

# Greateyes scan
#******** SCAN Settings ********
Note="DESY - "
Exp_Time= 1
X0=4200
Xstep=450
XNum_points=3
Y0=5960
Ystep=-40
YNum_points=10
GE_ROI_Line = 3
GE_AreaDet = det
GE_ROI_Image= det.getDataMatrix()
GE_Raw_Image= det.getDataMatrix()
GE_BG_Image = det.getDataMatrix()
GE_Spectrum_Conv = det.getDataArray()
GE_Spectrum = det.getDataArray()
GE_BG_Line = det.getArraySize2()
GE_BG_SizeX = det.getArraySize0()
GE_BG_SizeY = det.getArraySize1()
GE_ROI_Line = det.getArraySize2()
GE_ROI_SizeX = det.getArraySize0()
GE_ROI_SizeY = det.getArraySize1()
IZero_Profile = det.getDataArray()
TFY_Profile = det.getDataArray()
IZero=sin
TFY = sin
GE_Sensor_Temp = sin
GE_FrameID = sin
Press_Diag_PV= sin
Press_Spec_PV= sin
Press_Spec_HV =sin
Press_Sample_Ch=sin
Press_Diag_HV = sin
GE_Spectrum_Sum = det.getDataArray()
#******** Functions Definitions ********
def Save_Pre_Scan_Data():
save_dataset("RAW/GE_BG_Image", GE_BG_Image.read())
save_dataset("Processed/GE_Spectrum_Convertion", GE_Spectrum_Conv.read())
save_dataset("Detector/GE_ROI_Line", GE_ROI_Line.read())
save_dataset("Detector/GE_ROI_SizeX", GE_ROI_SizeX.read())
save_dataset("Detector/GE_ROI_SizeY", GE_ROI_SizeY.read())
save_dataset("Detector/Exposure_Time", GE_AreaDet.getExposure())
save_dataset("Detector/GE_Open_Delay", 1)
save_dataset("Detector/GE_Close_Delay", 1)
save_dataset("Detector/GE_Num_Images", GE_AreaDet.getNumImages())
save_dataset("Detector/Gain_Type", 1)
save_dataset("Scan/Scan_Start_Time", time.ctime())
save_dataset("Scan/Note", Note)
#save_dataset("Scan/Note", Note)
def Create_Scan_Dataset():
create_dataset("RAW/GE_Raw_Image", 'd', False, (Num_Images, int(GE_BG_SizeY.take()), int(GE_BG_SizeX.take())))
create_dataset("RAW/IZero_Profile", 'd', False, (Num_Images, 100))
create_dataset("RAW/TFY_Profile", 'd', False, (Num_Images, 100))
create_dataset("Processed/GE_ROI_Image", 'd', False, (Num_Images, int(GE_ROI_SizeY.take()), int(GE_ROI_SizeX.take())))
create_dataset("Processed/GE_Spectrum", 'd', False, (Num_Images, int(GE_BG_SizeX.take())))
create_dataset("Processed/Izero", 'd', False)
create_dataset("Processed/TFY", 'd', False)
create_dataset("Detector/GE_Sensor_Temp", 'd', False)
create_dataset("Scan/GE_FrameID", 'i', False)
create_dataset("Scan/Timestamps", 'l', False)
create_dataset("Pressure/Diagnostic_PV", 'd', False)
create_dataset("Pressure/Diagnostic_HV", 'd', False)
create_dataset("Pressure/Spectrometer_PV", 'd', False)
create_dataset("Pressure/Spectrometer_HV", 'd', False)
create_dataset("Pressure/Sample_Chamber", 'd', False)
create_dataset("RAW/Xposition", 'd', False)
create_dataset("RAW/Yposition", 'd', False)
def Save_Scan_Data():
#sleep(0.2)
append_dataset("RAW/GE_Raw_Image", GE_Raw_Image.read())
append_dataset("RAW/IZero_Profile", IZero_Profile.take())
append_dataset("RAW/TFY_Profile", TFY_Profile.take())
append_dataset("Processed/GE_ROI_Image", GE_ROI_Image.read())
append_dataset("Processed/GE_Spectrum", GE_Spectrum.take())
append_dataset("Processed/Izero", IZero.take())
append_dataset("Processed/TFY", TFY.take())
append_dataset("Detector/GE_Sensor_Temp", GE_Sensor_Temp.take())
append_dataset("Scan/GE_FrameID", GE_FrameID.take())
append_dataset("Scan/Timestamps", GE_FrameID.getTimestampNanos())
append_dataset("Pressure/Diagnostic_PV", Press_Diag_PV.take())
append_dataset("Pressure/Diagnostic_HV", Press_Diag_HV.take())
append_dataset("Pressure/Spectrometer_PV", Press_Spec_PV.take())
append_dataset("Pressure/Spectrometer_HV", Press_Spec_HV.take())
append_dataset("Pressure/Sample_Chamber", Press_Sample_Ch.take())
#Scan_Progress = (100*calcprog(GE_FrameID.take(),GE_start_frame,Num_Images))
def Save_Pos_Scan_Data():
sleep(1)
save_dataset("Processed/GE_Spectrum_Sum", GE_Spectrum_Sum.read())
save_dataset("Scan/Scan_Finish_Time", time.ctime())
#******** Test limits on sample vertical and horizontal motor ********
X0=float(X0)
Xstep=float(Xstep)
Y0=float(Y0)
Ystep=float(Ystep)
X1=X0+(XNum_points*Xstep)
Y1=Y0+(YNum_points*Ystep)
Num_Images= XNum_points*YNum_points
#******** Setting up Caenels ********
values_p_reading=1000*Exp_Time
Scan_Progress = 1
############### Scan ###############
#******** Scan Script Begins here ********
# Set Nr of images to NofImages
#******** Saving Pre Scan data ********
Save_Pre_Scan_Data()
#******** Pre Scan Setup ********
print("Scan starting: " + time.ctime())
GE_start_frame =1
Create_Scan_Dataset()
#Sample_Horiz.move(X0)
#******** Main Scan Function ********
for j in range(XNum_points):
#Sample_Horiz.move(X0+(j*Xstep))
for i in range(YNum_points):
#Sample_Vert.move(Y0+(i*Ystep))
print GE_start_frame , " / ", (XNum_points*YNum_points)
time.sleep(0.001)
Save_Scan_Data()
GE_start_frame = GE_start_frame+1
#Save_Scan_Data()
#Save_Scan_Data()
#******** Saving Pos Scan data ********
Save_Pos_Scan_Data()
#******** Post Scan ********
print("Scan Finished: " + time.ctime())