Wiki source code of IDL cheat sheet

Version 47.1 by fwilde on 2020/10/10 12:38

Show last authors
1 == {{id name="IDLcheatsheet-Coordinatesystem"/}}Coordinate system ==
2
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" %)
12 |=(((
13 IDL command
14 )))|=(((
15 description
16 )))|=(((
17 motion
18 )))
19 |(((
20 ##**s_stage_x/z, 1**##
21 )))|(((
22 move rotation stage in x/z-direction by 1 mm
23 )))|(((
24 relative [ mm ]
25 )))
26 |(((
27 ##**s_pos_x/y/z, 1**##
28 )))|(((
29 move sample stage in x/y/z-direction by 1 mm (caution with directions: stage mount on rotation axis)
30 )))|(((
31 relative [ mm ]
32 )))
33 |(((
34 ##**s_pos_lateral, 1**##
35 )))|(((
36 move sample stage in x-direction by 1 mm, regardless of position of rotation axis
37 )))|(((
38 relative [ mm ]
39 )))
40 |(((
41 ##**s_angle, 90**##
42 )))|(((
43 rotate sample around z axis
44 )))|(((
45 relative [ deg ]
46 )))
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 )))
58 |(((
59 ##**goto_s_stage_x/z, 1**##
60 )))|(((
61 move rotation stage in x/z-direction to 1 mm
62 )))|(((
63 absolute [ mm ]
64 )))
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 )))
79
80 === {{id name="IDLcheatsheet-Getcurrentposition"/}}Get current position ===
81
82 (% class="relative-table wrapped" style="width: 54.0627%;" %)
83 |=(((
84 IDL command
85 )))|=(((
86 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
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
157 == {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
158
159 (% class="wrapped fixed-table" %)
160 |=(((
161 IDL command
162 )))|=(((
163 description
164 )))|=(((
165 motion
166 )))
167 |(((
168 ##**pressure_on**##
169 )))|(((
170 enable detector y movement
171 )))|(((
172 \\
173 )))
174 |(((
175 ##**o_ccd_dist, 5**##
176 )))|(((
177 move detector in y direction
178 )))|(((
179 relative [ mm ]
180 )))
181 |(((
182 ##**pressure_off**##
183 )))|(((
184 disable detector movement
185 )))|(((
186 \\
187 )))
188
189 == {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
190
191 (% class="wrapped" %)
192 |=(((
193 IDL command
194 )))|=(((
195 description
196 )))
197 |(((
198 ##**slit_oh, rx=1 (rz=1)**##
199 )))|(((
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 )))|(((
284 \\
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**##
299 )))|(((
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
356 \\
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
365 )))
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 )))