Changes for page IDL cheat sheet

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

From version 21.1
edited by fwilde
on 2018/11/28 17:51
Change comment: There is no comment for this version
To version 48.1
edited by fwilde
on 2020/10/10 12:39
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,14 +18,14 @@
18 18  relative [ mm ]
19 19  )))
20 20  |(((
21 -s_pos_z, 1
27 +##**s_pos_x/y/z, 1**##
22 22  )))|(((
23 -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)
24 24  )))|(((
25 25  relative [ mm ]
26 26  )))
27 27  |(((
28 -s_pos_lateral, 1
34 +##**s_pos_lateral, 1**##
29 29  )))|(((
30 30  move sample stage in x-direction by 1 mm, regardless of position of rotation axis
31 31  )))|(((
... ... @@ -32,35 +32,16 @@
32 32  relative [ mm ]
33 33  )))
34 34  |(((
35 -s_angle, 90
41 +##**s_angle, 90**##
36 36  )))|(((
37 37  rotate sample around z axis
38 38  )))|(((
39 39  relative [ deg ]
40 40  )))
41 -|(((
42 -s_in
43 -)))|(((
44 -move sample to "in" position
45 -)))|(((
46 -predefined
47 -)))
48 -|(((
49 -s_out
50 -)))|(((
51 -move sample to "out" position
52 -)))|(((
53 -predefined
54 -)))
55 -|(((
56 -s_change
57 -)))|(((
58 -move sample to "change" position
59 -)))|(((
60 -predefined
61 -)))
62 62  
63 -(% class="relative-table wrapped" style="width: 72.9307%;" %)
48 +=== {{id name="IDLcheatsheet-Absolutemovement"/}}Absolute movement ===
49 +
50 +(% class="relative-table wrapped" style="width: 67.0892%;" %)
64 64  |=(((
65 65  IDL command
66 66  )))|=(((
... ... @@ -69,7 +69,7 @@
69 69  motion
70 70  )))
71 71  |(((
72 -goto_s_stage_x/z, 1
59 +##**goto_s_stage_x/z, 1**##
73 73  )))|(((
74 74  move rotation stage in x/z-direction to 1 mm
75 75  )))|(((
... ... @@ -76,7 +76,7 @@
76 76  absolute [ mm ]
77 77  )))
78 78  |(((
79 -goto_s_pos_x/y/z, 1
66 +##**goto_s_pos_x/y/z, 1**##
80 80  )))|(((
81 81  move sample stage in x/y/z-direction to 1  mm
82 82  )))|(((
... ... @@ -83,14 +83,16 @@
83 83  absolute [ mm ]
84 84  )))
85 85  |(((
86 -goto_s_angle, 90
73 +##**goto_s_angle, 90**##
87 87  )))|(((
88 -rotate sample around z axis to 90°
75 +rotate sample around z axis to 90° (**alias command: s_rot**)
89 89  )))|(((
90 90  absolute [ deg ]
91 91  )))
92 92  
93 -(% class="relative-table wrapped" style="width: 67.1421%;" %)
80 +=== {{id name="IDLcheatsheet-Getcurrentposition"/}}Get current position ===
81 +
82 +(% class="relative-table wrapped" style="width: 54.0627%;" %)
94 94  |=(((
95 95  IDL command
96 96  )))|=(((
... ... @@ -97,21 +97,74 @@
97 97  description
98 98  )))
99 99  |(((
100 -pos_s_stage_x/z()
89 +##**pos_s_stage_x/z()**##
101 101  )))|(((
102 102  return current rotation stage in x/z position
103 103  )))
104 104  |(((
105 -pos_s_pos_x/y/z()
94 +##**pos_s_pos_x/y/z()**##
106 106  )))|(((
107 107  return current sample stage in x/y/z position
108 108  )))
109 109  |(((
110 -pos_s_angle()
99 +##**pos_s_angle()**##
111 111  )))|(((
112 112  return current rotation stage angle
113 113  )))
114 114  
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 +
115 115  == {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
116 116  
117 117  (% class="wrapped fixed-table" %)
... ... @@ -123,7 +123,7 @@
123 123  motion
124 124  )))
125 125  |(((
126 -pressure_on
168 +##**pressure_on**##
127 127  )))|(((
128 128  enable detector y movement
129 129  )))|(((
... ... @@ -130,7 +130,7 @@
130 130  \\
131 131  )))
132 132  |(((
133 -o_ccd_dist, 5
175 +##**o_ccd_dist, 5**##
134 134  )))|(((
135 135  move detector in y direction
136 136  )))|(((
... ... @@ -137,7 +137,7 @@
137 137  relative [ mm ]
138 138  )))
139 139  |(((
140 -pressure_off
182 +##**pressure_off**##
141 141  )))|(((
142 142  disable detector movement
143 143  )))|(((
... ... @@ -144,8 +144,44 @@
144 144  \\
145 145  )))
146 146  
147 -== {{id name="IDLcheatsheet-Makeimage"/}}Make image ==
189 +== {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
148 148  
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 +
149 149  (% class="wrapped fixed-table" %)
150 150  |=(((
151 151  IDL command
... ... @@ -153,17 +153,28 @@
153 153  description
154 154  )))
155 155  |(((
156 -i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
234 +##**i=quick(100) & display_image, BYSTCL(i, 0, 4096)
235 +**##
157 157  )))|(((
158 -make an image & show image & draw box
237 +make an image & scale image (eg. from 0 to 4096, usually from 0 to maximum value the camera can do)
159 159  )))
160 160  |(((
161 -a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
240 +##**a=quick_abs(100) & display_image, BYTSCL(a, 0, 2)**##
162 162  )))|(((
163 -make an absorption image & show image & draw box
242 +make an absorption image & scale image (usually from 0 to to 2)
164 164  )))
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 +)))
165 165  
166 -== {{id name="IDLcheatsheet-Monochromatorpositioning"/}}Monochromator positioning ==
255 +== {{id name="IDLcheatsheet-DCMpositioning"/}}DCM positioning ==
167 167  
168 168  (% class="wrapped fixed-table" %)
169 169  |=(((
... ... @@ -174,14 +174,39 @@
174 174  motion
175 175  )))
176 176  |(((
177 -calc_dcm_energy, 10000, /set
266 +##**dcm_pitch, 0.00001**##
178 178  )))|(((
179 -set DCM and undulator to 10 keV
268 +move 2nd crystal pitch by 0.00001 deg
180 180  )))|(((
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 +)))|(((
181 181  \\
182 182  )))
286 +
287 +== {{id name="IDLcheatsheet-DMMpositioning"/}}DMM positioning ==
288 +
289 +(% class="fixed-table wrapped" %)
290 +|=(((
291 +IDL command
292 +)))|=(((
293 +description
294 +)))|=(((
295 +motion
296 +)))
183 183  |(((
184 -dcm_pitch, 0.00001
298 +##**dmm_x2_rot, 0.001**##
185 185  )))|(((
186 186  move 2nd crystal pitch by 0.00001 deg
187 187  )))|(((
... ... @@ -188,30 +188,96 @@
188 188  relative [ deg ]
189 189  )))
190 190  |(((
191 -goto_dcm_pitch,  -0.03976
305 +##**goto_dmm_x2_rot,  0.8923
306 +**##
192 192  )))|(((
193 -move 2nd crystal pitch to -0.03976 deg
308 +move 2nd crystal pitch to 0.8923 deg
194 194  )))|(((
195 195  absolute [ deg ]
196 196  )))
312 +
313 +{{info title="Monochromator positioning"}}
314 +ATTENTION: Setting up a Monochromator as well as positioning front end slits is **only** done by the beamline staff!
315 +
316 +The commands above may be used by users to realign the beam should it beam profile drift with time.
317 +{{/info}}
318 +
319 +\\
320 +
321 +== {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
322 +
323 +(% class="wrapped relative-table" style="width: 45.5603%;" %)
324 +|=(((
325 +Functionality
326 +)))|=(((
327 +IDL syntax
328 +)))
197 197  |(((
198 -reflex_opt
330 +chaining commands
199 199  )))|(((
200 -move 2nd crystal pitch to optimal flux position
332 +command_1 **&** command_2 **&** ...
333 +)))
334 +|(((
335 +absolute movement
201 201  )))|(((
202 -\\
337 +**goto_**//motor//, position
203 203  )))
339 +|(((
340 +relative movement
341 +)))|(((
342 +//motor//, position
343 +)))
344 +|(((
345 +current motor position
346 +)))|(((
347 +**pos_**//motor//()
348 +)))
204 204  
205 -== {{id name="IDLcheatsheet-Saveanimageastiff"/}}Save an image as tiff ==
350 +== {{id name="IDLcheatsheet-BeamshutterandInterlockcontrol"/}}Beamshutter and Interlock control ==
206 206  
207 -(% class="wrapped" %)
352 +(% class="wrapped relative-table" style="width: 75.0455%;" %)
208 208  |=(((
209 209  IDL command
210 210  )))|=(((
211 -desciption
356 +description
212 212  )))
213 213  |(((
214 -write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
359 +##**bs_info**##
215 215  )))|(((
216 -save i as 16-bit tiff in /gofs/...
361 +prints an overview of the beamline beamshutter status
217 217  )))
363 +|(((
364 +##**bsoh_open / bsoh_close**##
365 +)))|(((
366 +opens / closes the optics hutch beamshutter. Closing the OH beamshutter will close all following beamshutters (EH1, EH2)
367 +)))
368 +|(((
369 +##**bseh1_open / bseh1_close**##
370 +)))|(((
371 +opens / closes the EH1 beamshutter. Opening will open the OH beamshutter as well. Closing the OH beamshutter will the EH2 beamshutter as well
372 +)))
373 +|(((
374 +##**bseh2_open / bseh2_close**##
375 +)))|(((
376 +opens / closes the EH2 beamshutter. Openening will open the OH and EH1 beamshutters as well.
377 +)))
378 +|(((
379 +##**ics_info**##
380 +)))|(((
381 +prints an overview of the beamline interlock status
382 +)))
383 +|(((
384 +##**ics_break_oh**##
385 +)))|(((
386 +closes all P05 beamshutters and breaks OH door interlock. P06 beamshutter must be closed for this command to work!
387 +)))
388 +|(((
389 +##**ics_break_eh1**##
390 +)))|(((
391 +closes EH1 beamshutter (and EH2 beamshutter  if open) and breaks EH1 door interlock
392 +)))
393 +|(((
394 +##**ics_break_eh2**##
395 +)))|(((
396 +closes EH2 beshutter and breaks EH2 door interlock
397 +)))
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -109167001
1 +179783464
URL
... ... @@ -1,1 +1,1 @@
1 -https://confluence.desy.de/spaces/P5I/pages/109167001/IDL cheat sheet
1 +https://confluence.desy.de/spaces/P5I/pages/179783464/IDL cheat sheet