Changes for page IDL cheat sheet

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

From version 22.1
edited by fwilde
on 2018/11/28 17:53
Change comment: There is no comment for this version
To version 50.1
edited by fwilde
on 2020/10/10 12:45
Change comment: There is no comment for this version

Summary

Details

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