Changes for page IDL cheat sheet

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

From version 17.1
edited by fwilde
on 2018/11/08 16:19
Change comment: There is no comment for this version
To version 51.1
edited by fwilde
on 2023/02/21 18:15
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,7 +1,13 @@
1 -This is an overview of the most commonly used commands during a beamtime.
1 +== {{id name="IDLcheatsheet-Coordinatesystem"/}}Coordinate system ==
2 2  
3 +Right-handed coordinate system with y-direction along the x-ray beam.
4 +
5 +[[image:attach:p05_uct.png||width="700"]]
6 +
3 3  == {{id name="IDLcheatsheet-Samplepositioning"/}}Sample positioning ==
4 4  
9 +=== {{id name="IDLcheatsheet-Relativemovement"/}}Relative movement ===
10 +
5 5  (% class="wrapped fixed-table" %)
6 6  |=(((
7 7  IDL command
... ... @@ -11,7 +11,7 @@
11 11  motion
12 12  )))
13 13  |(((
14 -s_stage_x/z, 1
20 +##**s_stage_x/z, 1**##
15 15  )))|(((
16 16  move rotation stage in x/z-direction by 1 mm
17 17  )))|(((
... ... @@ -18,42 +18,30 @@
18 18  relative [ mm ]
19 19  )))
20 20  |(((
21 -s_pos_x/y/z, 1
27 +##**s_pos_x/y/z, 1**##
22 22  )))|(((
23 -move sample stage in x/y/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)
24 24  )))|(((
25 25  relative [ mm ]
26 26  )))
27 27  |(((
28 -s_angle, 90
34 +##**s_pos_lateral, 1**##
29 29  )))|(((
30 -rotate sample around z axis
36 +move sample stage in x-direction by 1 mm, regardless of position of rotation axis
31 31  )))|(((
32 -relative [ deg ]
38 +relative [ mm ]
33 33  )))
34 34  |(((
35 -s_in
41 +##**s_angle, 90**##
36 36  )))|(((
37 -move sample to "in" position
43 +rotate sample around z axis
38 38  )))|(((
39 -predefined
45 +relative [ deg ]
40 40  )))
41 -|(((
42 -s_out
43 -)))|(((
44 -move sample to "out" position
45 -)))|(((
46 -predefined
47 -)))
48 -|(((
49 -s_change
50 -)))|(((
51 -move sample to "change" position
52 -)))|(((
53 -predefined
54 -)))
55 55  
56 -(% class="relative-table wrapped" style="width: 63.1965%;" %)
48 +=== {{id name="IDLcheatsheet-Absolutemovement"/}}Absolute movement ===
49 +
50 +(% class="relative-table wrapped" style="width: 67.0892%;" %)
57 57  |=(((
58 58  IDL command
59 59  )))|=(((
... ... @@ -62,7 +62,7 @@
62 62  motion
63 63  )))
64 64  |(((
65 -goto_s_stage_x/z, 1
59 +##**goto_s_stage_x/z, 1**##
66 66  )))|(((
67 67  move rotation stage in x/z-direction to 1 mm
68 68  )))|(((
... ... @@ -69,7 +69,7 @@
69 69  absolute [ mm ]
70 70  )))
71 71  |(((
72 -goto_s_pos_x/y/z, 1
66 +##**goto_s_pos_x/y/z, 1**##
73 73  )))|(((
74 74  move sample stage in x/y/z-direction to 1  mm
75 75  )))|(((
... ... @@ -76,14 +76,16 @@
76 76  absolute [ mm ]
77 77  )))
78 78  |(((
79 -goto_s_angle, 90
73 +##**goto_s_angle, 90**##
80 80  )))|(((
81 -rotate sample around z axis to 90°
75 +rotate sample around z axis to 90° (**alias command: s_rot**)
82 82  )))|(((
83 83  absolute [ deg ]
84 84  )))
85 85  
86 -(% class="relative-table wrapped" style="width: 43.5484%;" %)
80 +=== {{id name="IDLcheatsheet-Getcurrentposition"/}}Get current position ===
81 +
82 +(% class="relative-table wrapped" style="width: 54.0627%;" %)
87 87  |=(((
88 88  IDL command
89 89  )))|=(((
... ... @@ -90,21 +90,76 @@
90 90  description
91 91  )))
92 92  |(((
93 -pos_s_stage_x/z()
89 +##**pos_s_stage_x/z()**##
94 94  )))|(((
95 95  return current rotation stage in x/z position
96 96  )))
97 97  |(((
98 -pos_s_pos_x/y/z()
94 +##**pos_s_pos_x/y/z()**##
99 99  )))|(((
100 100  return current sample stage in x/y/z position
101 101  )))
102 102  |(((
103 -pos_s_angle()
99 +##**pos_s_angle()**##
104 104  )))|(((
105 105  return current rotation stage angle
106 106  )))
107 107  
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(, name_add)
148 +**##
149 +)))|(((
150 +save current magnification set, optionally add something to the automatically generated name
151 +)))
152 +|(((
153 +##**restore_magn_set(, name)
154 +**##
155 +)))|(((
156 +restore last magnification set, or optionally load a file with a specific name
157 +)))
158 +
108 108  == {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
109 109  
110 110  (% class="wrapped fixed-table" %)
... ... @@ -116,30 +116,30 @@
116 116  motion
117 117  )))
118 118  |(((
119 -pressure_on
170 +##**o_ccd_dist, 5**##
120 120  )))|(((
121 -enable detector y movement
172 +move detector in y direction relative by 5 mm
122 122  )))|(((
123 -\\
174 +relative [ mm ]
124 124  )))
125 125  |(((
126 -o_ccd_dist, 5
177 +##**goto_o_ccd_dist, 30**##
127 127  )))|(((
128 -move detector in y direction
179 +move detector in y direction absoilute to 30 mm
129 129  )))|(((
130 -relative [ mm ]
181 +\\
131 131  )))
132 132  |(((
133 -pressure_off
184 +##**pos_o_ccd_dist()**##
134 134  )))|(((
135 -disable detector movement
186 +return current of the camera stage distance
136 136  )))|(((
137 137  \\
138 138  )))
139 139  
140 -== {{id name="IDLcheatsheet-Makeimage"/}}Make image ==
191 +== {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
141 141  
142 -(% class="wrapped fixed-table" %)
193 +(% class="wrapped" %)
143 143  |=(((
144 144  IDL command
145 145  )))|=(((
... ... @@ -146,35 +146,85 @@
146 146  description
147 147  )))
148 148  |(((
149 -i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
200 +##**slit_oh, rx=1 (rz=1)**##
150 150  )))|(((
151 -make an image & show image & draw box
202 +moves oh slit aperture horizontally (vertically) by 1mm
152 152  )))
153 153  |(((
154 -a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
205 +##**slit_oh, rdx=1 (rdz=1)**##
155 155  )))|(((
156 -make an absorption image & show image & draw box
207 +opens oh the slit aperture horizontally (vertically) by 1 mm
157 157  )))
209 +|(((
210 +##**slit_eh2, rx=1 (rz=1)**##
211 +)))|(((
212 +moves eh2 slit aperture horizontally (vertically) by 1 mm
213 +)))
214 +|(((
215 +##**slit_eh2, rdx=1 (rdz=1)**##
216 +)))|(((
217 +opens eh2 the slit aperture horizontally (vertically) by 1 mm
218 +)))
219 +|(((
220 +##**slit_info**##
221 +)))|(((
222 +show all slit positions
223 +)))
158 158  
159 -== {{id name="IDLcheatsheet-Monochromatorpositioning"/}}Monochromator positioning ==
225 +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)
160 160  
227 +== {{id name="IDLcheatsheet-Makeandsaveimages"/}}Make and save images ==
228 +
161 161  (% class="wrapped fixed-table" %)
162 162  |=(((
163 163  IDL command
164 164  )))|=(((
165 165  description
166 -)))|=(((
167 -motion
168 168  )))
169 169  |(((
170 -calc_dcm_energy, 10000, /set
236 +##**i=quick(100) & display_image, BYSTCL(i, 0, 4096)
237 +**##
171 171  )))|(((
172 -set DCM and undulator to 10 keV
239 +make an image & scale image (eg. from 0 to 4096, usually from 0 to maximum value the camera can do)
240 +)))
241 +|(((
242 +##**a=quick_abs(100) & display_image, BYTSCL(a, 0, 2)**##
173 173  )))|(((
244 +make an absorption image & scale image (usually from 0 to to 2)
245 +)))
246 +|(((
247 +##**write_tiff, '/gpfs/current/raw/test_projection.tif', i, /SHORT**##
248 +)))|(((
249 +save i as 16-bit integer tiff in /gpfs/...
250 +)))
251 +|(((
252 +##**write_tiff, '/gpfs/current/raw/test_absorption.tif', a, /FLOAT**##
253 +)))|(((
254 +save a as 32-bit float tiff in /gpfs/...
255 +)))
256 +
174 174  \\
258 +
259 +\\
260 +
261 +{{info title="Monochromator positioning"}}
262 +ATTENTION: Setting up a Monochromator as well as positioning front end slits is **only** done by the beamline staff!
263 +
264 +The commands above may be used by users to realign the beam should it beam profile drift with time.
265 +{{/info}}
266 +
267 +== {{id name="IDLcheatsheet-DCMpositioning"/}}DCM positioning ==
268 +
269 +(% class="wrapped fixed-table" %)
270 +|=(((
271 +IDL command
272 +)))|=(((
273 +description
274 +)))|=(((
275 +motion
175 175  )))
176 176  |(((
177 -dcm_pitch, 0.00001
278 +##**dcm_pitch, 0.00001**##
178 178  )))|(((
179 179  move 2nd crystal pitch by 0.00001 deg
180 180  )))|(((
... ... @@ -181,7 +181,7 @@
181 181  relative [ deg ]
182 182  )))
183 183  |(((
184 -goto_dcm_pitch,  -0.03976
285 +##**goto_dcm_pitch,  -0.03976**##
185 185  )))|(((
186 186  move 2nd crystal pitch to -0.03976 deg
187 187  )))|(((
... ... @@ -188,7 +188,7 @@
188 188  absolute [ deg ]
189 189  )))
190 190  |(((
191 -reflex_opt
292 +##**reflex_opt_single**##
192 192  )))|(((
193 193  move 2nd crystal pitch to optimal flux position
194 194  )))|(((
... ... @@ -195,16 +195,108 @@
195 195  \\
196 196  )))
197 197  
198 -== {{id name="IDLcheatsheet-Saveanimageastiff"/}}Save an image as tiff ==
299 +== {{id name="IDLcheatsheet-DMMpositioning"/}}DMM positioning ==
199 199  
200 -(% class="wrapped" %)
301 +(% class="fixed-table wrapped" %)
201 201  |=(((
202 202  IDL command
203 203  )))|=(((
204 -desciption
305 +description
306 +)))|=(((
307 +motion
205 205  )))
206 206  |(((
207 -write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
310 +##**dmm_x2_rot, 0.001**##
208 208  )))|(((
209 -save i as 16-bit tiff in /gofs/...
312 +move 2nd crystal pitch by 0.00001 deg
313 +)))|(((
314 +relative [ deg ]
210 210  )))
316 +|(((
317 +##**goto_dmm_x2_rot,  0.8923
318 +**##
319 +)))|(((
320 +move 2nd crystal pitch to 0.8923 deg
321 +)))|(((
322 +absolute [ deg ]
323 +)))
324 +
325 +\\
326 +
327 +== {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
328 +
329 +(% class="wrapped relative-table" style="width: 45.5603%;" %)
330 +|=(((
331 +Functionality
332 +)))|=(((
333 +IDL syntax
334 +)))
335 +|(((
336 +chaining commands
337 +)))|(((
338 +command_1 **&** command_2 **&** ...
339 +)))
340 +|(((
341 +absolute movement
342 +)))|(((
343 +**goto_**//motor//, position
344 +)))
345 +|(((
346 +relative movement
347 +)))|(((
348 +//motor//, position
349 +)))
350 +|(((
351 +current motor position
352 +)))|(((
353 +**pos_**//motor//()
354 +)))
355 +
356 +== {{id name="IDLcheatsheet-BeamshutterandInterlockcontrol"/}}Beamshutter and Interlock control ==
357 +
358 +(% class="wrapped relative-table" style="width: 75.0455%;" %)
359 +|=(((
360 +IDL command
361 +)))|=(((
362 +description
363 +)))
364 +|(((
365 +##**bs_info**##
366 +)))|(((
367 +prints an overview of the beamline beamshutter status
368 +)))
369 +|(((
370 +##**bsoh_open / bsoh_close**##
371 +)))|(((
372 +opens / closes the optics hutch beamshutter. Closing the OH beamshutter will close all following beamshutters (EH1, EH2)
373 +)))
374 +|(((
375 +##**bseh1_open / bseh1_close**##
376 +)))|(((
377 +opens / closes the EH1 beamshutter. Opening will open the OH beamshutter as well. Closing the OH beamshutter will the EH2 beamshutter as well
378 +)))
379 +|(((
380 +##**bseh2_open / bseh2_close**##
381 +)))|(((
382 +opens / closes the EH2 beamshutter. Openening will open the OH and EH1 beamshutters as well.
383 +)))
384 +|(((
385 +##**ics_info**##
386 +)))|(((
387 +prints an overview of the beamline interlock status
388 +)))
389 +|(((
390 +##**oh_break_ics**##
391 +)))|(((
392 +closes all P05 beamshutters and breaks OH door interlock. P06 beamshutter must be closed for this command to work!
393 +)))
394 +|(((
395 +##**eh1_break_ics**##
396 +)))|(((
397 +closes EH1 beamshutter (and EH2 beamshutter  if open) and breaks EH1 door interlock
398 +)))
399 +|(((
400 +##**eh2_break_ics**##
401 +)))|(((
402 +closes EH2 beshutter and breaks EH2 door interlock
403 +)))
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -109166988
1 +297508007
URL
... ... @@ -1,1 +1,1 @@
1 -https://confluence.desy.de/spaces/P5I/pages/109166988/IDL cheat sheet
1 +https://confluence.desy.de/spaces/P5I/pages/297508007/IDL cheat sheet