Changes for page IDL cheat sheet

Last modified by fwilde on 2025/03/28 19:55

From version 28.1
edited by fwilde
on 2018/12/18 12:09
Change comment: There is no comment for this version
To version 47.1
edited by fwilde
on 2020/10/10 12:38
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,15 +3,13 @@
1 -This is an overview of the most commonly used commands during a beamtime.
2 -
3 3  == {{id name="IDLcheatsheet-Coordinatesystem"/}}Coordinate system ==
4 4  
5 5  Right-handed coordinate system with y-direction along the x-ray beam.
6 6  
7 -\\
8 -
9 9  [[image:attach:p05_uct.png||width="700"]]
10 10  
11 11  == {{id name="IDLcheatsheet-Samplepositioning"/}}Sample positioning ==
12 12  
9 +=== {{id name="IDLcheatsheet-Relativemovement"/}}Relative movement ===
10 +
13 13  (% class="wrapped fixed-table" %)
14 14  |=(((
15 15  IDL command
... ... @@ -19,7 +19,7 @@
19 19  motion
20 20  )))
21 21  |(((
22 -s_stage_x/z, 1
20 +##**s_stage_x/z, 1**##
23 23  )))|(((
24 24  move rotation stage in x/z-direction by 1 mm
25 25  )))|(((
... ... @@ -26,14 +26,14 @@
26 26  relative [ mm ]
27 27  )))
28 28  |(((
29 -s_pos_z, 1
27 +##**s_pos_x/y/z, 1**##
30 30  )))|(((
31 -move sample stage in z-direction by 1 mm,
29 +move sample stage in x/y/z-direction by 1 mm (caution with directions: stage mount on rotation axis)
32 32  )))|(((
33 33  relative [ mm ]
34 34  )))
35 35  |(((
36 -s_pos_lateral, 1
34 +##**s_pos_lateral, 1**##
37 37  )))|(((
38 38  move sample stage in x-direction by 1 mm, regardless of position of rotation axis
39 39  )))|(((
... ... @@ -40,39 +40,16 @@
40 40  relative [ mm ]
41 41  )))
42 42  |(((
43 -s_angle, 90
41 +##**s_angle, 90**##
44 44  )))|(((
45 45  rotate sample around z axis
46 46  )))|(((
47 47  relative [ deg ]
48 48  )))
49 -|(((
50 -s_in
51 -)))|(((
52 -move sample to "in" position
53 -)))|(((
54 -predefined
55 -)))
56 -|(((
57 -s_out
58 -)))|(((
59 -move sample to "out" position
60 -)))|(((
61 -predefined
62 -)))
63 -|(((
64 -s_change
65 -)))|(((
66 -move sample to "change" position
67 -)))|(((
68 -predefined
69 -)))
70 70  
71 -\\
48 +=== {{id name="IDLcheatsheet-Absolutemovement"/}}Absolute movement ===
72 72  
73 -\\
74 -
75 -(% class="relative-table wrapped" style="width: 63.2385%;" %)
50 +(% class="relative-table wrapped" style="width: 67.0892%;" %)
76 76  |=(((
77 77  IDL command
78 78  )))|=(((
... ... @@ -81,7 +81,7 @@
81 81  motion
82 82  )))
83 83  |(((
84 -goto_s_stage_x/z, 1
59 +##**goto_s_stage_x/z, 1**##
85 85  )))|(((
86 86  move rotation stage in x/z-direction to 1 mm
87 87  )))|(((
... ... @@ -88,7 +88,7 @@
88 88  absolute [ mm ]
89 89  )))
90 90  |(((
91 -goto_s_pos_x/y/z, 1
66 +##**goto_s_pos_x/y/z, 1**##
92 92  )))|(((
93 93  move sample stage in x/y/z-direction to 1  mm
94 94  )))|(((
... ... @@ -95,14 +95,16 @@
95 95  absolute [ mm ]
96 96  )))
97 97  |(((
98 -goto_s_angle, 90
73 +##**goto_s_angle, 90**##
99 99  )))|(((
100 -rotate sample around z axis to 90°
75 +rotate sample around z axis to 90° (**alias command: s_rot**)
101 101  )))|(((
102 102  absolute [ deg ]
103 103  )))
104 104  
105 -(% class="relative-table wrapped" style="width: 51.477%;" %)
80 +=== {{id name="IDLcheatsheet-Getcurrentposition"/}}Get current position ===
81 +
82 +(% class="relative-table wrapped" style="width: 54.0627%;" %)
106 106  |=(((
107 107  IDL command
108 108  )))|=(((
... ... @@ -109,21 +109,74 @@
109 109  description
110 110  )))
111 111  |(((
112 -pos_s_stage_x/z()
89 +##**pos_s_stage_x/z()**##
113 113  )))|(((
114 114  return current rotation stage in x/z position
115 115  )))
116 116  |(((
117 -pos_s_pos_x/y/z()
94 +##**pos_s_pos_x/y/z()**##
118 118  )))|(((
119 119  return current sample stage in x/y/z position
120 120  )))
121 121  |(((
122 -pos_s_angle()
99 +##**pos_s_angle()**##
123 123  )))|(((
124 124  return current rotation stage angle
125 125  )))
126 126  
104 +=== {{id name="IDLcheatsheet-Predefinedpositions"/}}Predefined positions ===
105 +
106 +(% class="relative-table wrapped" style="width: 55.721%;" %)
107 +|=(((
108 +IDL command
109 +)))|=(((
110 +description
111 +)))
112 +|(((
113 +##**s_in**##
114 +)))|(((
115 +move sample to "in" position
116 +)))
117 +|(((
118 +##**s_out**##
119 +)))|(((
120 +move sample to "out" position
121 +)))
122 +|(((
123 +##**s_change**##
124 +)))|(((
125 +move sample to "change" position
126 +)))
127 +|(((
128 +##**set_s_in_pos, 0**##
129 +)))|(((
130 +set s_in position to 0.0 mm
131 +)))
132 +|(((
133 +##**set_s_out_dist, 10**##
134 +)))|(((
135 +set s_out distance to 10.0 mm
136 +)))
137 +
138 +=== {{id name="IDLcheatsheet-Magnificationsets"/}}Magnification sets ===
139 +
140 +(% class="wrapped" %)
141 +|=(((
142 +IDL command
143 +)))|=(((
144 +description
145 +)))
146 +|(((
147 +##**save_magn_set, 'dmm_11000ev_cmos_10x'**##
148 +)))|(((
149 +save current magnification set
150 +)))
151 +|(((
152 +##**restore_magn_set, 'dmm_11000ev_cmos_10x'**##
153 +)))|(((
154 +restore magnification set with the name 'dmm_11000ev_cmos_10x'
155 +)))
156 +
127 127  == {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
128 128  
129 129  (% class="wrapped fixed-table" %)
... ... @@ -135,7 +135,7 @@
135 135  motion
136 136  )))
137 137  |(((
138 -pressure_on
168 +##**pressure_on**##
139 139  )))|(((
140 140  enable detector y movement
141 141  )))|(((
... ... @@ -142,7 +142,7 @@
142 142  \\
143 143  )))
144 144  |(((
145 -o_ccd_dist, 5
175 +##**o_ccd_dist, 5**##
146 146  )))|(((
147 147  move detector in y direction
148 148  )))|(((
... ... @@ -149,7 +149,7 @@
149 149  relative [ mm ]
150 150  )))
151 151  |(((
152 -pressure_off
182 +##**pressure_off**##
153 153  )))|(((
154 154  disable detector movement
155 155  )))|(((
... ... @@ -156,9 +156,9 @@
156 156  \\
157 157  )))
158 158  
159 -== {{id name="IDLcheatsheet-Makeimage"/}}Make image ==
189 +== {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
160 160  
161 -(% class="wrapped fixed-table" %)
191 +(% class="wrapped" %)
162 162  |=(((
163 163  IDL command
164 164  )))|=(((
... ... @@ -165,42 +165,82 @@
165 165  description
166 166  )))
167 167  |(((
168 -i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
198 +##**slit_oh, rx=1 (rz=1)**##
169 169  )))|(((
170 -make an image & show image & draw box
200 +moves oh slit aperture horizontally (vertically) by 1mm
171 171  )))
172 172  |(((
173 -a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
203 +##**slit_oh, rdx=1 (rdz=1)**##
174 174  )))|(((
175 -make an absorption image & show image & draw box
205 +opens oh the slit aperture horizontally (vertically) by 1 mm
176 176  )))
207 +|(((
208 +##**slit_eh2, rx=1 (rz=1)**##
209 +)))|(((
210 +moves eh2 slit aperture horizontally (vertically) by 1 mm
211 +)))
212 +|(((
213 +##**slit_eh2, rdx=1 (rdz=1)**##
214 +)))|(((
215 +opens eh2 the slit aperture horizontally (vertically) by 1 mm
216 +)))
217 +|(((
218 +##**slit_info**##
219 +)))|(((
220 +show all slit positions
221 +)))
177 177  
178 -== {{id name="IDLcheatsheet-Monochromatorpositioning"/}}Monochromator positioning ==
223 +rx, rdx, rz and rdz can be concatenated in one command (e.g. slit_oh, rx=1, rz=-2, rdx=0.5, rdz=0.5)
179 179  
225 +== {{id name="IDLcheatsheet-Makeandsaveimages"/}}Make and save images ==
226 +
180 180  (% class="wrapped fixed-table" %)
181 181  |=(((
182 182  IDL command
183 183  )))|=(((
184 184  description
185 -)))|=(((
186 -motion
187 187  )))
188 188  |(((
189 -calc_dcm_energy, 10000, /set
234 +##**i=quick(100) & display_image, BYSTCL(i, 0, 4096)
235 +**##
190 190  )))|(((
191 -set DCM and undulator to 10 keV
237 +make an image & scale image (eg. from 0 to 4096, usually from 0 to maximum value the camera can do)
238 +)))
239 +|(((
240 +##**a=quick_abs(100) & display_image, BYTSCL(a, 0, 2)**##
192 192  )))|(((
193 -\\
242 +make an absorption image & scale image (usually from 0 to to 2)
194 194  )))
195 195  |(((
196 -dcm_pitch, 0.00001
245 +##**write_tiff, '/gpfs/current/raw/test_projection.tif', i, /SHORT**##
197 197  )))|(((
247 +save i as 16-bit integer tiff in /gpfs/...
248 +)))
249 +|(((
250 +##**write_tiff, '/gpfs/current/raw/test_absorption.tif', a, /FLOAT**##
251 +)))|(((
252 +save a as 32-bit float tiff in /gpfs/...
253 +)))
254 +
255 +== {{id name="IDLcheatsheet-DCMpositioning"/}}DCM positioning ==
256 +
257 +(% class="wrapped fixed-table" %)
258 +|=(((
259 +IDL command
260 +)))|=(((
261 +description
262 +)))|=(((
263 +motion
264 +)))
265 +|(((
266 +##**dcm_pitch, 0.00001**##
267 +)))|(((
198 198  move 2nd crystal pitch by 0.00001 deg
199 199  )))|(((
200 200  relative [ deg ]
201 201  )))
202 202  |(((
203 -goto_dcm_pitch,  -0.03976
273 +##**goto_dcm_pitch,  -0.03976**##
204 204  )))|(((
205 205  move 2nd crystal pitch to -0.03976 deg
206 206  )))|(((
... ... @@ -207,37 +207,87 @@
207 207  absolute [ deg ]
208 208  )))
209 209  |(((
210 -reflex_opt
280 +##**reflex_opt**##
211 211  )))|(((
212 212  move 2nd crystal pitch to optimal flux position
213 213  )))|(((
214 214  \\
215 215  )))
286 +
287 +== {{id name="IDLcheatsheet-DMMpositioning"/}}DMM positioning ==
288 +
289 +(% class="fixed-table" %)
290 +|=(((
291 +IDL command
292 +)))|=(((
293 +description
294 +)))|=(((
295 +motion
296 +)))
216 216  |(((
217 -gap, 0.01
298 +##**dmm_x2_rot, 0.001**##
218 218  )))|(((
219 -move undulator gap by 0.01 mm
300 +move 2nd crystal pitch by 0.00001 deg
220 220  )))|(((
302 +relative [ deg ]
303 +)))
304 +|(((
305 +##**goto_dmm_x2_rot,  0.8923
306 +**##
307 +)))|(((
308 +move 2nd crystal pitch to 0.8923 deg
309 +)))|(((
310 +absolute [ deg ]
311 +)))
312 +|(((
313 +##**gap, 0.01**##
314 +)))|(((
315 +move undulator gap relative by 0.01 mm
316 +)))|(((
221 221  relative [ mm ]
222 222  )))
319 +|(((
320 +##**goto_gap, 10.0**##
321 +)))|(((
322 +move undulator gap absolute to 10.0 mm
323 +)))|(((
324 +absolute [ mm ]
325 +)))
223 223  
224 -== {{id name="IDLcheatsheet-Saveanimageastiff"/}}Save an image as tiff ==
327 +== {{id name="IDLcheatsheet-Undulatorpositioning"/}}Undulator positioning ==
225 225  
226 -(% class="wrapped relative-table" style="width: 60.1204%;" %)
329 +(% class="fixed-table" %)
227 227  |=(((
228 228  IDL command
229 229  )))|=(((
230 -desciption
333 +description
334 +)))|=(((
335 +motion
231 231  )))
232 232  |(((
233 -write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
338 +##**gap, 0.01**##
234 234  )))|(((
235 -save i as 16-bit tiff in /gofs/...
340 +move undulator gap relative by 0.01 mm
341 +)))|(((
342 +relative [ mm ]
236 236  )))
344 +|(((
345 +##**goto_gap, 10.0**##
346 +)))|(((
347 +move undulator gap absolute to 10.0 mm
348 +)))|(((
349 +absolute [ mm ]
350 +)))
237 237  
238 -== {{id name="IDLcheatsheet-Generalremarks"/}}General remarks ==
352 +{{info title="Monochromator positioning"}}
353 +ATTENTION: Setting up a Monochromator as well as positioning front end slits is **only** done by the beamline staff!
354 +{{/info}}
239 239  
240 -(% class="wrapped relative-table" style="width: 51.5317%;" %)
356 +\\
357 +
358 +== {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
359 +
360 +(% class="wrapped relative-table" style="width: 45.5603%;" %)
241 241  |=(((
242 242  Functionality
243 243  )))|=(((
... ... @@ -244,7 +244,7 @@
244 244  IDL syntax
245 245  )))
246 246  |(((
247 -Chaining commands
367 +chaining commands
248 248  )))|(((
249 249  command_1 **&** command_2 **&** ...
250 250  )))
... ... @@ -263,3 +263,52 @@
263 263  )))|(((
264 264  **pos_**//motor//()
265 265  )))
386 +
387 +== {{id name="IDLcheatsheet-BeamshutterandInterlockcontrol"/}}Beamshutter and Interlock control ==
388 +
389 +(% class="wrapped relative-table" style="width: 75.0455%;" %)
390 +|=(((
391 +IDL command
392 +)))|=(((
393 +description
394 +)))
395 +|(((
396 +##**bs_info**##
397 +)))|(((
398 +prints an overview of the beamline beamshutter status
399 +)))
400 +|(((
401 +##**bsoh_open / bsoh_close**##
402 +)))|(((
403 +opens / closes the optics hutch beamshutter. Closing the OH beamshutter will close all following beamshutters (EH1, EH2)
404 +)))
405 +|(((
406 +##**bseh1_open / bseh1_close**##
407 +)))|(((
408 +opens / closes the EH1 beamshutter. Opening will open the OH beamshutter as well. Closing the OH beamshutter will the EH2 beamshutter as well
409 +)))
410 +|(((
411 +##**bseh2_open / bseh2_close**##
412 +)))|(((
413 +opens / closes the EH2 beamshutter. Openening will open the OH and EH1 beamshutters as well.
414 +)))
415 +|(((
416 +##**ics_info**##
417 +)))|(((
418 +prints an overview of the beamline interlock status
419 +)))
420 +|(((
421 +##**ics_break_oh**##
422 +)))|(((
423 +closes all P05 beamshutters and breaks OH door interlock. P06 beamshutter must be closed for this command to work!
424 +)))
425 +|(((
426 +##**ics_break_eh1**##
427 +)))|(((
428 +closes EH1 beamshutter (and EH2 beamshutter  if open) and breaks EH1 door interlock
429 +)))
430 +|(((
431 +##**ics_break_eh2**##
432 +)))|(((
433 +closes EH2 beshutter and breaks EH2 door interlock
434 +)))
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -116602080
1 +179783463
URL
... ... @@ -1,1 +1,1 @@
1 -https://confluence.desy.de/spaces/P5I/pages/116602080/IDL cheat sheet
1 +https://confluence.desy.de/spaces/P5I/pages/179783463/IDL cheat sheet