Changes for page IDL cheat sheet
Last modified by fwilde on 2025/03/28 19:55
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,13 +3,13 @@ 1 -[[image:attach:p05_uct.png||width="700"]]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. 6 6 7 -[[image:attach: P5I.Instrumentation.P05experimental hutch 2.Micro Tomography setup overview.WebHome@eh2_setup_povray_labeled.png||height="400"]]5 +[[image:attach:p05_uct.png||width="700"]] 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: 72.9307%;" %) 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: 67.1421%;" %) 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,8 +150,44 @@ 150 150 \\ 151 151 ))) 152 152 153 -== {{id name="IDLcheatsheet- Makeimage"/}}Makeimage==189 +== {{id name="IDLcheatsheet-Slitpositioning"/}}Slit positioning == 154 154 191 +(% class="wrapped" %) 192 +|=((( 193 +IDL command 194 +)))|=((( 195 +description 196 +))) 197 +|((( 198 +##**slit_oh, rx=1 (rz=1)**## 199 +)))|((( 200 +moves oh slit aperture horizontally (vertically) by 1mm 201 +))) 202 +|((( 203 +##**slit_oh, rdx=1 (rdz=1)**## 204 +)))|((( 205 +opens oh the slit aperture horizontally (vertically) by 1 mm 206 +))) 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 +))) 222 + 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) 224 + 225 +== {{id name="IDLcheatsheet-Makeandsaveimages"/}}Make and save images == 226 + 155 155 (% class="wrapped fixed-table" %) 156 156 |=((( 157 157 IDL command ... ... @@ -159,17 +159,28 @@ 159 159 description 160 160 ))) 161 161 |((( 162 -i=quick(100) & tv_quick, i & draw_box, [ x1, x2 ,z1 ,z2 ] 234 +##**i=quick(100) & display_image, BYSTCL(i, 0, 4096) 235 +**## 163 163 )))|((( 164 -make an image & s howimage&drawbox237 +make an image & scale image (eg. from 0 to 4096, usually from 0 to maximum value the camera can do) 165 165 ))) 166 166 |((( 167 -a=quick_abs(100) & tv_quick, a& draw_box,[ x1,x2,z1 ,z2 ]240 +##**a=quick_abs(100) & display_image, BYTSCL(a, 0, 2)**## 168 168 )))|((( 169 -make an absorption image & s howimage&drawbox242 +make an absorption image & scale image (usually from 0 to to 2) 170 170 ))) 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 +))) 171 171 172 -== {{id name="IDLcheatsheet-M onochromatorpositioning"/}}Monochromatorpositioning ==255 +== {{id name="IDLcheatsheet-DCMpositioning"/}}DCM positioning == 173 173 174 174 (% class="wrapped fixed-table" %) 175 175 |=((( ... ... @@ -180,14 +180,39 @@ 180 180 motion 181 181 ))) 182 182 |((( 183 - calc_dcm_energy,10000, /set266 +##**dcm_pitch, 0.00001**## 184 184 )))|((( 185 - setDCM andundulator to10keV268 +move 2nd crystal pitch by 0.00001 deg 186 186 )))|((( 270 +relative [ deg ] 271 +))) 272 +|((( 273 +##**goto_dcm_pitch, -0.03976**## 274 +)))|((( 275 +move 2nd crystal pitch to -0.03976 deg 276 +)))|((( 277 +absolute [ deg ] 278 +))) 279 +|((( 280 +##**reflex_opt**## 281 +)))|((( 282 +move 2nd crystal pitch to optimal flux position 283 +)))|((( 187 187 \\ 188 188 ))) 286 + 287 +== {{id name="IDLcheatsheet-DMMpositioning"/}}DMM positioning == 288 + 289 +(% class="fixed-table wrapped" %) 290 +|=((( 291 +IDL command 292 +)))|=((( 293 +description 294 +)))|=((( 295 +motion 296 +))) 189 189 |((( 190 -d cm_pitch, 0.00001298 +##**dmm_x2_rot, 0.001**## 191 191 )))|((( 192 192 move 2nd crystal pitch by 0.00001 deg 193 193 )))|((( ... ... @@ -194,30 +194,96 @@ 194 194 relative [ deg ] 195 195 ))) 196 196 |((( 197 -goto_dcm_pitch, -0.03976 305 +##**goto_dmm_x2_rot, 0.8923 306 +**## 198 198 )))|((( 199 -move 2nd crystal pitch to -0.03976deg308 +move 2nd crystal pitch to 0.8923 deg 200 200 )))|((( 201 201 absolute [ deg ] 202 202 ))) 312 + 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! 315 + 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%;" %) 324 +|=((( 325 +Functionality 326 +)))|=((( 327 +IDL syntax 328 +))) 203 203 |((( 204 - reflex_opt330 +chaining commands 205 205 )))|((( 206 -move 2nd crystal pitch to optimal flux position 332 +command_1 **&** command_2 **&** ... 333 +))) 334 +|((( 335 +absolute movement 207 207 )))|((( 208 - \\337 +**goto_**//motor//, position 209 209 ))) 339 +|((( 340 +relative movement 341 +)))|((( 342 +//motor//, position 343 +))) 344 +|((( 345 +current motor position 346 +)))|((( 347 +**pos_**//motor//() 348 +))) 210 210 211 -== {{id name="IDLcheatsheet- Saveanimageastiff"/}}Save animageastiff==350 +== {{id name="IDLcheatsheet-BeamshutterandInterlockcontrol"/}}Beamshutter and Interlock control == 212 212 213 -(% class="wrapped" %) 352 +(% class="wrapped relative-table" style="width: 75.0455%;" %) 214 214 |=((( 215 215 IDL command 216 216 )))|=((( 217 -desciption 356 +description 218 218 ))) 219 219 |((( 220 - write_tiff, '/gpfs/current/raw/test.tif', i, /SHORT359 +##**bs_info**## 221 221 )))|((( 222 -save as16-bittiff in/gofs/...361 +prints an overview of the beamline beamshutter status 223 223 ))) 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 -1 091670361 +179783464 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://confluence.desy.de/spaces/P5I/pages/1 09167036/IDL cheat sheet1 +https://confluence.desy.de/spaces/P5I/pages/179783464/IDL cheat sheet