Пример #1
0
    def execute(self):
        failed_files = []
        for filename in self._filenames:
            try:
                ws, run, filename, psi_data = load_utils.load_workspace_from_filename(
                    filename)
            except Exception as error:
                failed_files += [(filename, error)]
                continue
            if not psi_data:
                instrument_from_workspace = ws['OutputWorkspace'][
                    0].workspace.getInstrument().getName()
            else:
                # Load another instrument first
                instrument_from_workspace = "PSI"

            self._loaded_data_store.remove_data(run=[run])
            self._loaded_data_store.add_data(
                run=[run],
                workspace=ws,
                filename=filename,
                instrument=instrument_from_workspace)
        if failed_files:
            message = load_utils.exception_message_for_failed_files(
                failed_files)
            raise ValueError(message)
Пример #2
0
    def setUp(self):
        self._qapp = mock_widget.mockQapp()
        # Store an empty widget to parent all the views, and ensure they are deleted correctly
        self.obj = QtWidgets.QWidget()
        setup_context_for_tests(self)

        self.data_context.instrument = 'MUSR'

        self.gui_context.update({'RebinType': 'None'})
        self.model = maxent_model.MaxEntModel()

        self.view = maxent_view_new.MaxEntView(self.obj)

        self.presenter = maxent_presenter_new.MaxEntPresenter(self.view, self.context)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename = load_utils.load_workspace_from_filename(file_path)
        self.data_context._loaded_data.remove_data(run=run)
        self.data_context._loaded_data.add_data(run=[run], workspace=ws, filename=filename, instrument='MUSR')
        self.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.group_context.add_pair(pair=test_pair)

        self.view.warning_popup = mock.MagicMock()
Пример #3
0
    def setUp(self):
        AnalysisDataService.clear()
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
        self.load_result, self.run_number, self.filename = load_workspace_from_filename(
            self.filepath)
        self.loaded_data = MuonLoadData()
        self.data_context = MuonDataContext(self.loaded_data)
        self.gui_context = MuonGuiContext()
        self.group_pair_context = MuonGroupPairContext()
        self.gui_context.update({'RebinType': 'None'})

        self.context = MuonContext(muon_data_context=self.data_context,
                                   muon_gui_context=self.gui_context,
                                   muon_group_context=self.group_pair_context)

        self.data_context.instrument = 'EMU'

        self.loaded_data.add_data(workspace=self.load_result,
                                  run=[self.run_number],
                                  filename=self.filename,
                                  instrument='EMU')
        self.data_context.current_runs = [[self.run_number]]
        self.data_context.update_current_data()
        self.group_pair_context.reset_group_and_pairs_to_default(
            self.load_result['OutputWorkspace'][0]._workspace, 'EMU', '')
Пример #4
0
    def test_get_pair_phasequad_name(self):
        AnalysisDataService.clear()
        ConfigService['MantidOptions.InvisibleWorkspaces'] = 'True'
        filepath = FileFinder.findRuns('EMU00019489.nxs')[0]

        load_result, run_number, filename, psi_data = load_workspace_from_filename(
            filepath)

        context = setup_context()
        context.gui_context.update({'RebinType': 'None'})
        context.data_context.instrument = 'EMU'

        context.data_context._loaded_data.add_data(workspace=load_result,
                                                   run=[run_number],
                                                   filename=filename,
                                                   instrument='EMU')
        context.data_context.current_runs = [[run_number]]
        context.data_context.update_current_data()

        self.assertEqual(
            "EMU19489; PhaseQuad; test_Re; MA",
            get_pair_phasequad_name(context, "test_Re", "19489", False))
        self.assertEqual(
            "EMU19489; PhaseQuad; test_Re; Rebin; MA",
            get_pair_phasequad_name(context, "test_Re", "19489", True))
Пример #5
0
    def setUp(self):
        AnalysisDataService.clear()
        ConfigService['MantidOptions.InvisibleWorkspaces'] = 'True'
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]

        self.load_result, self.run_number, self.filename, psi_data = load_workspace_from_filename(
            self.filepath)
        self.assert_(not psi_data)

        self.context = setup_context(True)
        self.context.gui_context.update({'RebinType': 'None'})
        self.loaded_data = self.context.data_context._loaded_data
        self.data_context = self.context.data_context
        self.gui_context = self.context.gui_context
        self.group_pair_context = self.context.group_pair_context
        self.data_context.instrument = 'EMU'

        self.loaded_data.add_data(workspace=self.load_result,
                                  run=[self.run_number],
                                  filename=self.filename,
                                  instrument='EMU')
        self.data_context.current_runs = [[self.run_number]]
        self.data_context.update_current_data()
        self.group_pair_context.reset_group_and_pairs_to_default(
            self.load_result['OutputWorkspace'][0].workspace, 'EMU', '', 1)
    def setUp(self):
        self.context = setup_context(True)

        self.context.data_context.instrument = 'MUSR'

        self.context.gui_context.update({'RebinType': 'None'})

        self.view = fft_view_new.FFTView()
        self.model1 = fft_model.FFTModel()
        self.model = fft_model.FFTWrapper

        self.presenter = fft_presenter_new.FFTPresenter(
            self.view, self.model, self.context)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename, _ = load_utils.load_workspace_from_filename(file_path)
        self.context.data_context._loaded_data.remove_data(run=run)
        self.context.data_context._loaded_data.add_data(run=[run], workspace=ws, filename=filename, instrument='MUSR')
        self.context.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        test_pair = MuonPair(EXAMPLE_PAIR, 'top', 'bottom', alpha=0.75)
        self.context.group_pair_context.add_pair(pair=test_pair)
        self.context.show_all_groups()
        self.context.show_all_pairs()
        self.context.group_pair_context._selected_groups = GROUP_LIST
        self.context.group_pair_context._selected_pairs = [EXAMPLE_PAIR]

        self.view.warning_popup = mock.MagicMock()
    def test_runinfo_correct(self):
        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename = load_utils.load_workspace_from_filename(file_path)
        self.data_context._loaded_data.remove_data(run=run)
        self.data_context._loaded_data.add_data(run=[run],
                                                workspace=ws,
                                                filename=filename,
                                                instrument='MUSR')
        self.data_context.current_runs = [[22725]]
        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.group_context.add_pair(pair=test_pair)

        self.presenter.update_view_from_model()

        expected_string_list = [
            'Instrument:MUSR', 'Run:22725', 'Title:FeTeSeT=1F=100',
            'Comment:FCfirstsample', 'Start:2009-03-24T04:18:58',
            'End:2009-03-24T04:56:26', 'Counts(MEv):20.076704',
            'GoodFrames:88540', 'CountsperGoodFrame:226.753',
            'CountsperGoodFrameperdet:3.543', 'AverageTemperature(K):2.53386',
            'SampleTemperature(K):1.0', 'SampleMagneticField(G):100.0'
        ]

        self.assertEqual(
            str(self.view.run_info_box.toPlainText()).replace(' ',
                                                              '').splitlines(),
            expected_string_list)
    def setUp(self):
        self.context = setup_context(True)

        self.context.data_context.instrument = 'MUSR'

        self.context.gui_context.update({'RebinType': 'None'})
        self.model = maxent_model.MaxEntModel()

        self.view = maxent_view_new.MaxEntView()

        self.presenter = maxent_presenter_new.MaxEntPresenter(
            self.view, self.context)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename, _ = load_utils.load_workspace_from_filename(
            file_path)
        self.context.data_context._loaded_data.remove_data(run=run)
        self.context.data_context._loaded_data.add_data(run=[run],
                                                        workspace=ws,
                                                        filename=filename,
                                                        instrument='MUSR')
        self.context.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.context.group_pair_context.add_pair(pair=test_pair)

        self.view.warning_popup = mock.MagicMock()
    def setUp(self):
        self._qapp = mock_widget.mockQapp()
        self.obj = QtGui.QWidget()
        ConfigService['default.instrument'] = 'MUSR'
        setup_context_for_tests(self)
        self.gui_context['RebinType'] = 'None'
        self.view = HomeGroupingWidgetView(self.obj)
        self.model = HomeGroupingWidgetModel(self.context)
        self.presenter = HomeGroupingWidgetPresenter(self.view, self.model)

        self.view.warning_popup = mock.MagicMock()
        self.view.instrument_changed_warning = mock.MagicMock(return_value=1)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename = load_utils.load_workspace_from_filename(file_path)
        self.data_context._loaded_data.remove_data(run=run)
        self.data_context._loaded_data.add_data(run=[run],
                                                workspace=ws,
                                                filename=filename,
                                                instrument='MUSR')
        self.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.group_context.add_pair(pair=test_pair)
        self.presenter.update_group_pair_list()
Пример #10
0
    def test_load_workspace_from_filename_for_existing_file(self):
        filename = 'MUSR00022725.nsx'
        load_result, run, filename, _ = utils.load_workspace_from_filename(filename)

        self.assertEqual(load_result['DeadTimeTable'], None)
        self.assertEqual(load_result['FirstGoodData'], 0.11)
        self.assertEqual(load_result['MainFieldDirection'], 'Transverse')
        self.assertAlmostEqual(load_result['TimeZero'], 0.55000, 5)
        self.assertEqual(run, 22725)
Пример #11
0
    def test_load_workspace_from_filename_for_existing_file(self):
        filename = 'MUSR00022725.nsx'
        load_result, run, filename = utils.load_workspace_from_filename(filename)

        self.assertEqual(load_result['DeadTimeTable'], None)
        self.assertEqual(load_result['FirstGoodData'], 0.11)
        self.assertEqual(load_result['MainFieldDirection'], 'Transverse')
        self.assertAlmostEqual(load_result['TimeZero'], 0.55000, 5)
        self.assertEqual(run, 22725)
Пример #12
0
    def test_load_workspace_from_filename_for_existing_file(self):
        ConfigService.Instance().setString("default.facility", "ISIS")
        filename = 'MUSR00022725.nsx'
        load_result, run, filename, _ = utils.load_workspace_from_filename(
            filename)

        self.assertEqual(load_result['DeadTimeTable'], None)
        self.assertEqual(load_result['FirstGoodData'], 0.106)
        self.assertEqual(load_result['MainFieldDirection'], 'Transverse')
        self.assertAlmostEqual(load_result['TimeZero'], 0.55000, 5)
        self.assertEqual(run, 22725)
        ConfigService.Instance().setString("default.facility", " ")
Пример #13
0
 def execute(self):
     failed_files = []
     for filename in self._filenames:
         try:
             ws, run, filename = load_utils.load_workspace_from_filename(filename)
         except Exception as error:
             failed_files += [(filename, error)]
             continue
         self._loaded_data_store.remove_data(run=[run])
         self._loaded_data_store.add_data(run=[run], workspace=ws, filename=filename, instrument=self._data_context.instrument)
     if failed_files:
         message = load_utils.exception_message_for_failed_files(failed_files)
         raise ValueError(message)
Пример #14
0
 def execute(self):
     failed_files = []
     for filename in self._filenames:
         try:
             ws, run, filename = load_utils.load_workspace_from_filename(filename)
         except Exception:
             failed_files += [filename]
             continue
         self._loaded_data_store.remove_data(run=run)
         self._loaded_data_store.add_data(run=run, workspace=ws, filename=filename)
     if failed_files:
         message = load_utils.exception_message_for_failed_files(failed_files)
         raise ValueError(message)
    def setUp(self):
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
        self.load_result, self.run_number, self.filename, _ = load_workspace_from_filename(
            self.filepath)
        self.loaded_data = MuonLoadData()
        self.context = MuonDataContext(load_data=self.loaded_data)
        self.context.instrument = 'EMU'

        self.loaded_data.add_data(workspace=self.load_result,
                                  run=[self.run_number],
                                  filename=self.filename,
                                  instrument='EMU')
        self.context.current_runs = [[self.run_number]]
        self.context.update_current_data()
Пример #16
0
    def setUp(self):
        self.loaded_data = MuonLoadData()
        self.context = MuonDataContext(self.loaded_data)
        self.context.instrument = 'EMU'

        filepath = FileFinder.findRuns('EMU00019489.nxs')[0]

        load_result, run, filename = load_workspace_from_filename(filepath)

        self.loaded_data.add_data(workspace=load_result,
                                  run=[run],
                                  filename=filename,
                                  instrument='EMU')
        self.context.current_runs = [[run]]
        self.context.update_current_data()
Пример #17
0
 def execute(self):
     failed_files = []
     for filename in self._filenames:
         try:
             ws, run, filename = load_utils.load_workspace_from_filename(
                 filename)
         except Exception:
             failed_files += [filename]
             continue
         self._loaded_data_store.remove_data(run=run)
         self._loaded_data_store.add_data(run=run,
                                          workspace=ws,
                                          filename=filename)
     if failed_files:
         message = load_utils.exception_message_for_failed_files(
             failed_files)
         raise ValueError(message)
Пример #18
0
def perform_psi_file_finder(self):
    file_path = FileFinder.findRuns('deltat_tdc_dolly_1529.bin')[0]
    ws, run, filename, psi_data = load_utils.load_workspace_from_filename(
        file_path)
    self.assert_(psi_data)
    self.data_context._loaded_data.remove_data(run=run)
    self.data_context._loaded_data.add_data(run=[run],
                                            workspace=ws,
                                            filename=filename,
                                            instrument='PSI')
    self.data_context.current_runs = [[1529]]

    self.context.data_context._instrument = "PSI"
    self.context.update_current_data()
    test_pair = MuonPair('test_pair1', 'Forw', 'Back', alpha=0.75)
    self.group_context.add_pair(pair=test_pair)
    self.presenter.update_group_pair_list()
Пример #19
0
def perform_musr_file_finder(self):
    ConfigService['default.instrument'] = 'MUSR'
    file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
    ws, run, filename, psi_data = load_utils.load_workspace_from_filename(
        file_path)
    self.assert_(not psi_data)
    self.data_context._loaded_data.remove_data(run=run)
    self.data_context._loaded_data.add_data(run=[run],
                                            workspace=ws,
                                            filename=filename,
                                            instrument='MUSR')
    self.data_context.current_runs = [[22725]]

    self.context.data_context._instrument = "MUSR"
    self.context.update_current_data()
    test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
    self.group_context.add_pair(pair=test_pair)
    self.presenter.update_group_pair_list()
    def setUp(self):
        setup_context_for_tests(self)
        self.frequency_context = FrequencyContext(self.context)
        self.gui_variable_observer = Observer()
        self.gui_variable_observer.update = mock.MagicMock()
        self.gui_context.gui_variables_notifier.add_subscriber(self.gui_variable_observer)
        self.data_context.instrument = 'CHRONUS'
        self.gui_variable_observer = Observer()
        self.gui_variable_observer.update = mock.MagicMock()
        self.gui_context.gui_variables_notifier.add_subscriber(self.gui_variable_observer)

        filepath = FileFinder.findRuns('CHRONUS00003422.nxs')[0]

        load_result, run, filename = load_workspace_from_filename(filepath)

        self.loaded_data.add_data(workspace=load_result, run=[run], filename=filename, instrument='CHRONUS')
        self.data_context.current_runs = [[run]]
        self.context.update_current_data()
    def test_runinfo_correct(self):
        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename = load_utils.load_workspace_from_filename(file_path)
        self.data_context._loaded_data.remove_data(run=run)
        self.data_context._loaded_data.add_data(run=[run], workspace=ws, filename=filename, instrument='MUSR')
        self.data_context.current_runs = [[22725]]
        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.group_context.add_pair(pair=test_pair)

        self.presenter.update_view_from_model()

        expected_string_list = ['Instrument:MUSR', 'Run:22725', 'Title:FeTeSeT=1F=100', 'Comment:FCfirstsample',
                                'Start:2009-03-24T04:18:58', 'End:2009-03-24T04:56:26', 'Counts(MEv):20.076704',
                                'GoodFrames:88540', 'CountsperGoodFrame:226.753',
                                'CountsperGoodFrameperdet:3.543', 'AverageTemperature(K):2.53386',
                                'SampleTemperature(K):1.0', 'SampleMagneticField(G):100.0']

        self.assertEqual(str(self.view.run_info_box.toPlainText()).replace(' ', '').splitlines(), expected_string_list)
Пример #22
0
 def execute(self):
     failed_files = []
     for filename in self._filenames:
         try:
             ws, run, filename, _ = load_utils.load_workspace_from_filename(
                 filename)
         except ValueError as error:
             failed_files += [(filename, error)]
             continue
         self._loaded_data_store.remove_data(run=[run])
         self._loaded_data_store.add_data(
             run=[run],
             workspace=ws,
             filename=filename,
             instrument=self._data_context.instrument)
     if failed_files:
         message = "The requested run could not be found. This could be due to: \n - The run does not yet exist." \
                   "\n - The file was not found locally (please check the user directories)."
         raise ValueError(message)
Пример #23
0
    def setUp(self):
        AnalysisDataService.clear()
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
        self.load_result, self.run_number, self.filename = load_workspace_from_filename(self.filepath)
        self.loaded_data = MuonLoadData()
        self.data_context = MuonDataContext(self.loaded_data)
        self.gui_context = MuonGuiContext()
        self.group_pair_context = MuonGroupPairContext()
        self.gui_context.update({'RebinType': 'None'})

        self.context = MuonContext(muon_data_context=self.data_context, muon_gui_context=self.gui_context, muon_group_context=self.group_pair_context)

        self.data_context.instrument = 'EMU'

        self.loaded_data.add_data(workspace=self.load_result, run=[self.run_number], filename=self.filename,
                                  instrument='EMU')
        self.data_context.current_runs = [[self.run_number]]
        self.data_context.update_current_data()
        self.group_pair_context.reset_group_and_pairs_to_default(self.load_result['OutputWorkspace'][0]._workspace,
                                                                 'EMU', '')
    def setUp(self):
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
        self.load_result, self.run_number, self.filename, _ = load_workspace_from_filename(
            self.filepath)

        self.context = setup_context()
        self.context.gui_context.update({'RebinType': 'None'})
        self.model = CorrectionsModel(self.context)
        self.runs = [[84447], [84448], [84449]]
        self.coadd_runs = [[84447, 84448, 84449]]

        self.context.data_context.instrument = 'EMU'
        self.context.data_context._loaded_data.add_data(
            workspace=self.load_result,
            run=[self.run_number],
            filename=self.filename,
            instrument='EMU')
        self.context.data_context.current_runs = [[self.run_number]]
        self.context.data_context.update_current_data()
        self.context.group_pair_context.reset_group_and_pairs_to_default(
            self.load_result['OutputWorkspace'][0].workspace, 'EMU', '', 1)
Пример #25
0
    def setUp(self):
        setup_context_for_tests(self)
        self.gui_variable_observer = Observer()
        self.gui_variable_observer.update = mock.MagicMock()
        self.gui_context.gui_variables_notifier.add_subscriber(
            self.gui_variable_observer)
        self.data_context.instrument = 'CHRONUS'
        self.gui_variable_observer = Observer()
        self.gui_variable_observer.update = mock.MagicMock()
        self.gui_context.gui_variables_notifier.add_subscriber(
            self.gui_variable_observer)

        filepath = FileFinder.findRuns('CHRONUS00003422.nxs')[0]

        load_result, run, filename, _ = load_workspace_from_filename(filepath)

        self.loaded_data.add_data(workspace=load_result,
                                  run=[run],
                                  filename=filename,
                                  instrument='CHRONUS')
        self.data_context.current_runs = [[run]]
        self.context.update_current_data()
    def setUp(self):
        self._qapp = mock_widget.mockQapp()
        self.obj = QtGui.QWidget()
        ConfigService['default.instrument'] = 'MUSR'
        setup_context_for_tests(self)
        self.gui_context['RebinType'] = 'None'
        self.view = HomeGroupingWidgetView(self.obj)
        self.model = HomeGroupingWidgetModel(self.context)
        self.presenter = HomeGroupingWidgetPresenter(self.view, self.model)

        self.view.warning_popup = mock.MagicMock()
        self.view.instrument_changed_warning = mock.MagicMock(return_value=1)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename = load_utils.load_workspace_from_filename(file_path)
        self.data_context._loaded_data.remove_data(run=run)
        self.data_context._loaded_data.add_data(run=[run], workspace=ws, filename=filename, instrument='MUSR')
        self.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.group_context.add_pair(pair=test_pair)
        self.presenter.update_group_pair_list()
Пример #27
0
 def setUpClass(cls):
     super(MuonDataContextTest, cls).setUpClass()
     cls.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
     cls.load_result, cls.run_number, cls.filename, _ = load_workspace_from_filename(
         cls.filepath)
Пример #28
0
 def setUpClass(cls):
     cls.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
     cls.load_result, cls.run_number, cls.filename = load_workspace_from_filename(cls.filepath)