Wiki source code of IDL cheat sheet

Version 43.1 by fwilde on 2019/08/08 14:10

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: 63.4026%;" %)
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: 51.477%;" %)
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_eh2, rx=1 (rz=1)
199 )))|(((
200 moves eh2 slit aperture horizontally (vertically) by 1mm , **works analoguous for slit_oh and slit_ps2**
201 )))
202 |(((
203 slit_eh2, rdz=1 (rdz=1)
204 )))|(((
205 opens eh2 the slit aperture horizontally (vertically) by 1 mm, **works analoguous for slit_oh and slit_ps2**
206 )))
207 |(((
208 slit_info
209 )))|(((
210 show all slit positions
211 )))
212
213 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)
214
215 == {{id name="IDLcheatsheet-Makeimages"/}}Make images ==
216
217 (% class="wrapped fixed-table" %)
218 |=(((
219 IDL command
220 )))|=(((
221 description
222 )))
223 |(((
224 i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
225 )))|(((
226 make an image & show image & draw box
227 )))
228 |(((
229 a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
230 )))|(((
231 make an absorption image & show image & draw box
232 )))
233 |(((
234 write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
235 )))|(((
236 save i as 16-bit tiff in /gpfs/...
237 )))
238
239 == {{id name="IDLcheatsheet-Monochromatorpositioning"/}}Monochromator positioning ==
240
241 (% class="wrapped fixed-table" %)
242 |=(((
243 IDL command
244 )))|=(((
245 description
246 )))|=(((
247 motion
248 )))
249 |(((
250 calc_dcm_energy, 10000, /set
251 )))|(((
252 set DCM and undulator to 10 keV
253 )))|(((
254 \\
255 )))
256 |(((
257 dcm_pitch, 0.00001
258 )))|(((
259 move 2nd crystal pitch by 0.00001 deg
260 )))|(((
261 relative [ deg ]
262 )))
263 |(((
264 goto_dcm_pitch,  -0.03976
265 )))|(((
266 move 2nd crystal pitch to -0.03976 deg
267 )))|(((
268 absolute [ deg ]
269 )))
270 |(((
271 reflex_opt
272 )))|(((
273 move 2nd crystal pitch to optimal flux position
274 )))|(((
275 \\
276 )))
277 |(((
278 gap, 0.01
279 )))|(((
280 move undulator gap by 0.01 mm
281 )))|(((
282 relative [ mm ]
283 )))
284
285 == {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
286
287 (% class="wrapped relative-table" style="width: 51.5317%;" %)
288 |=(((
289 Functionality
290 )))|=(((
291 IDL syntax
292 )))
293 |(((
294 Chaining commands
295 )))|(((
296 command_1 **&** command_2 **&** ...
297 )))
298 |(((
299 absolute movement
300 )))|(((
301 **goto_**//motor//, position
302 )))
303 |(((
304 relative movement
305 )))|(((
306 //motor//, position
307 )))
308 |(((
309 current motor position
310 )))|(((
311 **pos_**//motor//()
312 )))
313
314 == {{id name="IDLcheatsheet-BeamshutterandInterlockcontrol"/}}Beamshutter and Interlock control ==
315
316 (% class="wrapped" %)
317 |=(((
318 IDL command
319 )))|=(((
320 description
321 )))
322 |(((
323 bs_info
324 )))|(((
325 prints an overview of the beamline beamshutter status
326 )))
327 |(((
328 bsoh_open / bsoh_close
329 )))|(((
330 opens / closes the optics hutch beamshutter. Closing the OH beamshutter will close all following beamshutters (EH1, EH2)
331 )))
332 |(((
333 bseh1_open / bseh1_close
334 )))|(((
335 opens / closes the EH1 beamshutter. Opening will open the OH beamshutter as well. Closing the OH beamshutter will the EH2 beamshutter as well
336 )))
337 |(((
338 bseh2_open / bseh2_close
339 )))|(((
340 opens / closes the EH2 beamshutter. Openening will open the OH and EH1 beamshutters as well.
341 )))
342 |(((
343 ics_info
344 )))|(((
345 prints an overview of the beamline interlock status
346 )))
347 |(((
348 ics_break_oh
349 )))|(((
350 closes all P05 beamshutters and breaks OH door interlock. P06 beamshutter must be closed for this command to work!
351 )))
352 |(((
353 ics_break_eh1
354 )))|(((
355 closes EH1 beamshutter (and EH2 beamshutter  if open) and breaks EH1 door interlock
356 )))
357 |(((
358 ics_break_eh2
359 )))|(((
360 closes EH2 beshutter and breaks EH2 door interlock
361 )))