def save_optimization_settings(self):
     '''
     Saves the parameters used for optimization
     '''
     opt_sets_grp = self.data_object.create_group('Optimization settings')
     param_list = dict_to_ordered_tuples(self.af_pars)
     for (param, val) in param_list:
         opt_sets_grp.attrs[param] = str(val)
 def save_instrument_settings(self, data_object=None, *args):
     '''
     uses QCodes station snapshot to save the last known value of any
     parameter. Only saves the value and not the update time (which is
     known in the snapshot)
     '''
     if data_object is None:
         data_object = self.data_object
     if not hasattr(self, 'station'):
         logging.warning('No station object specified, could not save',
                         ' instrument settings')
     else:
         set_grp = data_object.create_group('Instrument settings')
         inslist = dict_to_ordered_tuples(self.station.components)
         for (iname, ins) in inslist:
             instrument_grp = set_grp.create_group(iname)
             par_snap = ins.snapshot()['parameters']
             parameter_list = dict_to_ordered_tuples(par_snap)
             for (p_name, p) in parameter_list:
                 try:
                     val = str(p['value'])
                 except KeyError:
                     val = ''
                 instrument_grp.attrs[p_name] = str(val)