def upload(self, event): """ Bulk upload settings from a text file """ self.measurement_handler.clear_queue() file_dir, file_name = self.view1.ask_user_for_filename( defaultDir=self.app_dir, style=wx.OPEN, message='Choose a file', wildcard='*.*') if file_dir is not None: config_dict = load_metadata(file_name, file_dir) settings = self._parse_config(config_dict) for setting in settings["experiment_settings"]: self.measurement_handler.add_to_queue( LightPulse(setting).create_waveform(), setting) self.temperature_settings = settings["temp_settings"] self.view1.set_temperature_form( self.temperature_settings.as_dict()) self.view1.disable_all_settings_inputs() self.view1.show_info_modal( "{0} experiment settings uploaded successfully!".format( len(self.measurement_handler._queue))) self.uploaded = True
def load_settings(self, event): """ Loads settings from the forms """ # TODO: change so just fills form out # and then reads into data structure when press perform measurement self.view1.clear_experiment_form() self.measurement_handler.clear_queue() file_dir, file_name = self.view1.ask_user_for_filename( defaultDir=self.app_dir, message='Choose a file', wildcard='*.*', style=wx.OPEN) if file_dir is not None: # try: config_dict = load_metadata(file_name, file_dir) settings = self._parse_config(config_dict) for setting in settings["experiment_settings"]: self.measurement_handler.add_to_queue( LightPulse(setting).create_waveform(), setting) self.temperature_settings = settings["temp_settings"] # except Exception as e: # print("An Exception occurred: {0}".format(e)) self.view1.set_experiment_form(self.measurement_handler.as_list()) self.view1.set_temperature_form(self.temperature_settings.as_dict()) self.measurement_handler.clear_queue()
def test_load_inf_file(self): """Check return an metadata dictionary with same keys""" load_path = os.path.join(LoadSaveTest.fpath, 'test_data.json') metadata = load_metadata(load_path) loaded_items = set(LoadSaveTest.test_metadata.items()) reference_items = set(metadata.items()) self.assertEqual(len(loaded_items & reference_items), 9)
def upload(self, event): """ Bulk upload settings from a text file """ self.measurement_handler.clear_queue() file_dir, file_name = self.view1.ask_user_for_filename( defaultDir=self.app_dir, style=wx.OPEN, message='Choose a file', wildcard='*.*' ) if file_dir is not None: config_dict = load_metadata(file_name, file_dir) settings = self._parse_config(config_dict) for setting in settings["experiment_settings"]: self.measurement_handler.add_to_queue( LightPulse(setting).create_waveform(), setting ) self.temperature_settings = settings["temp_settings"] self.view1.set_temperature_form( self.temperature_settings.as_dict() ) self.view1.disable_all_settings_inputs() self.view1.show_info_modal( "{0} experiment settings uploaded successfully!".format( len(self.measurement_handler._queue) ) ) self.uploaded = True
def onLoad(self, event): """ Method to handle load metadata dialog window and update metadata state """ dialog = wx.FileDialog( None, 'Select a metadata file', self.dirname, '', r'*.inf', wx.FD_OPEN ) if dialog.ShowModal() == wx.ID_OK: metadata_dict = utils.load_metadata(dialog.GetPath()) metadata_stringified = dict( [a, str(x)] for a, x in metadata_dict.iteritems() ) print(metadata_stringified) # experimental data self.m_Output.SetStringSelection(metadata_stringified[u'Channel']) self.m_Averaging.SetValue(metadata_stringified[u'Averaging']) try: self.m_Binning.SetValue(metadata_stringified[u'Measurement_Binning']) except: self.m_Binning.SetValue(metadata_stringified[u'Binning']) self.m_Threshold.SetValue(metadata_stringified[u'Threshold_mA']) # waveform data self.m_Intensity.SetValue(metadata_stringified[u'Intensity_v']) self.m_Waveform.SetStringSelection(metadata_stringified[u'Waveform']) self.m_Offset_Before.SetValue(metadata_stringified[u'Offset_Before_ms']) self.m_Offset_After.SetValue(metadata_stringified[u'Offset_After_ms']) self.m_Period.SetValue(metadata_stringified[u'Peroid_s']) dialog.Destroy() event.Skip()
def load_settings(self, event): """ Loads settings from the forms """ # TODO: change so just fills form out # and then reads into data structure when press perform measurement self.view1.clear_experiment_form() self.measurement_handler.clear_queue() file_dir, file_name = self.view1.ask_user_for_filename( defaultDir=self.app_dir, message='Choose a file', wildcard='*.*', style=wx.OPEN ) if file_dir is not None: # try: config_dict = load_metadata(file_name, file_dir) settings = self._parse_config(config_dict) for setting in settings["experiment_settings"]: self.measurement_handler.add_to_queue( LightPulse(setting).create_waveform(), setting ) self.temperature_settings = settings["temp_settings"] # except Exception as e: # print("An Exception occurred: {0}".format(e)) self.view1.set_experiment_form( self.measurement_handler.as_list() ) self.view1.set_temperature_form( self.temperature_settings.as_dict() ) self.measurement_handler.clear_queue()