68 self.log.debug(f
"I was configured! See? {self.config=}")
70 self.log.info(
"Found camera: {:s}".format(self.
config.camera.shmim))
73 self.
ncpc_act_grid = hp.make_pupil_grid(34, 34/30.0 * np.array([1.0, np.sqrt(2)]))
76 self.client.get_properties(
'fwscind')
77 self.client.get_properties(
'fwpupil')
78 self.client.get_properties(
'fwfpm')
79 self.client.get_properties(
'fwpupil')
80 self.client.get_properties(
'fwlyot')
81 self.client.get_properties(
'camsci1')
82 self.client.get_properties(
'camsci1-dark')
83 self.client.get_properties(
'stagesci1')
84 self.client.get_properties(
'picomotors')
85 self.client.get_properties(
'ttmperi')
87 fsm = properties.TextVector(name=
'fsm')
88 fsm.add_element(DefText(name=
'state', _value=StateCodes.INITIALIZED.name))
89 self.add_property(fsm)
95 if self.
config.calibration.superuser:
96 print(self.
config.calibration.superuser)
109 self.
fwpupil_references = [hp.read_field(self.
config.calibration.path +
"reference_{:s}_image.fits".format(mode.replace(
'-',
'_')))
for mode
in self.
config.calibration.fwpupil_modes]
112 self.
fwlyot_references = [hp.read_field(self.
config.calibration.path +
"reference_{:s}_image.fits".format(mode.replace(
'-',
'_')))
for mode
in self.
config.calibration.fwlyot_modes]
123 ttmperi_response_matrix = np.loadtxt(self.
config.calibration.path +
'ttmperi_pupil_response_matrix.txt')
124 fwpupil_response_matrix = np.loadtxt(self.
config.calibration.path +
'fwpupil_picopupil_bumpmask_response_matrix.txt')[:,::-1]
125 fwlyot_response_matrix = np.loadtxt(self.
config.calibration.path +
'fwlyot_picolyot_lyot_response_matrix.txt')[:,::-1]
142 nv = properties.NumberVector(name=
'nstack')
143 nv.add_element(DefNumber(
144 name=
'current', label=
'Number of frames', format=
'%i',
145 min=1, max=150, step=1, _value=1
147 nv.add_element(DefNumber(
148 name=
'target', label=
'Number of frames', format=
'%i',
149 min=1, max=150, step=1, _value=1
153 nv = properties.NumberVector(name=
'gain')
154 nv.add_element(DefNumber(
155 name=
'current', label=
'Loop Gain', format=
'%.2f',
156 min=0.00, max=1.00, step=0.01, _value=0.10
158 nv.add_element(DefNumber(
159 name=
'target', label=
'Loop Gain', format=
'%.2f',
160 min=0.00, max=1.00, step=0.01, _value=0.10
168 nv = properties.NumberVector(name=
'fwpupil')
169 nv.add_element(DefNumber(
170 name=
'dx', label=
'dx', format=
'%.4f',
171 min=-50.00, max=50.00, step=0.0001, _value=0.21178766
173 nv.add_element(DefNumber(
174 name=
'dy', label=
'dy', format=
'%.4f',
175 min=-50.00, max=50.00, step=0.0001, _value=0.19275196
179 nv = properties.NumberVector(name=
'fwlyot')
180 nv.add_element(DefNumber(
181 name=
'dx', label=
'dx', format=
'%.4f',
182 min=-50.00, max=50.00, step=0.0001, _value=0.21178766
184 nv.add_element(DefNumber(
185 name=
'dy', label=
'dy', format=
'%.4f',
186 min=-50.00, max=50.00, step=0.0001, _value=0.19275196
191 self.log.info(f
'pupilCorAlign app is fully setup.')