13 September 2018 Process IF data to create new KL Basis Set

NOTE The first time I processed the data I had more modes than actuators. Skip down to 17:35 below to "Start Over"

22:10 Create object
  • aoidl
  • @startup
IDL> TN=['20180912_022930','20180912_023204','20180912_023410','20180912_023548','20180912_023823','20180912_024037','20180912_024314','20180912_024423','20180912_024545','20180912_024659','20180912_024818','20180912_024937','20180912_025043','20180912_025330','20180912_025504','20180912_025606','20180912_025705','20180912_025808','20180912_025916','20180912_030026','20180912_030432','20180912_030539','20180912_030642','20180912_030742','20180912_030843','20180912_031001','20180912_031108','20180912_031419','20180912_031517','20180912_031616','20180912_031718','20180912_031816','20180912_031941','20180912_032148','20180912_032304','20180912_032359','20180912_032504','20180912_032600','20180912_032706']
  • IDL> mm=obj_new('mirmodes', TN)
IDL> mm->summary_opds
tracknum 		 nn 	 amp [nm] 	 first 	  last 	 missing    sampling
20180912_022930 	 125 	  500.0 	 0 	 4 	 0 	 990 x 1002
20180912_023204 	 125 	  350.0 	 5 	 9 	 0 	 990 x 1002
20180912_023410 	 51 	  250.0 	 10 	 19 	 0 	 990 x 1002
20180912_023548 	 35 	  150.0 	 20 	 37 	 0 	 990 x 1002
20180912_023823 	 35 	  150.0 	 38 	 55 	 0 	 990 x 1002
20180912_024037 	 35 	  150.0 	 56 	 73 	 0 	 990 x 1002
20180912_024314 	 35 	  150.0 	 74 	 91 	 0 	 990 x 1002
20180912_024423 	 35 	  100.0 	 92 	 109 	 0 	 990 x 1002
20180912_024545 	 35 	  100.0 	 110 	 127 	 0 	 990 x 1002
20180912_024659 	 35 	   80.0 	 128 	 145 	 0 	 990 x 1002
20180912_024818 	 35 	   80.0 	 146 	 163 	 0 	 990 x 1002
20180912_024937 	 35 	   80.0 	 164 	 181 	 0 	 990 x 1002
20180912_025043 	 35 	   80.0 	 182 	 199 	 0 	 990 x 1002
20180912_025330 	 35 	   70.0 	 200 	 217 	 0 	 990 x 1002
20180912_025504 	 35 	   50.0 	 218 	 235 	 0 	 990 x 1002
20180912_025606 	 35 	   50.0 	 236 	 253 	 0 	 990 x 1002
20180912_025705 	 35 	   50.0 	 254 	 271 	 0 	 990 x 1002
20180912_025808 	 35 	   50.0 	 272 	 289 	 0 	 990 x 1002
20180912_025916 	 35 	   40.0 	 290 	 307 	 0 	 990 x 1002
20180912_030026 	 35 	   40.0 	 308 	 325 	 0 	 990 x 1002
20180912_030432 	 35 	   40.0 	 326 	 343 	 0 	 990 x 1002
20180912_030539 	 35 	   40.0 	 344 	 361 	 0 	 990 x 1002
20180912_030642 	 35 	   40.0 	 362 	 370 	 0 	 990 x 1002
20180912_030742 	 35 	   40.0 	 371 	 379 	 0 	 990 x 1002
20180912_030843 	 35 	   40.0 	 380 	 397 	 0 	 990 x 1002
20180912_031001 	 35 	   40.0 	 398 	 415 	 0 	 990 x 1002
20180912_031108 	 35 	   40.0 	 416 	 433 	 0 	 990 x 1002
20180912_031419 	 35 	   40.0 	 434 	 451 	 0 	 990 x 1002
20180912_031517 	 35 	   40.0 	 452 	 469 	 0 	 990 x 1002
20180912_031616 	 35 	   40.0 	 470 	 487 	 0 	 990 x 1002
20180912_031718 	 35 	   40.0 	 488 	 505 	 0 	 990 x 1002
20180912_031816 	 35 	   40.0 	 506 	 523 	 0 	 990 x 1002
20180912_031941 	 35 	   40.0 	 524 	 541 	 0 	 990 x 1002
20180912_032148 	 35 	   40.0 	 542 	 559 	 0 	 990 x 1002
20180912_032304 	 35 	   40.0 	 560 	 577 	 0 	 990 x 1002
20180912_032359 	 35 	   40.0 	 578 	 595 	 0 	 990 x 1002
20180912_032504 	 35 	   40.0 	 596 	 613 	 0 	 990 x 1002
20180912_032600 	 35 	   40.0 	 614 	 631 	 0 	 990 x 1002
20180912_032706 	 35 	   40.0 	 632 	 647 	 0 	 990 x 1002
  • IDL> mm->collect_opds
  • IDL> mm->mask_calibration, /SHOW
  • mm->produce_ifmat
  • mm->check_noise
  • mm->inv_ifmat
  • mm->interactive_tweak_mask
  • mm->tweak_mask, 'better'
  • mm->tweak_ifmat, 'better'
  • mm->showme_the_modes
  • IDL> print, mm->data_dir()
    • /towerdata/adsec_calib/if_functions
  • IDL> print, mm->opd_dir_list()
20180912_022930 20180912_023204 20180912_023410 20180912_023548 20180912_023823 20180912_024037 20180912_024314 20180912_024423 20180912_024545 20180912_024659
20180912_024818 20180912_024937 20180912_025043 20180912_025330 20180912_025504 20180912_025606 20180912_025705 20180912_025808 20180912_025916 20180912_030026
20180912_030432 20180912_030539 20180912_030642 20180912_030742 20180912_030843 20180912_031001 20180912_031108 20180912_031419 20180912_031517 20180912_031616
20180912_031718 20180912_031816 20180912_031941 20180912_032148 20180912_032304 20180912_032359 20180912_032504 20180912_032600 20180912_032706
  • IDL> print, mm->ndirs()
    • 39
  • IDL> print, mm->save_dir()
    • /towerdata/adsec_calib/if_functions/20180912_mirmodes
  • IDL> save, mm, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/mm_2.sav'
  • IDL> mm->inv_ifmat, mask_id='better'
    • images _tweak
  • IDL> save, mm, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/mm_3.sav'
  • klf = obj_new('klfit', mm, 'better')
  • klf->create_theo_kls

14 September 2018

16:22 Start calculation again
  • IDL> restore, '/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/mm_3.sav', /v
  • klf = obj_new('klfit', mm, 'better')
  • klf->create_theo_kls
  • IDL> klf->create_ortho_fitted_kls, klmax=600

17:13 Problem
  • IDL> klf->create_ortho_fitted_kls
Restoring Mirror Modes Influence Function data...
Restoring theoretical KL modes data...
Computing M2C...
Computing fitted KLs...
Computing fitting error...
Saving M2V data...
Re-orthonormalizing fitted KLs...
Number of final KLs:          405
Computing ortho-fitted KLs...
Computing ortho M2C...
Saving ortho M2V data...
MM2C            DOUBLE    = Array[646, 672]
ORTHOM2V        DOUBLE    = Array[405, 648]
% Operands of matrix multiply have incompatible dimensions: ORTHOM2V, MM2C.
% Execution halted at: KLFIT::CREATE_ORTHO_FITTED_KLS  237 /home/aoeng/aoroot/idl/adsec_lib/calibration/optical/klfit__define.pro
%                      $MAIN$          
  • Did I collect too many mirror modes?
  • Check mode_646.sav and mode_647.sav
    • IDL> mm->showme_the_modes, mode_num=646, nrows=1, ncol=1
    • 646 and 647 look fine
  • Check curent mirror configuration:
AdOpt>help, adsec.act_w_cl

    INT       = Array[646]
  • No actuators have been removed since 20180912 (data collection date)
  • Must remove mode_646.sav and mode_647.sav from directory 20180912_032706
    • mv mode_647.sav ../20180912_032706_extra/.
    • mv mode_646.sav ../20180912_032706_extra/.
    • cd ..
    • mv 20180912_mirmodes 20180912_mirmodes_648

17:35 Start Over: Create object
  • aoidl
  • @startup
IDL> TN=['20180912_022930','20180912_023204','20180912_023410','20180912_023548','20180912_023823','20180912_024037','20180912_024314','20180912_024423','20180912_024545','20180912_024659','20180912_024818','20180912_024937','20180912_025043','20180912_025330','20180912_025504','20180912_025606','20180912_025705','20180912_025808','20180912_025916','20180912_030026','20180912_030432','20180912_030539','20180912_030642','20180912_030742','20180912_030843','20180912_031001','20180912_031108','20180912_031419','20180912_031517','20180912_031616','20180912_031718','20180912_031816','20180912_031941','20180912_032148','20180912_032304','20180912_032359','20180912_032504','20180912_032600','20180912_032706']
  • IDL> mm=obj_new('mirmodes', TN)
  • IDL> mm->summary_opds
tracknum 		 nn 	 amp [nm] 	 first 	  last 	 missing    sampling
20180912_022930 	 125 	  500.0 	 0 	 4 	 0 	 990 x 1002
20180912_023204 	 125 	  350.0 	 5 	 9 	 0 	 990 x 1002
20180912_023410 	 51 	  250.0 	 10 	 19 	 0 	 990 x 1002
20180912_023548 	 35 	  150.0 	 20 	 37 	 0 	 990 x 1002
20180912_023823 	 35 	  150.0 	 38 	 55 	 0 	 990 x 1002
20180912_024037 	 35 	  150.0 	 56 	 73 	 0 	 990 x 1002
20180912_024314 	 35 	  150.0 	 74 	 91 	 0 	 990 x 1002
20180912_024423 	 35 	  100.0 	 92 	 109 	 0 	 990 x 1002
20180912_024545 	 35 	  100.0 	 110 	 127 	 0 	 990 x 1002
20180912_024659 	 35 	   80.0 	 128 	 145 	 0 	 990 x 1002
20180912_024818 	 35 	   80.0 	 146 	 163 	 0 	 990 x 1002
20180912_024937 	 35 	   80.0 	 164 	 181 	 0 	 990 x 1002
20180912_025043 	 35 	   80.0 	 182 	 199 	 0 	 990 x 1002
20180912_025330 	 35 	   70.0 	 200 	 217 	 0 	 990 x 1002
20180912_025504 	 35 	   50.0 	 218 	 235 	 0 	 990 x 1002
20180912_025606 	 35 	   50.0 	 236 	 253 	 0 	 990 x 1002
20180912_025705 	 35 	   50.0 	 254 	 271 	 0 	 990 x 1002
20180912_025808 	 35 	   50.0 	 272 	 289 	 0 	 990 x 1002
20180912_025916 	 35 	   40.0 	 290 	 307 	 0 	 990 x 1002
20180912_030026 	 35 	   40.0 	 308 	 325 	 0 	 990 x 1002
20180912_030432 	 35 	   40.0 	 326 	 343 	 0 	 990 x 1002
20180912_030539 	 35 	   40.0 	 344 	 361 	 0 	 990 x 1002
20180912_030642 	 35 	   40.0 	 362 	 370 	 0 	 990 x 1002
20180912_030742 	 35 	   40.0 	 371 	 379 	 0 	 990 x 1002
20180912_030843 	 35 	   40.0 	 380 	 397 	 0 	 990 x 1002
20180912_031001 	 35 	   40.0 	 398 	 415 	 0 	 990 x 1002
20180912_031108 	 35 	   40.0 	 416 	 433 	 0 	 990 x 1002
20180912_031419 	 35 	   40.0 	 434 	 451 	 0 	 990 x 1002
20180912_031517 	 35 	   40.0 	 452 	 469 	 0 	 990 x 1002
20180912_031616 	 35 	   40.0 	 470 	 487 	 0 	 990 x 1002
20180912_031718 	 35 	   40.0 	 488 	 505 	 0 	 990 x 1002
20180912_031816 	 35 	   40.0 	 506 	 523 	 0 	 990 x 1002
20180912_031941 	 35 	   40.0 	 524 	 541 	 0 	 990 x 1002
20180912_032148 	 35 	   40.0 	 542 	 559 	 0 	 990 x 1002
20180912_032304 	 35 	   40.0 	 560 	 577 	 0 	 990 x 1002
20180912_032359 	 35 	   40.0 	 578 	 595 	 0 	 990 x 1002
20180912_032504 	 35 	   40.0 	 596 	 613 	 0 	 990 x 1002
20180912_032600 	 35 	   40.0 	 614 	 631 	 0 	 990 x 1002
20180912_032706 	 35 	   40.0 	 632 	 645 	 0 	 990 x 1002
  • IDL> mm->collect_opds
  • IDL> mm->mask_calibration, /SHOW
    • save, mm, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/mm_1.sav'
    • Masks:
      masks.jpg
    • Valid Points:
      valid.jpg
  • mm->produce_ifmat
  • mm->check_noise
    • images
    • Noise Plots:
      surf_rms.jpg
    • Noise Plots:
      surf.jpg
  • mm->inv_ifmat
    • save, mm, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/mm_2.sav'
    • Single Values:
      Invert_Info.jpg
  • mm->interactive_tweak_mask
    • tag = good
    • Tweaked Mask: Outer and Inner:
      Tweaked_Mask.jpg
    • Single Values:
      Invert_Info_tweak.jpg
    • images
  • mm->tweak_mask, 'better'
  • mm->tweak_ifmat, 'better'
  • mm->showme_the_modes, nrows=20, ncol=20, zoom=0.11
    • MM Modes:
      mode_display.jpg
  • IDL> print, mm->data_dir()
    • /towerdata/adsec_calib/if_functions
  • IDL> print, mm->opd_dir_list()
20180912_022930 20180912_023204 20180912_023410 20180912_023548 20180912_023823 20180912_024037 20180912_024314 20180912_024423 20180912_024545 20180912_024659
20180912_024818 20180912_024937 20180912_025043 20180912_025330 20180912_025504 20180912_025606 20180912_025705 20180912_025808 20180912_025916 20180912_030026
20180912_030432 20180912_030539 20180912_030642 20180912_030742 20180912_030843 20180912_031001 20180912_031108 20180912_031419 20180912_031517 20180912_031616
20180912_031718 20180912_031816 20180912_031941 20180912_032148 20180912_032304 20180912_032359 20180912_032504 20180912_032600 20180912_032706
  • IDL> print, mm->ndirs()
    • 39
  • IDL> print, mm->save_dir()
    • /towerdata/adsec_calib/if_functions/20180912_mirmodes
  • IDL> mm->inv_ifmat, mask_id='better'
    • images _tweak
  • IDL> save, mm, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/mm_3.sav'
  • IDL> klf = obj_new('klfit', mm, 'better')
  • IDL> klf->create_theo_kls
  • IDL> save, klf, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/klf_1.sav'
  • IDL> klf->create_ortho_fitted_kls, klmax=600
  • IDL> klf->check_fitting
    • 600 modes used for fitting
  • IDL> save, klf, file='/local/aomeas/adsec_calib/if_functions/20180912_mirmodes/klf_2.sav'
  • IDL> klf->create_ortho_fitted_kls
  • IDL> klf->check_fitting
    • 405 modes used for fitting
    • KL Fitting Plots:
      peak_force.jpg
    • KL Fitting Plots:
      fitting_error.jpg
  • IDL> klf->showme_the_modes, 'ORTHOFIT', nrows=20, ncol=20, zoom=0.11
    • KL Mode Display:
      kl_mode_display.jpg

-- %USERSIG{DougMiller - 2018-09-13}%

I Attachment Action Size Date Who Comment
Invert_Info.jpgjpg Invert_Info.jpg manage 80 K 16 Sep 2018 - 16:07 DougMiller 20180914
Invert_Info_tweak.jpgjpg Invert_Info_tweak.jpg manage 81 K 16 Sep 2018 - 16:07 DougMiller 20180914
Tweaked_Mask.jpgjpg Tweaked_Mask.jpg manage 162 K 16 Sep 2018 - 16:07 DougMiller 20180914
fitting_error.jpgjpg fitting_error.jpg manage 76 K 16 Sep 2018 - 16:16 DougMiller KL Fitting Plots
kl_mode_display.jpgjpg kl_mode_display.jpg manage 395 K 16 Sep 2018 - 17:13 DougMiller KL Mode Display
masks.jpgjpg masks.jpg manage 126 K 16 Sep 2018 - 16:07 DougMiller 20180914
mode_display.jpgjpg mode_display.jpg manage 624 K 16 Sep 2018 - 16:24 DougMiller MM Modes
peak_force.jpgjpg peak_force.jpg manage 86 K 16 Sep 2018 - 16:16 DougMiller KL Fitting Plots
surf.jpgjpg surf.jpg manage 78 K 16 Sep 2018 - 15:44 DougMiller Noise Plots
surf_rms.jpgjpg surf_rms.jpg manage 95 K 16 Sep 2018 - 15:44 DougMiller Noise Plots
valid.jpgjpg valid.jpg manage 189 K 16 Sep 2018 - 16:07 DougMiller 20180914
Topic revision: r6 - 16 Sep 2018, DougMiller
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback