Included Memory Shift
This commit is contained in:
BIN
config/AbsortionSpectrum/Co L edge-NCM-2.abs
Normal file
BIN
config/AbsortionSpectrum/Co L edge-NCM-2.abs
Normal file
Binary file not shown.
BIN
config/AbsortionSpectrum/P-SCl-L edge-NCM.abs
Normal file
BIN
config/AbsortionSpectrum/P-SCl-L edge-NCM.abs
Normal file
Binary file not shown.
@@ -1,3 +1,4 @@
|
||||
Grating_ch=ch.psi.pshell.epics.ChannelString|X11MA-PGM-GRCH:GRATING|||true
|
||||
DiffOrd=ch.psi.pshell.epics.ChannelString|X11MA-PGM:difforder0|||true
|
||||
voltage=ch.psi.pshell.epics.ChannelDouble|X11MA-KEI13:SETVOLTAGE|||true
|
||||
eiger=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-SD1|||true
|
||||
@@ -86,6 +87,7 @@ CADC4=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC4|Read||true
|
||||
#CADC6=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC6|Read||true
|
||||
#CADC7=ch.psi.pshell.epics.ChannelDouble|X11MA-ES1:CADC7|Read||true
|
||||
girder_x=ch.psi.pshell.epics.Positioner|X11MA-HG:X_SET X11MA-HG:X1|||true
|
||||
girder_y=ch.psi.pshell.epics.Positioner|X11MA-HG:Y_SET X11MA-HG:Y1|||true
|
||||
temp_readout=ch.psi.pshell.epics.ReadonlyProcessVariable|X11MA-PC-SW:Pt100-K|||true
|
||||
cam2=ch.psi.pshell.epics.AreaDetector|X11MA-ES1-CAM2|||true
|
||||
raw=ch.psi.pshell.imaging.CameraSource|eiger|||true
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"simpleEditor" : false,
|
||||
"hideEditorLineNumbers" : false,
|
||||
"hideEditorContextMenu" : false,
|
||||
"consoleLocation" : "Left",
|
||||
"consoleLocation" : "Status",
|
||||
"dataPanelLocation" : null,
|
||||
"openDataFilesInDocTab" : false,
|
||||
"noVariableEvaluationPropagation" : false,
|
||||
@@ -55,8 +55,8 @@
|
||||
"scanPlotDisabled" : false,
|
||||
"scanTableDisabled" : false,
|
||||
"cachedDataPanel" : false,
|
||||
"dataExtensions" : "",
|
||||
"dataSubFiles" : "",
|
||||
"dataExtensions" : "log txt xml py png tif tiff mat",
|
||||
"dataSubFiles" : "*",
|
||||
"hideFileName" : false,
|
||||
"showEmergencyStop" : false,
|
||||
"showHomingButtons" : false,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#Thu Jul 01 12:57:32 CEST 2021
|
||||
#Mon Oct 17 12:47:34 CEST 2022
|
||||
environment=prod
|
||||
testParameters=-testenv -user slssim\:4DMGBarXmr
|
||||
sourceFolder=/sls/X11MA/Data1/e19172
|
||||
sourceFolder=/sls/X11MA/Data1/e19687
|
||||
prodParameters=\ -user slssim\:4DMGBarXmr
|
||||
devParameters=-devenv -user slssim\:slssim
|
||||
ownerGroup=
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#Fri Sep 16 10:47:58 CEST 2022
|
||||
#Wed Nov 02 13:46:17 CET 2022
|
||||
keywords=List;[]
|
||||
ownerEmail=String;arantxa.fraile@ub.edu
|
||||
ownerEmail=String;joanna.olszowka@jh-inst.cas.cz
|
||||
contactEmail=String;armin.kleibert@psi.ch
|
||||
owner=String;arantxa fraile
|
||||
owner=String;Joanna Olszowka
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
#Fri Sep 16 10:48:13 CEST 2022
|
||||
#Fri Oct 07 10:08:47 CEST 2022
|
||||
SessionCounter=78
|
||||
CurrentSession=78
|
||||
|
||||
@@ -1,31 +1,26 @@
|
||||
#Wed Oct 05 09:33:02 CEST 2022
|
||||
HARMONIC_ID_1=1
|
||||
#Wed Nov 09 08:38:27 CET 2022
|
||||
RSYNC_USER=
|
||||
CFF=2.250
|
||||
CFF=2.25
|
||||
OUTLIERS_THRESHOLD=1000000000
|
||||
NORM_FILE=/sls/X11MA/data/e19357/Data1/2021_10
|
||||
NORM_FILE=/sls/X11MA/data/e18927/Data1/2022_10/20221017/20221017_Take_Image/i221017_042/i221017_042\#001.tif
|
||||
AUTO_SWITCH_VALVE=false
|
||||
DRY_RUN=false
|
||||
POL_ID_2=Circ_Minus
|
||||
OFFSET_ID_1=0.0
|
||||
ID=PGM_ID1_ID2
|
||||
OFFSET_ID_2=0.0
|
||||
DRY_RUN=true
|
||||
POL_ID_2=Lin_Hor
|
||||
ID=ID2
|
||||
proposal=proposal
|
||||
ENERGY=642.0
|
||||
ENERGY=800
|
||||
proposer=proposer
|
||||
GRATING=G2_1200
|
||||
POL_ID_1=Circ_Plus
|
||||
GRATING=G3_600
|
||||
image_shift_angle=1.0963912950426833
|
||||
RSYNC_HOST=
|
||||
sample=sample
|
||||
RSYNC_PATH=
|
||||
pgroup=pgroup
|
||||
AUTO_SWITCH_BEAMLINE=false
|
||||
AUTO_SWITCH_SHUTTER=true
|
||||
ALPHA_ID_2=0.0
|
||||
ALPHA_ID_1=0.0
|
||||
RSYNC_DEL=true
|
||||
DIFF_ORD=1
|
||||
AVERAGING_DETECTOR=false
|
||||
image_shift_scale=3.296579966879864
|
||||
AVERAGING_DETECTOR=true
|
||||
FdaBrowser=false
|
||||
authors=author1|author2
|
||||
HARMONIC_ID_2=1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#Thu Sep 22 15:59:51 CEST 2022
|
||||
LastRunDate=220922
|
||||
FileSequentialNumber=15766
|
||||
DaySequentialNumber=86
|
||||
#Wed Nov 09 14:48:58 CET 2022
|
||||
LastRunDate=221109
|
||||
FileSequentialNumber=17887
|
||||
DaySequentialNumber=13
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#Mon Aug 08 11:48:07 CEST 2022
|
||||
minValue=-2.0
|
||||
unit=mm
|
||||
#Fri Oct 07 16:45:18 CEST 2022
|
||||
offset=0.0
|
||||
maxValue=3.0
|
||||
maxValue=4.0
|
||||
rotation=false
|
||||
precision=3
|
||||
sign_bit=0
|
||||
scale=1.0
|
||||
description=null
|
||||
description=x set point
|
||||
resolution=0.005
|
||||
minValue=-4.0
|
||||
unit=mm
|
||||
sign_bit=0
|
||||
|
||||
11
devices/girder_y.properties
Normal file
11
devices/girder_y.properties
Normal file
@@ -0,0 +1,11 @@
|
||||
#Fri Oct 07 14:17:02 CEST 2022
|
||||
minValue=-3.0
|
||||
unit=mm
|
||||
offset=0.0
|
||||
maxValue=3.0
|
||||
rotation=false
|
||||
precision=3
|
||||
sign_bit=0
|
||||
scale=1.0
|
||||
description=y set point
|
||||
resolution=NaN
|
||||
20
devices/i221108_129#001.tif.properties
Normal file
20
devices/i221108_129#001.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Tue Nov 08 16:30:50 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221108_134#002.tif.properties
Normal file
20
devices/i221108_134#002.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Tue Nov 08 16:55:37 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221108_134#003.tif.properties
Normal file
20
devices/i221108_134#003.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Tue Nov 08 16:55:38 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221108_134.tif.properties
Normal file
20
devices/i221108_134.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Tue Nov 08 16:58:36 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221108_134_shifted.tif.properties
Normal file
20
devices/i221108_134_shifted.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Tue Nov 08 16:58:33 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_002.tif.properties
Normal file
20
devices/i221109_002.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 08:39:06 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_002_shifted.tif.properties
Normal file
20
devices/i221109_002_shifted.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 08:39:05 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_006.tif.properties
Normal file
20
devices/i221109_006.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 09:11:46 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_006_shifted.tif.properties
Normal file
20
devices/i221109_006_shifted.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 09:11:44 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_007.tif.properties
Normal file
20
devices/i221109_007.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 09:45:02 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_007_shifted.tif.properties
Normal file
20
devices/i221109_007_shifted.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 09:45:01 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#001.tif.properties
Normal file
20
devices/i221109_009#001.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:03 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#002.tif.properties
Normal file
20
devices/i221109_009#002.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:25 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#003.tif.properties
Normal file
20
devices/i221109_009#003.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:05 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#004.tif.properties
Normal file
20
devices/i221109_009#004.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:05 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#005.tif.properties
Normal file
20
devices/i221109_009#005.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:06 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#006.tif.properties
Normal file
20
devices/i221109_009#006.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:32:47 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#007.tif.properties
Normal file
20
devices/i221109_009#007.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:07 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#008.tif.properties
Normal file
20
devices/i221109_009#008.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:08 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#009.tif.properties
Normal file
20
devices/i221109_009#009.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:33 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009#010.tif.properties
Normal file
20
devices/i221109_009#010.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:31:09 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009.tif.properties
Normal file
20
devices/i221109_009.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:32:20 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_009_shifted.tif.properties
Normal file
20
devices/i221109_009_shifted.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:32:21 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#002.tif.properties
Normal file
20
devices/i221109_010#002.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:40 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#003.tif.properties
Normal file
20
devices/i221109_010#003.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:44 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#004.tif.properties
Normal file
20
devices/i221109_010#004.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:52 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#005.tif.properties
Normal file
20
devices/i221109_010#005.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:53 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#006.tif.properties
Normal file
20
devices/i221109_010#006.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:54 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#007.tif.properties
Normal file
20
devices/i221109_010#007.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:54 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#008.tif.properties
Normal file
20
devices/i221109_010#008.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:55 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#009.tif.properties
Normal file
20
devices/i221109_010#009.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:56 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_010#010.tif.properties
Normal file
20
devices/i221109_010#010.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:35:57 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_012#001.tif.properties
Normal file
20
devices/i221109_012#001.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:48:33 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_012#002.tif.properties
Normal file
20
devices/i221109_012#002.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:48:35 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_012#003.tif.properties
Normal file
20
devices/i221109_012#003.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:48:35 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_013#001.tif.properties
Normal file
20
devices/i221109_013#001.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:49:23 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_013#004.tif.properties
Normal file
20
devices/i221109_013#004.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:49:24 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_013.tif.properties
Normal file
20
devices/i221109_013.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:49:16 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
20
devices/i221109_013_shifted.tif.properties
Normal file
20
devices/i221109_013_shifted.tif.properties
Normal file
@@ -0,0 +1,20 @@
|
||||
#Wed Nov 09 14:49:17 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
invert=false
|
||||
spatialCalOffsetX=NaN
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
scale=1.0
|
||||
rescaleFactor=1.0
|
||||
grayscale=false
|
||||
spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
flipHorizontally=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
rescaleOffset=0.0
|
||||
transpose=false
|
||||
roiWidth=-1
|
||||
@@ -1,4 +1,4 @@
|
||||
#Tue Oct 04 10:43:41 CEST 2022
|
||||
#Wed Nov 09 14:28:01 CET 2022
|
||||
spatialCalOffsetY=NaN
|
||||
spatialCalOffsetX=NaN
|
||||
colormapLogarithmic=false
|
||||
@@ -6,12 +6,12 @@ scale=1.0
|
||||
grayscale=false
|
||||
spatialCalScaleX=NaN
|
||||
spatialCalScaleY=NaN
|
||||
colormapMax=NaN
|
||||
colormapMax=237.506
|
||||
rescaleOffset=0.0
|
||||
roiWidth=-1
|
||||
colormap=Viridis
|
||||
invert=false
|
||||
colormapMin=NaN
|
||||
colormapMin=0.0
|
||||
rotation=0.0
|
||||
rotationCrop=false
|
||||
rescaleFactor=1.0
|
||||
@@ -19,7 +19,7 @@ spatialCalUnits=mm
|
||||
flipVertically=false
|
||||
roiHeight=-1
|
||||
flipHorizontally=false
|
||||
colormapAutomatic=true
|
||||
colormapAutomatic=false
|
||||
roiY=0
|
||||
roiX=0
|
||||
transpose=false
|
||||
|
||||
@@ -525,6 +525,7 @@
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="panelImgControls" alignment="1" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="buttonImgStart" linkSize="9" min="-2" max="-2" attributes="0"/>
|
||||
@@ -532,7 +533,6 @@
|
||||
<Component id="buttonImgAbort" linkSize="9" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="panelImgControls" alignment="1" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
@@ -540,12 +540,12 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="panelImgControls" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="269" max="32767" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="buttonImgStart" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="buttonImgAbort" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace pref="73" max="32767" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@@ -611,17 +611,25 @@
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="comboImgMethod" linkSize="34" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="comboSwitch" linkSize="34" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="comboSeq" linkSize="34" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="checkImgAutosave" linkSize="34" alignment="0" min="-2" pref="95" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" pref="73" max="32767" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLabel20" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jLabel4" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jLabel9" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="labelScans" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="comboImgMethod" linkSize="34" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="comboSwitch" linkSize="34" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="comboSeq" linkSize="34" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="checkImgAutosave" linkSize="34" alignment="0" min="-2" pref="95" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" pref="76" max="32767" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLabel20" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jLabel4" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jLabel9" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="labelScans" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="checkDriftCorrection" min="-2" pref="154" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
@@ -632,7 +640,7 @@
|
||||
<Component id="spinnerImgExp" linkSize="6" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="spinnerImgMeasurements" linkSize="6" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" pref="73" max="32767" attributes="0"/>
|
||||
<EmptySpace type="separate" pref="76" max="32767" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="labelImgEng1" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="labelImgEng2" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
@@ -645,7 +653,7 @@
|
||||
</Group>
|
||||
<Component id="spinnerScans" linkSize="6" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace pref="63" max="32767" attributes="0"/>
|
||||
<EmptySpace pref="67" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@@ -678,14 +686,20 @@
|
||||
<Component id="spinnerImgAvg" linkSize="32" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="2" attributes="0">
|
||||
<Component id="labelScans" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="spinnerScans" linkSize="32" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="2" attributes="0">
|
||||
<Component id="checkImgAutosave" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="checkSwitchPol" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="2" attributes="0">
|
||||
<Component id="labelScans" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="spinnerScans" linkSize="32" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="checkSwitchPol" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="checkImgAutosave" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="checkDriftCorrection" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
@@ -846,6 +860,11 @@
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JCheckBox" name="checkDriftCorrection">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="Drift correction"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
|
||||
@@ -348,13 +348,14 @@ public class DataAcquisition extends Panel {
|
||||
args.put("SEQUENCE", comboSeq.getSelectedItem());
|
||||
args.put("MEASUREMENTS", spinnerImgMeasurements.getValue());
|
||||
args.put("AUTO_SAVE", checkImgAutosave.isSelected());
|
||||
args.put("DRIFT_CORRECTION", checkDriftCorrection.isSelected());
|
||||
args.put("EXPOSURE", spinnerImgExp.getValue());
|
||||
args.put("AVERAGE", spinnerImgAvg.getValue());
|
||||
args.put("ENERGY_1", spinnerImgEng1.getValue());
|
||||
args.put("ENERGY_2", spinnerImgEng2.getValue());
|
||||
args.put("SWITCH_POL", checkSwitchPol.isSelected());
|
||||
args.put("NUMBER_SCANS", (comboImgMethod.getSelectedItem() == ImgMethod.Take_Image.toString()) ? ((Integer)spinnerScans.getValue()) : 1 );
|
||||
|
||||
|
||||
runAsync("templates/Eiger2Img", args).handle((ret, t) -> {
|
||||
if ((t != null) && (!getContext().isAborted())) {
|
||||
showException((Exception) t);
|
||||
@@ -539,6 +540,7 @@ public class DataAcquisition extends Panel {
|
||||
checkSwitchPol = new javax.swing.JCheckBox();
|
||||
labelScans = new javax.swing.JLabel();
|
||||
spinnerScans = new javax.swing.JSpinner();
|
||||
checkDriftCorrection = new javax.swing.JCheckBox();
|
||||
jPanel3 = new javax.swing.JPanel();
|
||||
panelSpectrum = new javax.swing.JPanel();
|
||||
jLabel23 = new javax.swing.JLabel();
|
||||
@@ -974,6 +976,8 @@ public class DataAcquisition extends Panel {
|
||||
|
||||
spinnerScans.setModel(new javax.swing.SpinnerNumberModel(1, 1, 1000, 1));
|
||||
|
||||
checkDriftCorrection.setText("Drift correction");
|
||||
|
||||
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
|
||||
jPanel5.setLayout(jPanel5Layout);
|
||||
jPanel5Layout.setHorizontalGroup(
|
||||
@@ -986,16 +990,21 @@ public class DataAcquisition extends Panel {
|
||||
.addComponent(labelSwitching1, javax.swing.GroupLayout.Alignment.TRAILING))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(comboImgMethod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(comboSwitch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(comboSeq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(checkImgAutosave, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 73, Short.MAX_VALUE)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(labelScans, javax.swing.GroupLayout.Alignment.TRAILING))
|
||||
.addGroup(jPanel5Layout.createSequentialGroup()
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(comboImgMethod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(comboSwitch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(comboSeq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(checkImgAutosave, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 76, Short.MAX_VALUE)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(labelScans, javax.swing.GroupLayout.Alignment.TRAILING)))
|
||||
.addGroup(jPanel5Layout.createSequentialGroup()
|
||||
.addComponent(checkDriftCorrection, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 0, Short.MAX_VALUE)))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(spinnerImgAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
@@ -1004,7 +1013,7 @@ public class DataAcquisition extends Panel {
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(spinnerImgExp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(spinnerImgMeasurements, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 73, Short.MAX_VALUE)
|
||||
.addGap(18, 76, Short.MAX_VALUE)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(labelImgEng1, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(labelImgEng2, javax.swing.GroupLayout.Alignment.TRAILING))
|
||||
@@ -1013,7 +1022,7 @@ public class DataAcquisition extends Panel {
|
||||
.addComponent(spinnerImgEng1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(spinnerImgEng2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(spinnerScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addContainerGap(63, Short.MAX_VALUE))
|
||||
.addContainerGap(67, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerImgAvg, spinnerImgEng1, spinnerImgEng2, spinnerImgExp, spinnerImgMeasurements, spinnerScans});
|
||||
@@ -1046,13 +1055,17 @@ public class DataAcquisition extends Panel {
|
||||
.addComponent(jLabel9)
|
||||
.addComponent(spinnerImgAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(labelScans)
|
||||
.addComponent(spinnerScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(checkImgAutosave)
|
||||
.addComponent(checkSwitchPol))
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(jPanel5Layout.createSequentialGroup()
|
||||
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(labelScans)
|
||||
.addComponent(spinnerScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(checkSwitchPol))
|
||||
.addGroup(jPanel5Layout.createSequentialGroup()
|
||||
.addComponent(checkImgAutosave)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(checkDriftCorrection)))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
@@ -1081,13 +1094,13 @@ public class DataAcquisition extends Panel {
|
||||
jPanel2.setLayout(jPanel2Layout);
|
||||
jPanel2Layout.setHorizontalGroup(
|
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(panelImgControls, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonImgStart)
|
||||
.addGap(76, 76, 76)
|
||||
.addComponent(buttonImgAbort)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addComponent(panelImgControls, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonImgAbort, buttonImgStart});
|
||||
@@ -1097,11 +1110,11 @@ public class DataAcquisition extends Panel {
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(panelImgControls, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 269, Short.MAX_VALUE)
|
||||
.addGap(30, 30, 30)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(buttonImgStart)
|
||||
.addComponent(buttonImgAbort))
|
||||
.addContainerGap(73, Short.MAX_VALUE))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jTabbedPane1.addTab("2-Images", jPanel2);
|
||||
@@ -1775,6 +1788,7 @@ public class DataAcquisition extends Panel {
|
||||
private javax.swing.JToggleButton buttonShowNorm;
|
||||
private javax.swing.JButton buttonSpecAbort;
|
||||
private javax.swing.JButton buttonSpecStart;
|
||||
private javax.swing.JCheckBox checkDriftCorrection;
|
||||
private javax.swing.JCheckBox checkImgAutosave;
|
||||
private javax.swing.JCheckBox checkImgOTFSaveImages;
|
||||
private javax.swing.JCheckBox checkSpecSaveImages;
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="jPanel4" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="renderer" pref="376" max="32767" attributes="0"/>
|
||||
<Component id="renderer" pref="592" max="32767" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="renderer" max="32767" attributes="0"/>
|
||||
<Component id="jPanel4" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="renderer" min="-2" pref="768" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
@@ -47,15 +52,6 @@
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Component id="jPanel3" max="32767" attributes="0"/>
|
||||
<Component id="jPanel2" max="32767" attributes="0"/>
|
||||
<Component id="jPanel1" alignment="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="buttonAbort" min="-2" max="-2" attributes="0"/>
|
||||
@@ -76,6 +72,15 @@
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="15" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Component id="jPanel3" max="32767" attributes="0"/>
|
||||
<Component id="jPanel1" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="jPanel2" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
@@ -87,7 +92,7 @@
|
||||
<Component id="jPanel2" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jPanel3" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="164" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="2" attributes="0">
|
||||
<Component id="jLabel10" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="deviceValuePanel1" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||
@@ -122,16 +127,19 @@
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="jLabel12" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="spinnerExpositionIntensity" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="buttonStartAutoIntensity" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="1" max="-2" attributes="0">
|
||||
<Component id="processVariablePanel1" alignment="0" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
|
||||
<Component id="jLabel12" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="spinnerExpositionIntensity" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="69" max="-2" attributes="0"/>
|
||||
<Component id="buttonStartAutoIntensity" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="processVariablePanel2" alignment="1" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
@@ -142,10 +150,13 @@
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="jLabel12" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="spinnerExpositionIntensity" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="buttonStartAutoIntensity" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="buttonStartAutoIntensity" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="32" max="-2" attributes="0"/>
|
||||
<Component id="processVariablePanel1" min="-2" pref="106" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="processVariablePanel2" min="-2" pref="104" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="14" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@@ -174,6 +185,39 @@
|
||||
<EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spinnerExpositionIntensityStateChanged"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="ch.psi.pshell.swing.ProcessVariablePanel" name="processVariablePanel1">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||
<TitledBorder title="Girder X [mm]"/>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="deviceName" type="java.lang.String" value="girder_x"/>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[188, 112]"/>
|
||||
</Property>
|
||||
<Property name="showLimitButtons" type="boolean" value="false"/>
|
||||
<Property name="showSlider" type="boolean" value="false"/>
|
||||
<Property name="showStop" type="boolean" value="false"/>
|
||||
<Property name="stepIncrement" type="double" value="0.01"/>
|
||||
<Property name="stepSize" type="double" value="0.01"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="ch.psi.pshell.swing.ProcessVariablePanel" name="processVariablePanel2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||
<TitledBorder title="Girder Y [mm]"/>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="deviceName" type="java.lang.String" value="girder_y"/>
|
||||
<Property name="showLimitButtons" type="boolean" value="false"/>
|
||||
<Property name="showSlider" type="boolean" value="false"/>
|
||||
<Property name="showStop" type="boolean" value="false"/>
|
||||
<Property name="stepIncrement" type="double" value="0.01"/>
|
||||
<Property name="stepSize" type="double" value="0.01"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JButton" name="buttonAbort">
|
||||
|
||||
@@ -138,6 +138,8 @@ public class Imaging extends Panel {
|
||||
buttonStartAutoIntensity = new javax.swing.JButton();
|
||||
jLabel12 = new javax.swing.JLabel();
|
||||
spinnerExpositionIntensity = new javax.swing.JSpinner();
|
||||
processVariablePanel1 = new ch.psi.pshell.swing.ProcessVariablePanel();
|
||||
processVariablePanel2 = new ch.psi.pshell.swing.ProcessVariablePanel();
|
||||
buttonAbort = new javax.swing.JButton();
|
||||
jPanel1 = new javax.swing.JPanel();
|
||||
buttonRoiSet = new javax.swing.JButton();
|
||||
@@ -195,19 +197,38 @@ public class Imaging extends Panel {
|
||||
}
|
||||
});
|
||||
|
||||
processVariablePanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Girder X [mm]"));
|
||||
processVariablePanel1.setDeviceName("girder_x");
|
||||
processVariablePanel1.setPreferredSize(new java.awt.Dimension(188, 112));
|
||||
processVariablePanel1.setShowLimitButtons(false);
|
||||
processVariablePanel1.setShowSlider(false);
|
||||
processVariablePanel1.setShowStop(false);
|
||||
processVariablePanel1.setStepIncrement(0.01);
|
||||
processVariablePanel1.setStepSize(0.01);
|
||||
|
||||
processVariablePanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Girder Y [mm]"));
|
||||
processVariablePanel2.setDeviceName("girder_y");
|
||||
processVariablePanel2.setShowLimitButtons(false);
|
||||
processVariablePanel2.setShowSlider(false);
|
||||
processVariablePanel2.setShowStop(false);
|
||||
processVariablePanel2.setStepIncrement(0.01);
|
||||
processVariablePanel2.setStepSize(0.01);
|
||||
|
||||
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
|
||||
jPanel2.setLayout(jPanel2Layout);
|
||||
jPanel2Layout.setHorizontalGroup(
|
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jLabel12)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(spinnerExpositionIntensity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap())
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonStartAutoIntensity)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addComponent(processVariablePanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
|
||||
.addGap(12, 12, 12)
|
||||
.addComponent(jLabel12)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(spinnerExpositionIntensity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(69, 69, 69)
|
||||
.addComponent(buttonStartAutoIntensity))
|
||||
.addComponent(processVariablePanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
jPanel2Layout.setVerticalGroup(
|
||||
@@ -215,10 +236,13 @@ public class Imaging extends Panel {
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel12)
|
||||
.addComponent(spinnerExpositionIntensity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonStartAutoIntensity)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addComponent(spinnerExpositionIntensity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(buttonStartAutoIntensity))
|
||||
.addGap(32, 32, 32)
|
||||
.addComponent(processVariablePanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(processVariablePanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(14, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
buttonAbort.setText("Abort");
|
||||
@@ -573,13 +597,6 @@ public class Imaging extends Panel {
|
||||
jPanel4.setLayout(jPanel4Layout);
|
||||
jPanel4Layout.setHorizontalGroup(
|
||||
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonAbort)
|
||||
@@ -596,6 +613,13 @@ public class Imaging extends Panel {
|
||||
.addComponent(checkArrows)
|
||||
.addComponent(deviceValuePanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(15, 15, 15))
|
||||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
jPanel4Layout.setVerticalGroup(
|
||||
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
@@ -606,7 +630,7 @@ public class Imaging extends Panel {
|
||||
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGap(164, 164, 164)
|
||||
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(jLabel10)
|
||||
.addComponent(deviceValuePanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
@@ -630,12 +654,16 @@ public class Imaging extends Panel {
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE))
|
||||
.addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE)
|
||||
.addGap(18, 18, 18))
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(renderer, javax.swing.GroupLayout.PREFERRED_SIZE, 768, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
@@ -832,6 +860,8 @@ public class Imaging extends Panel {
|
||||
private javax.swing.JPanel jPanel4;
|
||||
private javax.swing.JPanel jPanel5;
|
||||
private javax.swing.JPanel jPanel6;
|
||||
private ch.psi.pshell.swing.ProcessVariablePanel processVariablePanel1;
|
||||
private ch.psi.pshell.swing.ProcessVariablePanel processVariablePanel2;
|
||||
private javax.swing.JRadioButton radioAll;
|
||||
private javax.swing.JRadioButton radioObjective;
|
||||
private javax.swing.JRadioButton radioStigA;
|
||||
|
||||
4
script/Test_Autofocus_Armin.py
Executable file → Normal file
4
script/Test_Autofocus_Armin.py
Executable file → Normal file
@@ -33,9 +33,9 @@ def update_roi():
|
||||
cur_data = image.data
|
||||
calc_roi = Roi(ROI.x,ROI.y,ROI.width, ROI.height)
|
||||
try:
|
||||
xoff, yoff, error, diffphase = calculate_shift(former_data,cur_data, calc_roi)
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(former_data,cur_data, calc_roi)
|
||||
print "Calculated shift: ", xoff, yoff, error, diffphase
|
||||
if (0<abs(xoff) < MAX_SHIFT) and (0<abs(yoff) < MAX_SHIFT):
|
||||
if (abs(xoff) <= MAX_SHIFT) and (abs(yoff) <= MAX_SHIFT):
|
||||
x,y=int(ROI.x - xoff), int(ROI.y - yoff)
|
||||
print "Updating ROI location to ", x, y
|
||||
ROI.setLocation(x,y)
|
||||
|
||||
@@ -272,7 +272,6 @@ def stop_eiger():
|
||||
if started:
|
||||
eiger.stop()
|
||||
eiger.grabMode=eiger.GrabMode.Single
|
||||
eiger.stop()
|
||||
eiger.waitReady(5000)
|
||||
else:
|
||||
eiger.grabMode=eiger.GrabMode.Single
|
||||
|
||||
@@ -258,7 +258,7 @@ def switch_pol():
|
||||
put_id_pol(1,newpol)
|
||||
elif _switching_id == "ID2":
|
||||
put_id_pol(2,newpol)
|
||||
elif ID == "ID1_ID2":
|
||||
elif ID == "PGM_ID1_ID2":
|
||||
if _switching_type == "Normal":
|
||||
put_id_pol(1, newpol)
|
||||
put_id_pol(2, newpol)
|
||||
|
||||
@@ -638,5 +638,10 @@ def calculate_shift(ref,img, roi, g_sigma=3.0, upscale_factor=100, max_error=2.0
|
||||
raise Exception("Bad image registration error: " + str(error))
|
||||
if math.isnan(diffphase) or abs(diffphase)> max_diffphase:
|
||||
raise Exception("Bad image registration phase difference: " + str(diffphase))
|
||||
return xoff, yoff, error, diffphase
|
||||
return xoff, yoff, error, diffphase, shifts
|
||||
|
||||
def apply_shift(img, shifts):
|
||||
img = to_ip(img)
|
||||
stack = create_stack([img,])
|
||||
r=translate(stack, shifts)
|
||||
return r
|
||||
@@ -466,13 +466,13 @@ def assert_beamline_ok():
|
||||
checkbeamline=0
|
||||
message=[ "PLC error","Encoder error", "Feedforward error","Operator control", "Moving timeout", "Interlock"]
|
||||
ID = get_setting("ID")
|
||||
if ID == "ID1":
|
||||
if ID == "PGM_ID1":
|
||||
id1_status=get_id_status(1)
|
||||
id2_status=0
|
||||
elif ID == "ID2":
|
||||
elif ID == "PGM_ID2":
|
||||
id1_status=0
|
||||
id2_status=get_id_status(2)
|
||||
if ID == "ID1_ID2":
|
||||
if ID == "PGM_ID1_ID2":
|
||||
id1_status=get_id_status(1)
|
||||
id2_status=get_id_status(2)
|
||||
if id1_status >= 1:
|
||||
@@ -752,11 +752,14 @@ def apply_beamline_setup(id,en=None,pol1=None,alp1=None,har1=None,off1=None,pol2
|
||||
# Monochromator part
|
||||
if grat is not None:
|
||||
if grat=='G1_300':
|
||||
Grating.write(0)
|
||||
Grating.write("0")
|
||||
Grating_ch.write("0")
|
||||
elif grat=='G2_1200':
|
||||
Grating.write(1)
|
||||
Grating.write("1")
|
||||
Grating_ch.write("1")
|
||||
elif grat =='G3_600':
|
||||
Grating.write(2)
|
||||
Grating.write("2")
|
||||
Grating_ch.write("2")
|
||||
if order is not None:
|
||||
DiffOrd.write(order)
|
||||
if Cff is not None:
|
||||
|
||||
118
script/temp_save.py
Normal file
118
script/temp_save.py
Normal file
@@ -0,0 +1,118 @@
|
||||
#Sample 01 - RW-2-4
|
||||
open_vg13()
|
||||
|
||||
TRX.write(1.41)
|
||||
TRZ.write(11.9)
|
||||
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
##Survey
|
||||
#nr_loops=1
|
||||
#for i in range(nr_loops):
|
||||
# caput('X11MA-KEI10:RANGE', 6)
|
||||
# caput('X11MA-KEI11:RANGE', 7)
|
||||
# caput('X11MA-KEI12:RANGE', 8)
|
||||
# otf2(start=500, end=900, time=4, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='RW-2-4_Survey')
|
||||
|
||||
#Nickel L edge
|
||||
nr_loops=1
|
||||
for i in range(nr_loops):
|
||||
caput('X11MA-KEI10:RANGE', 6)
|
||||
caput('X11MA-KEI11:RANGE', 7)
|
||||
caput('X11MA-KEI12:RANGE', 9)
|
||||
otf2(start=845, end=885, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='RW-2-4_Ni')
|
||||
|
||||
#Cobalt L edge
|
||||
nr_loops=1
|
||||
for i in range(nr_loops):
|
||||
caput('X11MA-KEI10:RANGE', 6)
|
||||
caput('X11MA-KEI11:RANGE', 7)
|
||||
caput('X11MA-KEI12:RANGE', 9)
|
||||
otf2(start=772, end=805, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='RW-2-4_Co')
|
||||
|
||||
#Manganese L edge
|
||||
nr_loops=1
|
||||
for i in range(nr_loops):
|
||||
caput('X11MA-KEI10:RANGE', 6)
|
||||
caput('X11MA-KEI11:RANGE', 7)
|
||||
caput('X11MA-KEI12:RANGE', 9)
|
||||
otf2(start=630, end=670, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='RW-2-4_Mn')
|
||||
|
||||
|
||||
#Oxygen K edge
|
||||
nr_loops=1
|
||||
for i in range(nr_loops):
|
||||
caput('X11MA-KEI10:RANGE', 6)
|
||||
caput('X11MA-KEI11:RANGE', 7)
|
||||
caput('X11MA-KEI12:RANGE', 8)
|
||||
otf2(start=520, end=570, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='RW-2-4_O')
|
||||
|
||||
#Carbon K edge
|
||||
nr_loops=1
|
||||
for i in range(nr_loops):
|
||||
caput('X11MA-KEI10:RANGE', 6)
|
||||
caput('X11MA-KEI11:RANGE', 7)
|
||||
caput('X11MA-KEI12:RANGE', 9)
|
||||
otf2(start=270, end=320, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='RW-2-4_C')#
|
||||
|
||||
#Sample 03 - HR016
|
||||
#open_vg13()
|
||||
#
|
||||
#TRX.write(11.95)
|
||||
#TRZ.write(13.71)
|
||||
#
|
||||
#
|
||||
#time.sleep(1)
|
||||
##
|
||||
###Survey
|
||||
##nr_loops=1
|
||||
##for i in range(nr_loops):
|
||||
## caput('X11MA-KEI10:RANGE', 6)
|
||||
## caput('X11MA-KEI11:RANGE', 7)
|
||||
## caput('X11MA-KEI12:RANGE', 8)
|
||||
## otf2(start=500, end=900, time=4, delay=10, mode='LINEAR', alpha = 0.0, offset=0.0, name='HR016_Survey')
|
||||
#
|
||||
###Nickel L edge
|
||||
##nr_loops=1
|
||||
##for i in range(nr_loops):
|
||||
## caput('X11MA-KEI10:RANGE', 6)
|
||||
## caput('X11MA-KEI11:RANGE', 7)
|
||||
## caput('X11MA-KEI12:RANGE', 9)
|
||||
## otf2(start=845, end=885, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=0.0, name='HR016_Ni')
|
||||
#
|
||||
##Manganese L edge
|
||||
#nr_loops=1
|
||||
#for i in range(nr_loops):
|
||||
# caput('X11MA-KEI10:RANGE', 6)
|
||||
# caput('X11MA-KEI11:RANGE', 7)
|
||||
# caput('X11MA-KEI12:RANGE', 8)
|
||||
# otf2(start=630, end=670, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='HR016_Mn')
|
||||
#
|
||||
#
|
||||
##Oxygen K edge
|
||||
#nr_loops=1
|
||||
#for i in range(nr_loops):
|
||||
# caput('X11MA-KEI10:RANGE', 6)
|
||||
# caput('X11MA-KEI11:RANGE', 7)
|
||||
# caput('X11MA-KEI12:RANGE', 8)
|
||||
# otf2(start=520, end=570, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='HR016_O')
|
||||
#
|
||||
##Sn M edge
|
||||
#nr_loops=1
|
||||
#for i in range(nr_loops):
|
||||
# caput('X11MA-KEI10:RANGE', 6)
|
||||
# caput('X11MA-KEI11:RANGE', 7)
|
||||
# caput('X11MA-KEI12:RANGE', 9)
|
||||
# otf2(start=485, end=506, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='HR016_Sn')
|
||||
#
|
||||
#
|
||||
##Carbon K edge
|
||||
#nr_loops=1
|
||||
#for i in range(nr_loops):
|
||||
# caput('X11MA-KEI10:RANGE', 6)
|
||||
# caput('X11MA-KEI11:RANGE', 7)
|
||||
# caput('X11MA-KEI12:RANGE', 9)
|
||||
# otf2(start=270, end=320, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='HR016_C')
|
||||
#
|
||||
#time.sleep(1)
|
||||
@@ -5,6 +5,7 @@ if (get_exec_pars().source == CommandSource.ui) and (get_exec_pars().script == "
|
||||
SEQUENCE = "A"
|
||||
MEASUREMENTS = 4
|
||||
AUTO_SAVE = True
|
||||
DRIFT_CORRECTION = True
|
||||
EXPOSURE = 1.0
|
||||
AVERAGE = 2.0
|
||||
ENERGY_1 = 850.0
|
||||
@@ -18,7 +19,10 @@ print "Starting 2Img: ", METHOD, SWITCHING, SEQUENCE , MEASUREMENTS, AUTO_SAVE,
|
||||
#SEQUENCE = "B": C+,C-,C+,C-,C+,-;C+,C-.
|
||||
|
||||
SHOW_IMAGES = True
|
||||
SAVE_DIAGS = True
|
||||
SAVE_DIAGS = True
|
||||
DEFAULT_ROI = Rectangle(128,128,256,256)
|
||||
|
||||
#DEFAULT_ROI = Rectangle(0,0,512,512)
|
||||
|
||||
|
||||
ID = get_setting("ID")
|
||||
@@ -32,7 +36,7 @@ if METHOD == "Two_Energies":
|
||||
raise Exception("Bad energy argument")
|
||||
|
||||
start = time.time()
|
||||
threads = []
|
||||
threads = []
|
||||
image_drift=None
|
||||
|
||||
#path = "{data}/{year}_{month}/{date}" + "/" + "{seq}%03d_" + METHOD
|
||||
@@ -44,7 +48,7 @@ set_exec_pars(name=METHOD, path = data_path, format="txt", layout="table", open=
|
||||
|
||||
#get_context().incrementFileSequentialNumber()
|
||||
|
||||
|
||||
|
||||
def get_image_file_name(cycle=-1, frame_index=0, short_name=False, shifted=False):
|
||||
global max_index
|
||||
if (METHOD == "Two_Pol") and (SEQUENCE == "A") and (frame_index<2) and ((cycle%2)==0): #Swapped
|
||||
@@ -54,7 +58,10 @@ def get_image_file_name(cycle=-1, frame_index=0, short_name=False):
|
||||
abs_index=run_index + frame_index
|
||||
max_index= max(max_index, frame_index)
|
||||
#prefix = get_context().setup.expandPath("i{date}%02d_{seq}%03d")
|
||||
prefix = get_context().setup.expandPath("i{date}%02d_" + ("%03d" % (abs_index,)))
|
||||
prefix = get_context().setup.expandPath("i{date}%02d_" + ("%03d" % (abs_index,)))
|
||||
|
||||
if (shifted):
|
||||
prefix = prefix + "_shifted"
|
||||
|
||||
if cycle < 0:
|
||||
ret = root + prefix + ".tif"
|
||||
@@ -105,10 +112,22 @@ def save_image_file(frame, cycle=-1, frame_index=0):
|
||||
p=plots[0]
|
||||
p.getAxis(p.AxisId.Y).setInverted(True)
|
||||
if AUTO_SAVE and (frame is not None):
|
||||
filename = get_image_file_name(cycle, frame_index)
|
||||
filename = get_image_file_name(cycle, frame_index)
|
||||
metadata = get_diags() if SAVE_DIAGS else {}
|
||||
threads.append(save_as_tiff(frame, filename, check=False, parallel=True, metadata=metadata))
|
||||
|
||||
log(filename)
|
||||
print filename
|
||||
|
||||
if DRIFT_CORRECTION:
|
||||
filename = get_image_file_name(cycle, frame_index, shifted=True)
|
||||
if image_drift is not None:
|
||||
print "->", filename
|
||||
shifted_frame = apply_shift(frame, image_drift)
|
||||
threads.append(save_as_tiff(shifted_frame, filename, check=False, parallel=True, metadata=metadata))
|
||||
elif frame_index==0:
|
||||
print "->", filename
|
||||
threads.append(save_as_tiff(frame, filename, check=False, parallel=True, metadata=metadata))
|
||||
|
||||
# log("SV:"+Format(startvoltage,"0.000")+" OB:"+Format(objective,"0.00")+" ST:"+Format(LEEMtemp,"0.0"))
|
||||
|
||||
@@ -117,10 +136,11 @@ run_index = get_context().getDaySequentialNumber()
|
||||
run_index = get_context().getDaySequentialNumber()
|
||||
print " ---- Run index : %d" %(run_index,)
|
||||
max_index=0
|
||||
|
||||
|
||||
if DRIFT_CORRECTION:
|
||||
roi = get_focus_scan_roi()
|
||||
calc_roi = None if (roi is None) else Roi(roi.x,roi.y,roi.width, roi.height)
|
||||
roi = get_focus_scan_roi()
|
||||
if roi is None:
|
||||
roi = DEFAULT_ROI
|
||||
calc_roi = Roi(roi.x,roi.y,roi.width, roi.height)
|
||||
ref_image = None # grab_frame(image, None, True)
|
||||
|
||||
@@ -144,7 +164,25 @@ try:
|
||||
av = average_eiger_frames(AVERAGE, roi=None, wait_next=True)
|
||||
#print "--- Time: " + str(time.time() - s)
|
||||
#time.sleep(1) #added by Armin
|
||||
frames.append(av)
|
||||
frames.append(av)
|
||||
|
||||
if (i==0) and DRIFT_CORRECTION and (calc_roi is not None):
|
||||
if ref_image is None:
|
||||
ref_image = frames[0]
|
||||
print "-> Saved shift ref image"
|
||||
else:
|
||||
try:
|
||||
cur_image = frames[0]
|
||||
xoff, yoff, error, diffphase, image_drift = calculate_shift(ref_image,cur_image, calc_roi)
|
||||
if (abs(xoff) <= MAX_SHIFT) and (abs(yoff) <= MAX_SHIFT):
|
||||
print "-> Calculated shift: ", xoff, yoff, error, diffphase
|
||||
else:
|
||||
print "-> Error: shift too big:", xoff, yoff
|
||||
image_drift = None
|
||||
except:
|
||||
print "-> Error calculating shift: " + str(sys.exc_info()[1])
|
||||
image_drift = None
|
||||
|
||||
imageinfo("I")
|
||||
save_image_file(frames[i], cycle, i)
|
||||
if METHOD == "Take_Image":
|
||||
@@ -164,18 +202,7 @@ try:
|
||||
print "Divide second frame by first"
|
||||
frames.append(frames[1].copy())
|
||||
frames[2].div(frames[0])
|
||||
save_image_file(frames[2],cycle, 2)
|
||||
if CORRECT_DRIFTS and (calc_roi is not None):
|
||||
if ref_image is None:
|
||||
ref_image = frames[0]
|
||||
print "-> Saved shift ref image"
|
||||
else:
|
||||
cur_image = frames[0]
|
||||
xoff, yoff, error, diffphase = calculate_shift(ref_image,cur_image, calc_roi)
|
||||
if (0<abs(xoff) < MAX_SHIFT) and (0<abs(yoff) < MAX_SHIFT):
|
||||
print "-> Calculated shift: ", xoff, yoff, error, diffphase
|
||||
else:
|
||||
print "-> Error - shift too big:", xoff, yoff
|
||||
save_image_file(frames[2],cycle, 2)
|
||||
|
||||
# objective = getObjective()
|
||||
# temp = getLEEMtemp()
|
||||
|
||||
@@ -166,8 +166,8 @@ try:
|
||||
ref_image = frames[0]
|
||||
print "-> Saved shift ref image"
|
||||
else:
|
||||
cur_image = frames[0]
|
||||
xoff, yoff, error, diffphase = calculate_shift(ref_image,cur_image, calc_roi)
|
||||
cur_image = frames[0]
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(ref_image,cur_image, calc_roi)
|
||||
if (abs(xoff) <= MAX_SHIFT) and (abs(yoff) <= MAX_SHIFT):
|
||||
print "-> Calculated shift: ", xoff, yoff, error, diffphase
|
||||
else:
|
||||
|
||||
@@ -160,8 +160,8 @@ try:
|
||||
ref_image = frames[0]
|
||||
print "-> Saved shift ref image"
|
||||
else:
|
||||
cur_image = frames[0]
|
||||
xoff, yoff, error, diffphase = calculate_shift(ref_image,cur_image, calc_roi)
|
||||
cur_image = frames[0]
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(ref_image,cur_image, calc_roi)
|
||||
if (abs(xoff) <= MAX_SHIFT) and (abs(yoff) <= MAX_SHIFT):
|
||||
print "-> Calculated shift: ", xoff, yoff, error, diffphase
|
||||
else:
|
||||
|
||||
@@ -110,9 +110,9 @@ def update_roi_pos(cur_data, former_data):
|
||||
roi=get_focus_scan_roi()
|
||||
calc_roi = Roi(roi.x,roi.y,roi.width, roi.height)
|
||||
try:
|
||||
xoff, yoff, error, diffphase = calculate_shift(former_data,cur_data, calc_roi)
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(former_data,cur_data, calc_roi)
|
||||
print "Calculated shift: ", xoff, yoff, error, diffphase
|
||||
if (0<abs(xoff) < MAX_SHIFT) and (0<abs(yoff) < MAX_SHIFT):
|
||||
if (abs(xoff) <= MAX_SHIFT) and (abs(yoff) <= MAX_SHIFT):
|
||||
x,y=int(roi.x - xoff), int(roi.y - yoff)
|
||||
print "Updating ROI location to ", x, y
|
||||
x,y=max(x,0), max(y,0)
|
||||
|
||||
@@ -11,7 +11,7 @@ if get_exec_pars().source == CommandSource.ui:
|
||||
HARMONIC_ID_2 = 1
|
||||
OFFSET_ID_2 = 0.0
|
||||
GRATING = "G2 1200"
|
||||
DIFF_ORDER = 1
|
||||
DIFF_ORD = 1
|
||||
CFF = 2.250
|
||||
|
||||
set_beamline_setup(ID,ENERGY,POL_ID_1,ALPHA_ID_1,HARMONIC_ID_1,OFFSET_ID_1,POL_ID_2,ALPHA_ID_2,HARMONIC_ID_2,OFFSET_ID_2, GRATING, DIFF_ORDER, CFF)
|
||||
set_beamline_setup(ID,ENERGY,POL_ID_1,ALPHA_ID_1,HARMONIC_ID_1,OFFSET_ID_1,POL_ID_2,ALPHA_ID_2,HARMONIC_ID_2,OFFSET_ID_2, GRATING, DIFF_ORD, CFF)
|
||||
|
||||
8
script/test-valerie.py
Normal file
8
script/test-valerie.py
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
##Nickel L edge
|
||||
#nr_loops=2
|
||||
#for i in range(nr_loops)
|
||||
caput('X11MA-KEI10:RANGE', 6)
|
||||
caput('X11MA-KEI11:RANGE', 8)
|
||||
caput('X11MA-KEI12:RANGE', 9)
|
||||
otf2(start=845, end=885, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=0.0, name='test_Ni')
|
||||
135
script/test/TestShift.py
Normal file
135
script/test/TestShift.py
Normal file
@@ -0,0 +1,135 @@
|
||||
MAX_SHIFT = 300
|
||||
SLEEP_MOVE = 3.0
|
||||
CALIBRATE_RANGE = 20.0
|
||||
|
||||
shift_ref = shift_ref_x = shift_ref_y = None
|
||||
|
||||
def get_image_shift(cur_data=None, former_data=None, roi=None):
|
||||
global shift_ref
|
||||
if roi is None:
|
||||
roi=get_focus_scan_roi()
|
||||
if roi is None:
|
||||
roi = Rectangle(128,128,256,256)
|
||||
if former_data is None:
|
||||
former_data = shift_ref
|
||||
if former_data is None:
|
||||
raise Exception("Image reference not available")
|
||||
if cur_data is None:
|
||||
cur_data = get_cur_data()
|
||||
print roi
|
||||
calc_roi = Roi(roi.x,roi.y,roi.width, roi.height)
|
||||
try:
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(former_data,cur_data, calc_roi)
|
||||
print "Calculated shift: ", xoff, yoff, error, diffphase
|
||||
if ( abs(xoff) <= MAX_SHIFT) and (abs(yoff) <= MAX_SHIFT):
|
||||
return -xoff, -yoff
|
||||
else:
|
||||
raise Exception("Error - shift too big: " + str(xoff) + "," + str(yoff))
|
||||
except:
|
||||
raise Exception("Error calculating shift: " + str(sys.exc_info()[1]))
|
||||
|
||||
def get_cur_data():
|
||||
return image.data
|
||||
|
||||
|
||||
def grab_shift_ref():
|
||||
global shift_ref, shift_ref_x, shift_ref_y
|
||||
#TODO: read from device
|
||||
obj_align_x.write(0.0);obj_align_y.write(0.0)
|
||||
time.sleep(SLEEP_MOVE)
|
||||
shift_ref_x = shift_ref_y = 0.0
|
||||
|
||||
shift_ref = get_cur_data()
|
||||
|
||||
def calibrate_image_shift():
|
||||
|
||||
|
||||
#TODO: Must find way to read current OBJDX and OBJDY values
|
||||
obj_align_y.write(0.0)
|
||||
obj_align_x.write(-CALIBRATE_RANGE)
|
||||
time.sleep(SLEEP_MOVE)
|
||||
grab_shift_ref()
|
||||
obj_align_x.write(CALIBRATE_RANGE)
|
||||
time.sleep(SLEEP_MOVE)
|
||||
xdx, xdy = get_image_shift()
|
||||
|
||||
obj_align_x.write(0.0)
|
||||
obj_align_y.write(-CALIBRATE_RANGE)
|
||||
time.sleep(SLEEP_MOVE)
|
||||
grab_shift_ref()
|
||||
obj_align_y.write(CALIBRATE_RANGE)
|
||||
time.sleep(SLEEP_MOVE)
|
||||
ydx, ydy = get_image_shift()
|
||||
obj_align_x.write(0.0)
|
||||
obj_align_y.write(0.0)
|
||||
time.sleep(SLEEP_MOVE)
|
||||
|
||||
#TODO calcs are wrong
|
||||
#s = hipot(mdy,mdx) / hipot(idt,idx)
|
||||
# cos beta = mdx/mdy
|
||||
# th alpha = idy/idx
|
||||
#teta = alpha - beta
|
||||
|
||||
|
||||
ixt, iyt = math.hypot(xdx, xdy), math.hypot(ydx, ydy) #image move
|
||||
mdx= mdy = 2 * 10.0 #Total motor move
|
||||
sx,sy = ixt/mdx, iyt/mdy #Scale
|
||||
s = mean ((sx,sy)) #supposing x and y scale equal
|
||||
#angle
|
||||
t1 = math.acos((-xdx/sx)/mdx)
|
||||
t2 = math.asin((xdy/sx)/mdx)
|
||||
t3 = math.acos((ydy/sy)/mdy)
|
||||
t4 = math.asin((ydx/sy)/mdy)
|
||||
theta = mean((t1,t2,t3,t4))
|
||||
|
||||
set_setting("image_shift_angle", theta)
|
||||
set_setting("image_shift_scale", s)
|
||||
print s, math.degrees(theta)
|
||||
|
||||
|
||||
def correct_image_shift():
|
||||
angle = get_setting("image_shift_angle")
|
||||
scale = get_setting("image_shift_scale")
|
||||
if (angle is None) or (scale is None) :
|
||||
raise Exception("Image shift not calibrated")
|
||||
|
||||
angle, scale = float(angle), float(scale)
|
||||
idx, idy = get_image_shift()
|
||||
#idx, idy = idx/scale, idy/scale
|
||||
|
||||
|
||||
it = math.hypot(idx, idy)
|
||||
#mdx = idx / math.cos(angle)
|
||||
#mdy = idy / math.sin(angle)
|
||||
mt = it/scale
|
||||
#mdx = mt * math.sin(angle)
|
||||
#mdy = mt * math.cos(angle)
|
||||
|
||||
try:
|
||||
t=math.atan(idy/idx)
|
||||
t2 = t+angle
|
||||
#mdx = it * math.cos(-t2)
|
||||
#mdy = it * math.sin(-t2)
|
||||
|
||||
mdx = idx * math.cos(t2)
|
||||
mdy = idy * math.sin(t2)
|
||||
#mdx = mt * math.cos(t2)
|
||||
#mdy = mt * math.sin(t2)
|
||||
except:
|
||||
#ZeroDivisionError
|
||||
mdx = mdy = 0.0
|
||||
|
||||
|
||||
mdx=mdx+shift_ref_x
|
||||
mdy=mdy+shift_ref_y
|
||||
print "Moving " , mdx, ", ", mdy
|
||||
|
||||
def translate(shift, image):
|
||||
#shifts= load_shifts("{images}/TestObjAligner/shifts.mat")
|
||||
stack = load_test_stack(show=True)
|
||||
r=translate(stack, shifts, show=True)
|
||||
|
||||
#
|
||||
#grab_shift_ref()
|
||||
#print get_image_shift()
|
||||
#calibrate_image_shift()
|
||||
@@ -6,7 +6,7 @@ run ("imaging/shifts")
|
||||
roi=Roi(256,0,128,128)
|
||||
stack = load_test_stack(show=False, size=9)
|
||||
ipr, ipi = complex_edge_filtering(stack, show=False)
|
||||
shifts = calculate_shifts(ipr, ipi, roi, java_code=True)
|
||||
shifts = (ipr, ipi, roi, java_code=True)
|
||||
#shifts= load_shifts("{images}/TestObjAligner/shifts.mat")
|
||||
#stack = load_test_stack(show=True)
|
||||
r=translate(stack, shifts, show=True)
|
||||
@@ -33,7 +33,7 @@ def eval_shift(roi, obj=None, stiga=None, stigb=None, wait=3.0):
|
||||
time.sleep(wait)
|
||||
image.waitNext(10000)
|
||||
img = image.data
|
||||
xoff, yoff, error, diffphase = calculate_shift(ref,img, roi)
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(ref,img, roi)
|
||||
print "xoff: ", xoff
|
||||
print "yoff: ", yoff
|
||||
print "error: ", error
|
||||
@@ -56,7 +56,7 @@ def eval_shift_obj(roi, obj1, obj2, wait=3.0):
|
||||
time.sleep(wait)
|
||||
image.waitNext(10000)
|
||||
img = image.data
|
||||
xoff, yoff, error, diffphase = calculate_shift(ref,img, roi)
|
||||
xoff, yoff, error, diffphase, _ = calculate_shift(ref,img, roi)
|
||||
print "Ref obj: ", obj1, " img obj: ", obj2
|
||||
print "xoff: ", xoff
|
||||
print "yoff: ", yoff
|
||||
|
||||
160
script/test/breakdown.py
Normal file
160
script/test/breakdown.py
Normal file
@@ -0,0 +1,160 @@
|
||||
|
||||
|
||||
|
||||
|
||||
def init_eiger(exposure=None, check=True, retries=2):
|
||||
"""
|
||||
Set Eiger scan mode
|
||||
"""
|
||||
global chrono_eiger
|
||||
chrono_eiger.waitTimeout(CONTINOUS_MODE_MIN_TIME)
|
||||
for i in range(retries):
|
||||
try:
|
||||
stop_eiger() #Set mode single
|
||||
eiger.setNumImages(1)# Is it relevant?]
|
||||
caputq("X11MA-ES1-SD1:cam1:NumImages",1);
|
||||
set_eiger_number_of_frames(1)
|
||||
caget("X11MA-ES1-SD1:cam1:NumFrames_RBV") and compares before writing (therefore does nothing)
|
||||
if exposure:
|
||||
set_exposure_time(exposure, check)
|
||||
apply_averaging_detector(is_averaging_detector())
|
||||
caput("X11MA-ES1-SD1:Proc1:EnableFilter", False)
|
||||
caput("X11MA-ES1-SD1:Proc1:NumFilter", 1)
|
||||
caput("X11MA-ES1-SD1:cam1:NumCycles", 1)
|
||||
break
|
||||
except:
|
||||
if i==(retries-1):
|
||||
raise
|
||||
else:
|
||||
print "Error initializing Eiger, retrying: " + str(sys.exc_info()[1])
|
||||
|
||||
def restore_eiger(check=True, retries=2, exposure_time = 0.2):
|
||||
"""
|
||||
Set Eiger default mode
|
||||
"""
|
||||
global chrono_eiger
|
||||
for i in range(retries):
|
||||
try:
|
||||
stop_eiger()
|
||||
eiger.setNumImages(1)# Is it relevant?
|
||||
caputq("X11MA-ES1-SD1:cam1:NumImages",1);
|
||||
set_eiger_number_of_frames(1, check)
|
||||
set_exposure_time(exposure_time, check)
|
||||
apply_averaging_detector(False)
|
||||
caput("X11MA-ES1-SD1:Proc1:EnableFilter", False)
|
||||
caput("X11MA-ES1-SD1:Proc1:NumFilter", 1)
|
||||
caput("X11MA-ES1-SD1:cam1:NumCycles", 1)
|
||||
eiger.grabMode=eiger.GrabMode.Continuous
|
||||
caputq("X11MA-ES1-SD1:cam1:ImageMode", Single)
|
||||
eiger.start()
|
||||
caputq("X11MA-ES1-SD1:cam1:Acquire", 1)
|
||||
chrono_eiger = Chrono()
|
||||
break
|
||||
except:
|
||||
if i==(retries-1):
|
||||
raise
|
||||
else:
|
||||
print "Error restoring Eiger, retrying " + str(sys.exc_info()[1])
|
||||
|
||||
|
||||
def set_exposure_time(value, check = True, retries=5):
|
||||
if value == eiger.getExposure():
|
||||
caget("X11MA-ES1-SD1:cam1:AcquireTime"), if equals retuem
|
||||
return
|
||||
started = eiger.isStarted()
|
||||
caget("X11MA-ES1-SD1:cam1:Acquire"),
|
||||
if started:
|
||||
stop_eiger()
|
||||
for i in range(retries):
|
||||
try:
|
||||
eiger.setExposure(value)
|
||||
caputq("X11MA-ES1-SD1:cam1:AcquireTime", value)
|
||||
if check:
|
||||
readback=get_eiger_exposure_readback()
|
||||
caget("X11MA-ES1-SD1:cam1:AcquireTime_RBV")
|
||||
if abs(value - readback) > 0.01:
|
||||
raise Exception("Error changing Eiger exposure time to %f: readback=%f" % (value, readback))
|
||||
except:
|
||||
if i==(retries-1):
|
||||
raise
|
||||
else:
|
||||
print "Error changing Eiger exposure time: retrying"
|
||||
time.sleep(0.3)
|
||||
|
||||
if started:
|
||||
if eiger.grabMode==eiger.GrabMode.Continuous:
|
||||
caget("X11MA-ES1-SD1:cam1:ImageMode")
|
||||
eiger.start()
|
||||
caputq("X11MA-ES1-SD1:cam1:Acquire", 1)
|
||||
|
||||
|
||||
def set_eiger_number_of_frames(value, check = True):
|
||||
if value == get_eiger_number_of_frames():
|
||||
caget("X11MA-ES1-SD1:cam1:NumFrames_RBV",'i')
|
||||
return
|
||||
started = eiger.isStarted()
|
||||
caget("X11MA-ES1-SD1:cam1:Acquire")
|
||||
if started:
|
||||
stop_eiger()
|
||||
|
||||
caput("X11MA-ES1-SD1:cam1:NumFrames",value)
|
||||
if check:
|
||||
readback = get_eiger_number_of_frames()
|
||||
caget("X11MA-ES1-SD1:cam1:NumFrames_RBV",'i')
|
||||
if value != readback:
|
||||
raise Exception("Error changing Eiger number of frames to %d: readback=%d" % (value, readback))
|
||||
|
||||
if started:
|
||||
if eiger.grabMode==eiger.GrabMode.Continuous:
|
||||
caget("X11MA-ES1-SD1:cam1:ImageMode")
|
||||
eiger.start()
|
||||
caputq("X11MA-ES1-SD1:cam1:Acquire", 1)
|
||||
|
||||
|
||||
def stop_eiger():
|
||||
global chrono_eiger
|
||||
chrono_eiger.waitTimeout(CONTINOUS_MODE_MIN_TIME)
|
||||
started = eiger.isStarted()
|
||||
caget("X11MA-ES1-SD1:cam1:Acquire")
|
||||
if started:
|
||||
eiger.stop()
|
||||
caputq("X11MA-ES1-SD1:cam1:Acquire", 0)
|
||||
eiger.grabMode=eiger.GrabMode.Single
|
||||
caputq("X11MA-ES1-SD1:cam1:ImageMode", Single)
|
||||
eiger.stop()
|
||||
caputq("X11MA-ES1-SD1:cam1:Acquire", 0)
|
||||
eiger.waitReady(5000)
|
||||
wait until monitor of X11MA-ES1-SD1:cam1:Acquire == 0 is received
|
||||
else:
|
||||
eiger.grabMode=eiger.GrabMode.Single
|
||||
caputq("X11MA-ES1-SD1:cam1:ImageMode", Single)
|
||||
time.sleep(0.1)
|
||||
|
||||
|
||||
def average_eiger_frames(samples, roi=None, wait_next=False, sleep=0, outliers_threshold=None, outliers_mask=None, retries=None, timeout=None):
|
||||
global eiger_averaging_number_of_samples #, chrono_eiger
|
||||
sample = int(samples)
|
||||
if is_averaging_detector():
|
||||
#Not now
|
||||
else:
|
||||
ret = grab_frames(image, samples, roi, wait_next, sleep, outliers_threshold, outliers_mask, retries, timeout)
|
||||
if wait_next:
|
||||
|
||||
eiger.waitReady(5000)
|
||||
eiger.start()
|
||||
elif str(eiger.grabMode)=="Continuous":
|
||||
if not eiger.isStarted():
|
||||
eiger.start()
|
||||
try:
|
||||
#eiger.getDataArray().waitCacheChange(timeout)
|
||||
source.waitNext(timeout)
|
||||
breakzxZZy
|
||||
except java.util.concurrent.TimeoutException:
|
||||
if try_count == (retries-1):
|
||||
raise
|
||||
msg = "Eiger timeout - retrying #" + str(try_count)
|
||||
print msg
|
||||
log(msg)
|
||||
|
||||
return average_frames(ret) if samples > 1 else ret[0]
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
otf2(start=500, end=510, time=1, delay=10, mode='LINEAR', alpha = 0.0, offset=0.0, name='test')
|
||||
#otf2(start=778, end=785, time=1, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='test_Co')
|
||||
#otf2(start=772, end=805, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='test')
|
||||
#otf2(start=845, end=885, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset=-3.8, name='test_Ni')
|
||||
#otf2(start=520, end=570, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset= 0, name='oXAS-VS01-OCP_O_test')
|
||||
otf2(start=520, end=595, time=2, delay=10, mode='LINEAR', alpha = 0.0, offset= 0, name='oXAS-VS01-OCP_O_test')
|
||||
Reference in New Issue
Block a user