Changes for page IDL cheat sheet

Last modified by fwilde on 2025/07/15 17:44

From version 3.1
edited by fwilde
on 2018/04/09 10:00
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,6 +1,14 @@
1 -This is an overview of the most commonly used commands during a beamtime.
1 +== {{id name="IDLcheatsheet-Coordinatesystem"/}}Coordinate system ==
2 2  
3 -(% class="wrapped" %)
3 +Right-handed coordinate system with y-direction along the x-ray beam.
4 +
5 +[[image:attach:p05_uct.png||width="700"]]
6 +
7 +== {{id name="IDLcheatsheet-Samplepositioning"/}}Sample positioning ==
8 +
9 +=== {{id name="IDLcheatsheet-Relativemovement"/}}Relative movement ===
10 +
11 +(% class="wrapped fixed-table" %)
4 4  |=(((
5 5  IDL command
6 6  )))|=(((
... ... @@ -9,67 +9,418 @@
9 9  motion
10 10  )))
11 11  |(((
12 -s_stage_x/y/z
20 +##**s_stage_x/z, 1**##
13 13  )))|(((
14 -move rotation stage in x/y/z-direction
22 +move rotation stage in x/z-direction by 1 mm
15 15  )))|(((
16 16  relative [ mm ]
17 17  )))
18 18  |(((
19 -s_pos_x/y/z
27 +##**s_pos_x/y/z, 1**##
20 20  )))|(((
21 -move sample stage in x/y/z-direction
29 +move sample stage in x/y/z-direction by 1 mm (caution with directions: stage mount on rotation axis)
22 22  )))|(((
23 23  relative [ mm ]
24 24  )))
25 25  |(((
26 -s_angle
34 +##**s_pos_lateral, 1**##
27 27  )))|(((
28 -rotate rotation stage
36 +move sample stage in x-direction by 1 mm, regardless of position of rotation axis
29 29  )))|(((
38 +relative [ mm ]
39 +)))
40 +|(((
41 +##**s_angle, 90**##
42 +)))|(((
43 +rotate sample around z axis
44 +)))|(((
30 30  relative [ deg ]
31 31  )))
47 +
48 +=== {{id name="IDLcheatsheet-Absolutemovement"/}}Absolute movement ===
49 +
50 +(% class="relative-table wrapped" style="width: 67.0892%;" %)
51 +|=(((
52 +IDL command
53 +)))|=(((
54 +description
55 +)))|=(((
56 +motion
57 +)))
32 32  |(((
33 -\\
59 +##**goto_s_stage_x/z, 1**##
34 34  )))|(((
35 -\\
61 +move rotation stage in x/z-direction to 1 mm
36 36  )))|(((
37 -\\
63 +absolute [ mm ]
38 38  )))
65 +|(((
66 +##**goto_s_pos_x/y/z, 1**##
67 +)))|(((
68 +move sample stage in x/y/z-direction to 1  mm
69 +)))|(((
70 +absolute [ mm ]
71 +)))
72 +|(((
73 +##**goto_s_angle, 90**##
74 +)))|(((
75 +rotate sample around z axis to 90° (**alias command: s_rot**)
76 +)))|(((
77 +absolute [ deg ]
78 +)))
39 39  
40 -(% class="relative-table" style="width: 52.0982%;" %)
80 +=== {{id name="IDLcheatsheet-Getcurrentposition"/}}Get current position ===
81 +
82 +(% class="relative-table wrapped" style="width: 54.0627%;" %)
41 41  |=(((
42 42  IDL command
43 43  )))|=(((
44 44  description
87 +)))
88 +|(((
89 +##**pos_s_stage_x/z()**##
90 +)))|(((
91 +return current rotation stage in x/z position
92 +)))
93 +|(((
94 +##**pos_s_pos_x/y/z()**##
95 +)))|(((
96 +return current sample stage in x/y/z position
97 +)))
98 +|(((
99 +##**pos_s_angle()**##
100 +)))|(((
101 +return current rotation stage angle
102 +)))
103 +
104 +=== {{id name="IDLcheatsheet-Predefinedpositions"/}}Predefined positions ===
105 +
106 +(% class="relative-table wrapped" style="width: 55.721%;" %)
107 +|=(((
108 +IDL command
45 45  )))|=(((
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 +
157 +== {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
158 +
159 +(% class="wrapped fixed-table" %)
160 +|=(((
161 +IDL command
162 +)))|=(((
163 +description
164 +)))|=(((
46 46  motion
47 47  )))
48 48  |(((
49 -calc_dcm_energy, 10000, /set
168 +##**pressure_on**##
50 50  )))|(((
51 -set DCM and undulator to 10 keV
170 +enable detector y movement
52 52  )))|(((
53 53  \\
54 54  )))
55 55  |(((
56 -dcm_pitch, 0.00001
175 +##**o_ccd_dist, 5**##
57 57  )))|(((
58 -move 2nd crystal pitch
177 +move detector in y direction
59 59  )))|(((
60 -relative [ mm ]
179 +relative [ mm ]
61 61  )))
62 62  |(((
63 -\\
182 +##**pressure_off**##
64 64  )))|(((
65 -\\
184 +disable detector movement
66 66  )))|(((
67 67  \\
68 68  )))
188 +
189 +== {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
190 +
191 +(% class="wrapped" %)
192 +|=(((
193 +IDL command
194 +)))|=(((
195 +description
196 +)))
69 69  |(((
70 -\\
198 +##**slit_oh, rx=1 (rz=1)**##
71 71  )))|(((
200 +moves oh slit aperture horizontally (vertically) by 1mm
201 +)))
202 +|(((
203 +##**slit_oh, rdx=1 (rdz=1)**##
204 +)))|(((
205 +opens oh the slit aperture horizontally (vertically) by 1 mm
206 +)))
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 +)))
222 +
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)
224 +
225 +== {{id name="IDLcheatsheet-Makeandsaveimages"/}}Make and save images ==
226 +
227 +(% class="wrapped fixed-table" %)
228 +|=(((
229 +IDL command
230 +)))|=(((
231 +description
232 +)))
233 +|(((
234 +##**i=quick(100) & display_image, BYSTCL(i, 0, 4096)
235 +**##
236 +)))|(((
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)**##
241 +)))|(((
242 +make an absorption image & scale image (usually from 0 to to 2)
243 +)))
244 +|(((
245 +##**write_tiff, '/gpfs/current/raw/test_projection.tif', i, /SHORT**##
246 +)))|(((
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 +)))|(((
268 +move 2nd crystal pitch by 0.00001 deg
269 +)))|(((
270 +relative [ deg ]
271 +)))
272 +|(((
273 +##**goto_dcm_pitch,  -0.03976**##
274 +)))|(((
275 +move 2nd crystal pitch to -0.03976 deg
276 +)))|(((
277 +absolute [ deg ]
278 +)))
279 +|(((
280 +##**reflex_opt**##
281 +)))|(((
282 +move 2nd crystal pitch to optimal flux position
283 +)))|(((
72 72  \\
285 +)))
286 +
287 +== {{id name="IDLcheatsheet-DMMpositioning"/}}DMM positioning ==
288 +
289 +(% class="fixed-table" %)
290 +|=(((
291 +IDL command
292 +)))|=(((
293 +description
294 +)))|=(((
295 +motion
296 +)))
297 +|(((
298 +##**dmm_x2_rot, 0.001**##
73 73  )))|(((
300 +move 2nd crystal pitch by 0.00001 deg
301 +)))|(((
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 +)))|(((
317 +relative [ mm ]
318 +)))
319 +|(((
320 +##**goto_gap, 10.0**##
321 +)))|(((
322 +move undulator gap absolute to 10.0 mm
323 +)))|(((
324 +absolute [ mm ]
325 +)))
326 +
327 +== {{id name="IDLcheatsheet-Undulatorpositioning"/}}Undulator positioning ==
328 +
329 +(% class="fixed-table" %)
330 +|=(((
331 +IDL command
332 +)))|=(((
333 +description
334 +)))|=(((
335 +motion
336 +)))
337 +|(((
338 +##**gap, 0.01**##
339 +)))|(((
340 +move undulator gap relative by 0.01 mm
341 +)))|(((
342 +relative [ mm ]
343 +)))
344 +|(((
345 +##**goto_gap, 10.0**##
346 +)))|(((
347 +move undulator gap absolute to 10.0 mm
348 +)))|(((
349 +absolute [ mm ]
350 +)))
351 +
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}}
355 +
74 74  \\
357 +
358 +== {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
359 +
360 +(% class="wrapped relative-table" style="width: 45.5603%;" %)
361 +|=(((
362 +Functionality
363 +)))|=(((
364 +IDL syntax
75 75  )))
366 +|(((
367 +chaining commands
368 +)))|(((
369 +command_1 **&** command_2 **&** ...
370 +)))
371 +|(((
372 +absolute movement
373 +)))|(((
374 +**goto_**//motor//, position
375 +)))
376 +|(((
377 +relative movement
378 +)))|(((
379 +//motor//, position
380 +)))
381 +|(((
382 +current motor position
383 +)))|(((
384 +**pos_**//motor//()
385 +)))
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 -87353286
1 +179783463
URL
... ... @@ -1,1 +1,1 @@
1 -https://confluence.desy.de/spaces/P5I/pages/87353286/IDL cheat sheet
1 +https://confluence.desy.de/spaces/P5I/pages/179783463/IDL cheat sheet