3 YAO_WFSTYPE={
"sh":
"\"hartmann\"",
"pyrhr":
"\"pyramid\""}
6 """ Initialise wfs entry in yao parameter file
9 file_name : (str) : yao parameter file name
11 f = open(file_name,
"a+")
12 f.write(
"\n\n//------------------------------")
13 f.write(
"\n//WFS parameters")
14 f.write(
"\n//------------------------------")
17 def write_wfs(file_name, wfs, index, *, sub_system=1):
18 """Write (append) wfs parameter to file for YAO use for a single wfs
21 file_name : (str) : name of the file to append the parameter to
23 wfs : (Param_wfs) : compass wfs parameters
25 index :(int) : wfs index in ayo parameter file
28 sub_system : (int) : (optional), default 1 sub_system in yao
30 obj =
"wfs(" + str(index) +
")"
31 f = open(file_name,
"a+")
32 f.write(
"\ngrow,wfs,wfss;")
33 f.write(
"\n" + obj +
".type = " + YAO_WFSTYPE[wfs.type] +
";")
34 f.write(
"\n" + obj +
".subsystem = " + str(sub_system) +
";")
35 f.write(
"\n" + obj +
".shmethod = 2" +
";")
36 f.write(
"\n" + obj +
".shnxsub = " + str(wfs.nxsub) +
";")
37 f.write(
"\n" + obj +
".lambda = " + str(wfs.Lambda) +
";")
38 f.write(
"\n" + obj +
".pixsize = " + str(wfs.pixsize) +
";")
39 f.write(
"\n" + obj +
".npixels = " + str(wfs.npix) +
";")
40 f.write(
"\n" + obj +
".shthreshold = 0; // not set by compass")
41 f.write(
"\n" + obj +
".dispzoom = 1.0; // not set by compass")
42 f.write(
"\n" + obj +
".fracIllum = " + str(wfs.fracsub) +
";")
43 f.write(
"\n" + obj +
".rotation = " + str(wfs.thetaML) +
";")
44 f.write(
"\n" + obj +
".shift = [ " + str(wfs.dx) +
" , " + \
46 f.write(
"\n" + obj +
".LLTxy = [ " + str(wfs.lltx) +
" , " + \
47 str(wfs.llty) +
" ];")
48 f.write(
"\n" + obj +
".gspos = [ " + str(wfs.xpos) +
" , " + \
49 str(wfs.ypos) +
" ];")
51 f.write(
"\n" +obj +
".noise = 1;")
52 f.write(
"\n" +obj +
".ron = 0;")
54 f.write(
"\n" + obj +
".noise = 1;")
55 f.write(
"\n" + obj +
".ron = " + str(wfs.noise) +
";")
56 f.write(
"\n" + obj +
".darkcurrent = 0 ; // not set by compass ")
58 f.write(
"\n" + obj +
".gsalt = " + str(wfs.gsalt) +
";")
59 f.write(
"\n" + obj +
".gsdepth = " + str(1) +
";")
60 f.write(
"\n" + obj +
".optthroughput = " + str(wfs.optthroughput) +\
62 f.write(
"\n" + obj +
".laserpower = " + str(wfs.laserpower) +
";")
63 f.write(
"\n" + obj +
".filtertilt = " + str(1) +
";")
64 f.write(
"\n" + obj +
".correctUpTT = " + str(1) +
";")
65 f.write(
"\n" + obj +
".uplinkgain = " + str(0.2) +
";")
69 def write_wfss(file_name, wfss, *, n_wfs=-1, sub_system=1, offset=0):
70 """Write (append) wfs parameter to file for YAO use for a wfs list
73 file_name : (str) : name of the file to append the parameter to
75 wfss : (list[ Param_wfs]) : compass wfs parameters list
78 n_wfs : (int) : (optional), default -1 number of wfs passed to yao (-1 : all wfs)
80 sub_system : (int) : (optional), default 1 yao sub system index
82 offset : (int) : (optional), default 0 yao wfs index offset
85 n_ngs : (int) : number of ngs passed to yao
86 n_lgs : (int) : number of lgs passed to yao
93 for w
in wfss[:n_wfs]:
99 f=open(file_name,
"a+")
102 for w
in wfss[:n_wfs] :
103 f.write(
"\n\n//WFS" + str(i + offset))
105 write_wfs(file_name, w, i + offset, sub_system=sub_system)
109 return (n_ngs , n_lgs)
114 """ Finalize wfs section in yao parameter file
117 file_name : (str) : yao parameter file name
119 n_ngs : (int) : number of ngs written to yao parameter file
121 n_lgs : (int) : number of lgs written to yao parameter file
123 f=open(file_name,
"a+")
124 f.write(
"\n\nnngs = "+str(n_ngs)+
";")
125 f.write(
"\nnlgs = "+str(n_lgs)+
";")
126 f.write(
"\nnwfs = "+str(n_ngs+n_lgs)+
";")
def finish_wfs(file_name, n_ngs, n_lgs)
Finalize wfs section in yao parameter file.
def write_wfs(file_name, wfs, index, *sub_system=1)
Write (append) wfs parameter to file for YAO use for a single wfs.
def init_wfs(file_name)
Initialise wfs entry in yao parameter file.
def write_wfss(file_name, wfss, *n_wfs=-1, sub_system=1, offset=0)
Write (append) wfs parameter to file for YAO use for a wfs list.