Changes for page IDL cheat sheet

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

From version 30.1
edited by fwilde
on 2018/12/18 12:12
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,5 +3,3 @@
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.
... ... @@ -8,6 +8,8 @@
8 8  
9 9  == {{id name="IDLcheatsheet-Samplepositioning"/}}Sample positioning ==
10 10  
9 +=== {{id name="IDLcheatsheet-Relativemovement"/}}Relative movement ===
10 +
11 11  (% class="wrapped fixed-table" %)
12 12  |=(((
13 13  IDL command
... ... @@ -17,7 +17,7 @@
17 17  motion
18 18  )))
19 19  |(((
20 -s_stage_x/z, 1
20 +##**s_stage_x/z, 1**##
21 21  )))|(((
22 22  move rotation stage in x/z-direction by 1 mm
23 23  )))|(((
... ... @@ -24,14 +24,14 @@
24 24  relative [ mm ]
25 25  )))
26 26  |(((
27 -s_pos_z, 1
27 +##**s_pos_x/y/z, 1**##
28 28  )))|(((
29 -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)
30 30  )))|(((
31 31  relative [ mm ]
32 32  )))
33 33  |(((
34 -s_pos_lateral, 1
34 +##**s_pos_lateral, 1**##
35 35  )))|(((
36 36  move sample stage in x-direction by 1 mm, regardless of position of rotation axis
37 37  )))|(((
... ... @@ -38,35 +38,16 @@
38 38  relative [ mm ]
39 39  )))
40 40  |(((
41 -s_angle, 90
41 +##**s_angle, 90**##
42 42  )))|(((
43 43  rotate sample around z axis
44 44  )))|(((
45 45  relative [ deg ]
46 46  )))
47 -|(((
48 -s_in
49 -)))|(((
50 -move sample to "in" position
51 -)))|(((
52 -predefined
53 -)))
54 -|(((
55 -s_out
56 -)))|(((
57 -move sample to "out" position
58 -)))|(((
59 -predefined
60 -)))
61 -|(((
62 -s_change
63 -)))|(((
64 -move sample to "change" position
65 -)))|(((
66 -predefined
67 -)))
68 68  
69 -(% class="relative-table wrapped" style="width: 63.4026%;" %)
48 +=== {{id name="IDLcheatsheet-Absolutemovement"/}}Absolute movement ===
49 +
50 +(% class="relative-table wrapped" style="width: 67.0892%;" %)
70 70  |=(((
71 71  IDL command
72 72  )))|=(((
... ... @@ -75,7 +75,7 @@
75 75  motion
76 76  )))
77 77  |(((
78 -goto_s_stage_x/z, 1
59 +##**goto_s_stage_x/z, 1**##
79 79  )))|(((
80 80  move rotation stage in x/z-direction to 1 mm
81 81  )))|(((
... ... @@ -82,7 +82,7 @@
82 82  absolute [ mm ]
83 83  )))
84 84  |(((
85 -goto_s_pos_x/y/z, 1
66 +##**goto_s_pos_x/y/z, 1**##
86 86  )))|(((
87 87  move sample stage in x/y/z-direction to 1  mm
88 88  )))|(((
... ... @@ -89,14 +89,16 @@
89 89  absolute [ mm ]
90 90  )))
91 91  |(((
92 -goto_s_angle, 90
73 +##**goto_s_angle, 90**##
93 93  )))|(((
94 -rotate sample around z axis to 90°
75 +rotate sample around z axis to 90° (**alias command: s_rot**)
95 95  )))|(((
96 96  absolute [ deg ]
97 97  )))
98 98  
99 -(% 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%;" %)
100 100  |=(((
101 101  IDL command
102 102  )))|=(((
... ... @@ -103,21 +103,74 @@
103 103  description
104 104  )))
105 105  |(((
106 -pos_s_stage_x/z()
89 +##**pos_s_stage_x/z()**##
107 107  )))|(((
108 108  return current rotation stage in x/z position
109 109  )))
110 110  |(((
111 -pos_s_pos_x/y/z()
94 +##**pos_s_pos_x/y/z()**##
112 112  )))|(((
113 113  return current sample stage in x/y/z position
114 114  )))
115 115  |(((
116 -pos_s_angle()
99 +##**pos_s_angle()**##
117 117  )))|(((
118 118  return current rotation stage angle
119 119  )))
120 120  
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 +
121 121  == {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
122 122  
123 123  (% class="wrapped fixed-table" %)
... ... @@ -129,7 +129,7 @@
129 129  motion
130 130  )))
131 131  |(((
132 -pressure_on
168 +##**pressure_on**##
133 133  )))|(((
134 134  enable detector y movement
135 135  )))|(((
... ... @@ -136,7 +136,7 @@
136 136  \\
137 137  )))
138 138  |(((
139 -o_ccd_dist, 5
175 +##**o_ccd_dist, 5**##
140 140  )))|(((
141 141  move detector in y direction
142 142  )))|(((
... ... @@ -143,7 +143,7 @@
143 143  relative [ mm ]
144 144  )))
145 145  |(((
146 -pressure_off
182 +##**pressure_off**##
147 147  )))|(((
148 148  disable detector movement
149 149  )))|(((
... ... @@ -150,9 +150,9 @@
150 150  \\
151 151  )))
152 152  
153 -== {{id name="IDLcheatsheet-Makeimage"/}}Make image ==
189 +== {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
154 154  
155 -(% class="wrapped fixed-table" %)
191 +(% class="wrapped" %)
156 156  |=(((
157 157  IDL command
158 158  )))|=(((
... ... @@ -159,42 +159,82 @@
159 159  description
160 160  )))
161 161  |(((
162 -i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
198 +##**slit_oh, rx=1 (rz=1)**##
163 163  )))|(((
164 -make an image & show image & draw box
200 +moves oh slit aperture horizontally (vertically) by 1mm
165 165  )))
166 166  |(((
167 -a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
203 +##**slit_oh, rdx=1 (rdz=1)**##
168 168  )))|(((
169 -make an absorption image & show image & draw box
205 +opens oh the slit aperture horizontally (vertically) by 1 mm
170 170  )))
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 +)))
171 171  
172 -== {{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)
173 173  
225 +== {{id name="IDLcheatsheet-Makeandsaveimages"/}}Make and save images ==
226 +
174 174  (% class="wrapped fixed-table" %)
175 175  |=(((
176 176  IDL command
177 177  )))|=(((
178 178  description
179 -)))|=(((
180 -motion
181 181  )))
182 182  |(((
183 -calc_dcm_energy, 10000, /set
234 +##**i=quick(100) & display_image, BYSTCL(i, 0, 4096)
235 +**##
184 184  )))|(((
185 -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)**##
186 186  )))|(((
187 -\\
242 +make an absorption image & scale image (usually from 0 to to 2)
188 188  )))
189 189  |(((
190 -dcm_pitch, 0.00001
245 +##**write_tiff, '/gpfs/current/raw/test_projection.tif', i, /SHORT**##
191 191  )))|(((
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 +)))|(((
192 192  move 2nd crystal pitch by 0.00001 deg
193 193  )))|(((
194 194  relative [ deg ]
195 195  )))
196 196  |(((
197 -goto_dcm_pitch,  -0.03976
273 +##**goto_dcm_pitch,  -0.03976**##
198 198  )))|(((
199 199  move 2nd crystal pitch to -0.03976 deg
200 200  )))|(((
... ... @@ -201,37 +201,50 @@
201 201  absolute [ deg ]
202 202  )))
203 203  |(((
204 -reflex_opt
280 +##**reflex_opt**##
205 205  )))|(((
206 206  move 2nd crystal pitch to optimal flux position
207 207  )))|(((
208 208  \\
209 209  )))
210 -|(((
211 -gap, 0.01
212 -)))|(((
213 -move undulator gap by 0.01 mm
214 -)))|(((
215 -relative [ mm ]
216 -)))
217 217  
218 -== {{id name="IDLcheatsheet-Saveanimageastiff"/}}Save an image as tiff ==
287 +== {{id name="IDLcheatsheet-DMMpositioning"/}}DMM positioning ==
219 219  
220 -(% class="wrapped relative-table" style="width: 60.1204%;" %)
289 +(% class="fixed-table wrapped" %)
221 221  |=(((
222 222  IDL command
223 223  )))|=(((
224 -desciption
293 +description
294 +)))|=(((
295 +motion
225 225  )))
226 226  |(((
227 -write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
298 +##**dmm_x2_rot, 0.001**##
228 228  )))|(((
229 -save i as 16-bit tiff in /gofs/...
300 +move 2nd crystal pitch by 0.00001 deg
301 +)))|(((
302 +relative [ deg ]
230 230  )))
304 +|(((
305 +##**goto_dmm_x2_rot,  0.8923
306 +**##
307 +)))|(((
308 +move 2nd crystal pitch to 0.8923 deg
309 +)))|(((
310 +absolute [ deg ]
311 +)))
231 231  
232 -== {{id name="IDLcheatsheet-Generalremarks"/}}General remarks ==
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!
233 233  
234 -(% class="wrapped relative-table" style="width: 51.5317%;" %)
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%;" %)
235 235  |=(((
236 236  Functionality
237 237  )))|=(((
... ... @@ -238,7 +238,7 @@
238 238  IDL syntax
239 239  )))
240 240  |(((
241 -Chaining commands
330 +chaining commands
242 242  )))|(((
243 243  command_1 **&** command_2 **&** ...
244 244  )))
... ... @@ -257,3 +257,52 @@
257 257  )))|(((
258 258  **pos_**//motor//()
259 259  )))
349 +
350 +== {{id name="IDLcheatsheet-BeamshutterandInterlockcontrol"/}}Beamshutter and Interlock control ==
351 +
352 +(% class="wrapped relative-table" style="width: 75.0455%;" %)
353 +|=(((
354 +IDL command
355 +)))|=(((
356 +description
357 +)))
358 +|(((
359 +##**bs_info**##
360 +)))|(((
361 +prints an overview of the beamline beamshutter status
362 +)))
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 -116602099
1 +179783464
URL
... ... @@ -1,1 +1,1 @@
1 -https://confluence.desy.de/spaces/P5I/pages/116602099/IDL cheat sheet
1 +https://confluence.desy.de/spaces/P5I/pages/179783464/IDL cheat sheet