Wiki source code of IDL cheat sheet

Version 40.1 by fwilde on 2019/05/28 23:35

Hide last authors
fwilde 22.1 1 == {{id name="IDLcheatsheet-Coordinatesystem"/}}Coordinate system ==
2
fwilde 23.1 3 Right-handed coordinate system with y-direction along the x-ray beam.
4
fwilde 25.1 5 [[image:attach:p05_uct.png||width="700"]]
6
moosmanj 6.1 7 == {{id name="IDLcheatsheet-Samplepositioning"/}}Sample positioning ==
8
fwilde 31.1 9 === {{id name="IDLcheatsheet-Relativemovement"/}}Relative movement ===
10
moosmanj 12.1 11 (% class="wrapped fixed-table" %)
fwilde 1.1 12 |=(((
13 IDL command
14 )))|=(((
15 description
fwilde 3.1 16 )))|=(((
17 motion
fwilde 1.1 18 )))
19 |(((
fwilde 15.1 20 s_stage_x/z, 1
fwilde 1.1 21 )))|(((
fwilde 15.1 22 move rotation stage in x/z-direction by 1 mm
fwilde 3.1 23 )))|(((
24 relative [ mm ]
fwilde 1.1 25 )))
26 |(((
fwilde 36.1 27 s_pos_x/y/z, 1
fwilde 1.1 28 )))|(((
fwilde 36.1 29 move sample stage in x/y/z-direction by 1 mm (caution with directions: stage mount on rotation axis)
fwilde 3.1 30 )))|(((
31 relative [ mm ]
fwilde 1.1 32 )))
33 |(((
fwilde 18.1 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 |(((
moosmanj 9.1 41 s_angle, 90
fwilde 3.1 42 )))|(((
moosmanj 9.1 43 rotate sample around z axis
fwilde 3.1 44 )))|(((
moosmanj 9.1 45 relative [ deg ]
fwilde 3.1 46 )))
moosmanj 6.1 47
fwilde 31.1 48 === {{id name="IDLcheatsheet-Absolutemovement"/}}Absolute movement ===
49
fwilde 30.1 50 (% class="relative-table wrapped" style="width: 63.4026%;" %)
fwilde 15.1 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 )))|(((
fwilde 37.1 75 rotate sample around z axis to 90° (alias command: s_rot)
fwilde 15.1 76 )))|(((
77 absolute [ deg ]
78 )))
79
fwilde 32.1 80 === {{id name="IDLcheatsheet-Getcurrentposition"/}}Get current position ===
fwilde 31.1 81
fwilde 28.1 82 (% class="relative-table wrapped" style="width: 51.477%;" %)
fwilde 15.1 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
fwilde 31.1 104 === {{id name="IDLcheatsheet-Predefinedpositions"/}}Predefined positions ===
105
fwilde 40.1 106 (% class="relative-table wrapped" style="width: 55.721%;" %)
fwilde 31.1 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
fwilde 40.1 138 === {{id name="IDLcheatsheet-Magnificationsets"/}}Magnification sets ===
139
140 |=(((
141 IDL command
142 )))|=(((
143 description
144 )))
145 |(((
146 save_magn_set, 'dmm_11000ev_cmos_10x'
147 )))|(((
148 save current magnification set
149 )))
150 |(((
151 restore_magn_set, 'dmm_11000ev_cmos_10x'
152 )))|(((
153 restore magnification set with the name 'dmm_11000ev_cmos_10x'
154 )))
155
moosmanj 6.1 156 == {{id name="IDLcheatsheet-Detectorpositioning"/}}Detector positioning ==
157
moosmanj 12.1 158 (% class="wrapped fixed-table" %)
moosmanj 6.1 159 |=(((
moosmanj 7.1 160 IDL command
moosmanj 6.1 161 )))|=(((
162 description
163 )))|=(((
164 motion
165 )))
fwilde 3.1 166 |(((
moosmanj 6.1 167 pressure_on
fwilde 1.1 168 )))|(((
moosmanj 6.1 169 enable detector y movement
170 )))|(((
greving 5.1 171 \\
moosmanj 6.1 172 )))
173 |(((
174 o_ccd_dist, 5
fwilde 3.1 175 )))|(((
moosmanj 6.1 176 move detector in y direction
177 )))|(((
178 relative [ mm ]
179 )))
180 |(((
181 pressure_off
182 )))|(((
183 disable detector movement
184 )))|(((
fwilde 3.1 185 \\
fwilde 1.1 186 )))
fwilde 3.1 187
fwilde 38.1 188 == {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
189
fwilde 39.1 190 (% class="wrapped" %)
fwilde 38.1 191 |=(((
192 IDL command
193 )))|=(((
194 description
195 )))
196 |(((
197 slit_eh2, rx=1 (rz=1)
198 )))|(((
199 moves eh2 slit aperture horizontally (vertically) by 1mm , **works analoguous for slit_oh and slit_ps2**
200 )))
201 |(((
202 slit_eh2, rdz=1 (rdz=1)
203 )))|(((
204 opens eh2 the slit aperture horizontally (vertically) by 1 mm, **works analoguous for slit_oh and slit_ps2**
205 )))
206 |(((
207 slit_info
208 )))|(((
209 show all slit positions
210 )))
211
fwilde 39.1 212 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)
fwilde 38.1 213
fwilde 34.1 214 == {{id name="IDLcheatsheet-Makeimages"/}}Make images ==
moosmanj 7.1 215
moosmanj 12.1 216 (% class="wrapped fixed-table" %)
moosmanj 7.1 217 |=(((
218 IDL command
219 )))|=(((
220 description
221 )))
222 |(((
223 i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
224 )))|(((
225 make an image & show image & draw box
226 )))
227 |(((
moosmanj 10.1 228 a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
moosmanj 7.1 229 )))|(((
moosmanj 10.1 230 make an absorption image & show image & draw box
moosmanj 7.1 231 )))
fwilde 34.1 232 |(((
233 write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
234 )))|(((
235 save i as 16-bit tiff in /gpfs/...
236 )))
moosmanj 7.1 237
moosmanj 6.1 238 == {{id name="IDLcheatsheet-Monochromatorpositioning"/}}Monochromator positioning ==
239
moosmanj 12.1 240 (% class="wrapped fixed-table" %)
fwilde 3.1 241 |=(((
242 IDL command
243 )))|=(((
244 description
245 )))|=(((
246 motion
247 )))
fwilde 1.1 248 |(((
fwilde 3.1 249 calc_dcm_energy, 10000, /set
250 )))|(((
251 set DCM and undulator to 10 keV
252 )))|(((
fwilde 1.1 253 \\
fwilde 3.1 254 )))
255 |(((
256 dcm_pitch, 0.00001
fwilde 1.1 257 )))|(((
fwilde 4.1 258 move 2nd crystal pitch by 0.00001 deg
fwilde 3.1 259 )))|(((
fwilde 4.1 260 relative [ deg ]
fwilde 3.1 261 )))
262 |(((
fwilde 4.1 263 goto_dcm_pitch,  -0.03976
fwilde 3.1 264 )))|(((
fwilde 4.1 265 move 2nd crystal pitch to -0.03976 deg
fwilde 3.1 266 )))|(((
fwilde 4.1 267 absolute [ deg ]
fwilde 1.1 268 )))
fwilde 3.1 269 |(((
fwilde 4.1 270 reflex_opt
fwilde 3.1 271 )))|(((
fwilde 4.1 272 move 2nd crystal pitch to optimal flux position
fwilde 3.1 273 )))|(((
274 \\
275 )))
fwilde 26.1 276 |(((
277 gap, 0.01
278 )))|(((
279 move undulator gap by 0.01 mm
280 )))|(((
281 relative [ mm ]
282 )))
fwilde 14.1 283
fwilde 35.1 284 == {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
fwilde 27.1 285
fwilde 28.1 286 (% class="wrapped relative-table" style="width: 51.5317%;" %)
fwilde 27.1 287 |=(((
288 Functionality
289 )))|=(((
290 IDL syntax
291 )))
292 |(((
293 Chaining commands
294 )))|(((
295 command_1 **&** command_2 **&** ...
296 )))
297 |(((
298 absolute movement
299 )))|(((
300 **goto_**//motor//, position
301 )))
302 |(((
303 relative movement
304 )))|(((
305 //motor//, position
306 )))
307 |(((
308 current motor position
309 )))|(((
310 **pos_**//motor//()
311 )))