-- RunaBriguglio - 25 Aug 2013

Trigger line connected

a patch was missing in the ULTH, installed and trigger signal tested

First images of TS4

Manual correction of the image

the image was partially compensated by applying mirror modes #0 and #1 (astigmatism), until the Zernike value read by the 4D was improved.

total command:

-4.5um peak mirror mode#0

3um peak mirror mode #1

Data saved in:


Gaussian pattern applied to move the external invisible spots within interferometer capturing range.

Command to generate the gaussian pattern:

xx=reform(adsec.act_coordinates) (same for yy: the coordinates are in mm, so sigma must be provided in mm, or convert everything to meter)

act=nn (central actuator)

sigma = sigma (mm)

amplitude = amplitude of the gaussian shape (m)

gau=amplitude*exp(-((xx-xx[act])^2+ (yy-yy[act])^2 ) /(2*sigma.^2))

we tested gaussian commands centered on act: 0, 578,158 but they are producing large forces
Act Sigma Ampl
158 90 1um
applying gaussian shapes is not effective because of too large forces requested. we try applying higher order mirror modes. act 158 only was applied

we apply again mirror modes:

psvec[5,*], applied -1um (until associated Zern cioefficient on 4D is minimized)

psvec[6,*] applied 2um (until associated Zern cioefficient on 4D is minimized)

psvec[8,*] applied 1um (the the visible part grows up)

psvec[6,*] applied -1um

psvec[6,*] applied 2um

new shape saved: /towerdata/meas/adsec_calib/flat/20130825_053201/20130825_053000_manual_flat

Alignment refinement

HP pos = [ 0.01 0.01 4.25 -73.8 -125 0 ]

Change of 4D sampling

useful to avoid reconstruction errors due to firnges density.

changed the keyword 'sampling' in Constant4d.py, then reload(Constant4d), reload(comm4d)

Test of acquisition of the int matrix

sampled modes 0 to 10. the trigger image is not found as the initial figuring error is to large. 'Data fill ' option removed, to clean the image from bad pixel on the edge. also, the mask has been enlarged to crop the part of the phasemap with very large fringes density (this, to allow the IF_REDUX script to correctly identify the trigger frame).

masking almost all the bad region on the edge, the procedure is performed correctly. we can now build the OptIntMat

First Intmat
Tracknum modes amp
20130825_060431 0-15 500e-9

20130825_062440 little improvement. the RMS is a bit lower and some areas are more visible

New Intmat
Tracknum modes amp
20130825_062844 0-30 200e-9

keyword factor=-1 added!!!


Test to verify the factor=-1

we applied a known trefoil (psvec[5,*]) with peak=2um (zern coeff on 4D GUI =6um). the flattening failed, then the factor=-1 is incorrect

the factor =-0.5 is also wrong but gave a good result in having the shell within capture range. last good flat: 20130825_065609

the original factor (0.5 , correspopnding to the ration WF/Surf) is kept

New int matrix

with a smaller mask
Tracknum modes amp
20130825_070918 0-30 200e-9
20130825_074452 0-30 200e-9

20130825_075500 26 modes, n2drop=8. improvement in the pupil visibility. we re-acquire the interaction matrix using a smaller mask
Tracknum modes amp
20130825_075729 0-30 200e-9

Flat: 20130825_081006: the edge is worse, while the central region in improved
Tracknum modes amp
20130825_082219 0-30 400e-9
Tracknum modes amp
20130825_090208 0-30 400e-9
Old TS3 actuator calibration (d0.txt) has been loaded

some matrix magics!

in order to move the outer edge within interferometer capture range, we adopted a different solution.

this consists in computing, from the knowledge of the forces, the actuators commands that is responsible for the force pattern. by applying the opposite commands, the forces should be relaxed and hopefully the black spots come into capture range.

curr = status.current
fpos = transpose(adsec.ff_f_svec) ## curr
kk = 1/adsec.ff_sval
kk[0:first2drop -1] =0
kk1 = diagonal_matrix(kk)
pos = adsec.ff_p_svec ## (kk1 ## fpos)

Hexapod interaction matrix



Last HP position: [ -0.20 1.03 4.212 -180.1 -144.7 0 ]

Initial flat


full pupil visible

Interaction matrix

now we are able to start with the standard procedure

print, i4d_opt_intmat(from,to, amprms=200e-9)

Tracknum modes amp Notes Resulting flat WFE  
20130825_123158 0-20 300e-9   20130825_124055 520nm  
20130825_124223 0-50 200e-9 bad acquisition, flattening failed      
20130825_125623 0-50 200E-9   20130825_131446 233nm  
20130825_132358 0-100 100e-9   20130825_134525 190nm  
20130825_140604 0-100 100e-9   20130825_142711 167nm  
20130825_160410 101-300 100e-9 mode #300 is empty      
The area of the mousehole is corrected manually, applying gaussian commands, amplitude +-1um, sigma=20mm, on acts #441,552,664


Noise measurement: 20130825_125000_noise

4D resolution changed to 500x500pixel


edit: C:\Obelix_CVS\Supervisor\PyModules\I4D\Constant4d

set sampling=2 (sampling =1 means full resolution)


from the Scripting console, type:



interaction matrix low resolution (to compute zonal signals)
Tracknum modes  
20130825_170555 0-250  
20130825_170704 251-500  
20130825_170819 501-660  
20130825_170918 0-250  
20130825_171022 251-500  
20130825_171127 501-660  

-- RunaBriguglio - 25 Aug 2013
Topic revision: r6 - 25 Aug 2013, AlfioPuglisi
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