Wiki source code of IDL cheat sheet

Version 38.1 by fwilde on 2019/04/01 18:21

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: 52.0241%;" %)
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-Detectorpositioning"/}}Detector positioning ==
139
140 (% class="wrapped fixed-table" %)
141 |=(((
142 IDL command
143 )))|=(((
144 description
145 )))|=(((
146 motion
147 )))
148 |(((
149 pressure_on
150 )))|(((
151 enable detector y movement
152 )))|(((
153 \\
154 )))
155 |(((
156 o_ccd_dist, 5
157 )))|(((
158 move detector in y direction
159 )))|(((
160 relative [ mm ]
161 )))
162 |(((
163 pressure_off
164 )))|(((
165 disable detector movement
166 )))|(((
167 \\
168 )))
169
170 == {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning ==
171
172 |=(((
173 IDL command
174 )))|=(((
175 description
176 )))
177 |(((
178 slit_eh2, rx=1 (rz=1)
179 )))|(((
180 moves eh2 slit aperture horizontally (vertically) by 1mm , **works analoguous for slit_oh and slit_ps2**
181 )))
182 |(((
183 slit_eh2, rdz=1 (rdz=1)
184 )))|(((
185 opens eh2 the slit aperture horizontally (vertically) by 1 mm, **works analoguous for slit_oh and slit_ps2**
186 )))
187 |(((
188 slit_info
189 )))|(((
190 show all slit positions
191 )))
192
193 rx, rdx, rz and rdz can be concatenated in one command.
194
195 == {{id name="IDLcheatsheet-Makeimages"/}}Make images ==
196
197 (% class="wrapped fixed-table" %)
198 |=(((
199 IDL command
200 )))|=(((
201 description
202 )))
203 |(((
204 i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ]
205 )))|(((
206 make an image & show image & draw box
207 )))
208 |(((
209 a=quick_abs(100) & tv_quick, a & draw_box, [ x1, x2 ,z1 ,z2 ]
210 )))|(((
211 make an absorption image & show image & draw box
212 )))
213 |(((
214 write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT
215 )))|(((
216 save i as 16-bit tiff in /gpfs/...
217 )))
218
219 == {{id name="IDLcheatsheet-Monochromatorpositioning"/}}Monochromator positioning ==
220
221 (% class="wrapped fixed-table" %)
222 |=(((
223 IDL command
224 )))|=(((
225 description
226 )))|=(((
227 motion
228 )))
229 |(((
230 calc_dcm_energy, 10000, /set
231 )))|(((
232 set DCM and undulator to 10 keV
233 )))|(((
234 \\
235 )))
236 |(((
237 dcm_pitch, 0.00001
238 )))|(((
239 move 2nd crystal pitch by 0.00001 deg
240 )))|(((
241 relative [ deg ]
242 )))
243 |(((
244 goto_dcm_pitch,  -0.03976
245 )))|(((
246 move 2nd crystal pitch to -0.03976 deg
247 )))|(((
248 absolute [ deg ]
249 )))
250 |(((
251 reflex_opt
252 )))|(((
253 move 2nd crystal pitch to optimal flux position
254 )))|(((
255 \\
256 )))
257 |(((
258 gap, 0.01
259 )))|(((
260 move undulator gap by 0.01 mm
261 )))|(((
262 relative [ mm ]
263 )))
264
265 == {{id name="IDLcheatsheet-Generalsyntax"/}}General syntax ==
266
267 (% class="wrapped relative-table" style="width: 51.5317%;" %)
268 |=(((
269 Functionality
270 )))|=(((
271 IDL syntax
272 )))
273 |(((
274 Chaining commands
275 )))|(((
276 command_1 **&** command_2 **&** ...
277 )))
278 |(((
279 absolute movement
280 )))|(((
281 **goto_**//motor//, position
282 )))
283 |(((
284 relative movement
285 )))|(((
286 //motor//, position
287 )))
288 |(((
289 current motor position
290 )))|(((
291 **pos_**//motor//()
292 )))