def test_unit_conversion(self): import mantid.simpleapi as mantid eventWS = mantid.CloneWorkspace(self.base_event_ws) ws = mantid.Rebin(eventWS, 10000, PreserveEvents=False) tmp = mantidcompat.convert_Workspace2D_to_data_array(ws) target_tof = tmp.coords['tof'] ws = mantid.ConvertUnits(InputWorkspace=ws, Target="Wavelength", EMode="Elastic") converted_mantid = mantidcompat.convert_Workspace2D_to_data_array(ws) da = mantidcompat.convert_EventWorkspace_to_data_array( eventWS, load_pulse_times=False) da.realign({'tof': target_tof}) da = sc.histogram(da) d = sc.Dataset(da) converted = sc.neutron.convert(d, 'tof', 'wavelength') self.assertTrue( np.all(np.isclose(converted_mantid.values, converted[""].values))) self.assertTrue( np.all( np.isclose( converted_mantid.coords['wavelength'].values, converted.coords['wavelength'].values, )))
def test_Workspace2D_not_common_bins_masks(self): import mantid.simpleapi as mantid eventWS = mantid.CloneWorkspace(self.base_event_ws) ws = mantid.Rebin(eventWS, 10000, PreserveEvents=False) ws = mantid.ConvertUnits(ws, "Wavelength", EMode="Direct", EFixed=0.1231) # these X values will mask different number of bins masked_ws = self._mask_bins_and_spectra(ws, -214, -192, num_spectra=3) self.assertFalse(masked_ws.isCommonBins()) ds = mantidcompat.convert_Workspace2D_to_data_array(masked_ws) # bin with 3 masks np.testing.assert_array_equal(ds.masks["bin"].values[0], [True, True, False, False, False]) # bin with only 2 np.testing.assert_array_equal(ds.masks["bin"].values[31], [True, True, True, False, False]) np.testing.assert_array_equal(ds.masks["spectrum"].values[0:3], [True, True, True])
def test_unit_conversion(self): import mantid.simpleapi as mantid eventWS = mantid.CloneWorkspace(self.base_event_ws) ws = mantid.Rebin(eventWS, 10000, PreserveEvents=False) tmp = mantidcompat.convert_Workspace2D_to_dataarray(ws) target_tof = tmp.coords[sc.Dim.Tof] ws = mantid.ConvertUnits(InputWorkspace=ws, Target="Wavelength", EMode="Elastic") converted_mantid = mantidcompat.convert_Workspace2D_to_dataarray(ws) da = mantidcompat.convertEventWorkspace_to_dataarray( eventWS, False) da = sc.histogram(da, target_tof) d = sc.Dataset(da) converted = sc.neutron.convert(d, sc.Dim.Tof, sc.Dim.Wavelength) self.assertTrue( np.all(np.isclose(converted_mantid.values, converted[""].values))) self.assertTrue( np.all( np.isclose( converted_mantid.coords[sc.Dim.Wavelength].values, converted.coords[sc.Dim.Wavelength].values, )))