def test_with_data_from_other_workspace(self): wsname = 'LOQ' x1 = np.array([1., 2., 3., 4.]) y1 = np.array([[1., 2., 3.], [4., 5., 6.]]) e1 = np.sqrt(y1) loq = CreateWorkspace(DataX=x1, DataY=y1, DataE=e1, NSpec=2, UnitX='Wavelength') x2 = loq.extractX() y2 = loq.extractY() e2 = loq.extractE() wksp = CreateWorkspace(DataX=x2, DataY=y2, DataE=e2, NSpec=2, UnitX='Wavelength') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEqual(wksp.getNumberHistograms(), 2) for i in [0, 1]: for j in range(len(y2[0])): self.assertEqual(wksp.readY(i)[j], loq.readY(i)[j]) self.assertEqual(wksp.readE(i)[j], loq.readE(i)[j]) self.assertEqual(wksp.readX(i)[j], loq.readX(i)[j]) # Last X value self.assertEqual( wksp.readX(i)[len(x2) - 1], loq.readX(i)[len(x2) - 1]) AnalysisDataService.remove("wksp")
def test_create_with_2D_numpy_array(self): x = np.array([1.,2.,3.,4.]) y = np.array([[1.,2.,3.],[4.,5.,6.]]) e = np.sqrt(y) wksp = CreateWorkspace(DataX=x, DataY=y,DataE=e,NSpec=2,UnitX='TOF') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEquals(wksp.getNumberHistograms(), 2) for i in [0,1]: for j in range(len(y[0])): self.assertEquals(wksp.readY(i)[j], y[i][j]) self.assertEquals(wksp.readE(i)[j], e[i][j]) self.assertEquals(wksp.readX(i)[j], x[j]) # Last X value self.assertEquals(wksp.readX(i)[len(x)-1], x[len(x)-1]) AnalysisDataService.remove("wksp")
def test_create_with_2D_numpy_array(self): x = np.array([1., 2., 3., 4.]) y = np.array([[1., 2., 3.], [4., 5., 6.]]) e = np.sqrt(y) wksp = CreateWorkspace(DataX=x, DataY=y, DataE=e, NSpec=2, UnitX='TOF') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEqual(wksp.getNumberHistograms(), 2) for i in [0, 1]: for j in range(len(y[0])): self.assertEqual(wksp.readY(i)[j], y[i][j]) self.assertEqual(wksp.readE(i)[j], e[i][j]) self.assertEqual(wksp.readX(i)[j], x[j]) # Last X value self.assertEqual(wksp.readX(i)[len(x) - 1], x[len(x) - 1]) AnalysisDataService.remove("wksp")
def test_create_with_1D_numpy_array(self): x = np.array([1.,2.,3.,4.]) y = np.array([1.,2.,3.]) e = np.sqrt(np.array([1.,2.,3.])) wksp = CreateWorkspace(DataX=x, DataY=y,DataE=e,NSpec=1,UnitX='TOF') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEquals(wksp.getNumberHistograms(), 1) self.assertEquals(len(wksp.readY(0)), len(y)) self.assertEquals(len(wksp.readX(0)), len(x)) self.assertEquals(len(wksp.readE(0)), len(e)) for index in range(len(y)): self.assertEquals(wksp.readY(0)[index], y[index]) self.assertEquals(wksp.readE(0)[index], e[index]) self.assertEquals(wksp.readX(0)[index], x[index]) # Last X value self.assertEquals(wksp.readX(0)[len(x)-1], x[len(x)-1]) AnalysisDataService.remove("wksp")
def test_create_with_1D_numpy_array(self): x = np.array([1., 2., 3., 4.]) y = np.array([1., 2., 3.]) e = np.sqrt(np.array([1., 2., 3.])) wksp = CreateWorkspace(DataX=x, DataY=y, DataE=e, NSpec=1, UnitX='TOF') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEqual(wksp.getNumberHistograms(), 1) self.assertEqual(len(wksp.readY(0)), len(y)) self.assertEqual(len(wksp.readX(0)), len(x)) self.assertEqual(len(wksp.readE(0)), len(e)) for index in range(len(y)): self.assertEqual(wksp.readY(0)[index], y[index]) self.assertEqual(wksp.readE(0)[index], e[index]) self.assertEqual(wksp.readX(0)[index], x[index]) # Last X value self.assertEqual(wksp.readX(0)[len(x) - 1], x[len(x) - 1]) AnalysisDataService.remove("wksp")
def test_with_data_from_other_workspace(self): wsname = 'LOQ' alg = run_algorithm('Load', Filename='LOQ48127.raw', OutputWorkspace=wsname, SpectrumMax=2, child=True) loq = alg.getProperty("OutputWorkspace").value x = loq.extractX() y = loq.extractY() e = loq.extractE() wksp = CreateWorkspace(DataX=x, DataY=y,DataE=e,NSpec=2,UnitX='Wavelength') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEquals(wksp.getNumberHistograms(), 2) for i in [0,1]: for j in range(len(y[0])): self.assertEquals(wksp.readY(i)[j], loq.readY(i)[j]) self.assertEquals(wksp.readE(i)[j], loq.readE(i)[j]) self.assertEquals(wksp.readX(i)[j], loq.readX(i)[j]) # Last X value self.assertEquals(wksp.readX(i)[len(x)-1], loq.readX(i)[len(x)-1]) AnalysisDataService.remove("wksp")
def test_with_data_from_other_workspace(self): wsname = 'LOQ' x1 = np.array([1.,2.,3.,4.]) y1 = np.array([[1.,2.,3.],[4.,5.,6.]]) e1 = np.sqrt(y1) loq = CreateWorkspace(DataX=x1, DataY=y1,DataE=e1,NSpec=2,UnitX='Wavelength') x2 = loq.extractX() y2 = loq.extractY() e2 = loq.extractE() wksp = CreateWorkspace(DataX=x2, DataY=y2,DataE=e2,NSpec=2,UnitX='Wavelength') self.assertTrue(isinstance(wksp, MatrixWorkspace)) self.assertEquals(wksp.getNumberHistograms(), 2) for i in [0,1]: for j in range(len(y2[0])): self.assertEquals(wksp.readY(i)[j], loq.readY(i)[j]) self.assertEquals(wksp.readE(i)[j], loq.readE(i)[j]) self.assertEquals(wksp.readX(i)[j], loq.readX(i)[j]) # Last X value self.assertEquals(wksp.readX(i)[len(x2)-1], loq.readX(i)[len(x2)-1]) AnalysisDataService.remove("wksp")
def test_container_input_workspace_not_unintentionally_rebinned(self): xs = numpy.array([0.0, 1.0, 0.0, 1.1]) ys = numpy.array([2.2, 3.3]) sample_1 = CreateWorkspace(DataX=xs, DataY=ys, NSpec=2, UnitX='Wavelength') ys = numpy.array([0.11, 0.22]) container_1 = CreateWorkspace(DataX=xs, DataY=ys, NSpec=2, UnitX='Wavelength') corrected = ApplyPaalmanPingsCorrection(SampleWorkspace=sample_1, CanWorkspace=container_1) numHisto = container_1.getNumberHistograms() for i in range(numHisto): container_xs = container_1.readX(i) for j in range(len(container_xs)): self.assertEqual(container_xs[j], xs[i * numHisto + j]) DeleteWorkspace(sample_1) DeleteWorkspace(container_1) DeleteWorkspace(corrected)
def test_function_deriv_with_1DHistogram_Domain(self): g = FunctionWrapper("Gaussian", Height=7.5, Sigma=1.2, PeakCentre=10) ws = CreateWorkspace(DataX=[0, 1, 2, 3, 4], DataY=[5, 5, 5, 5]) dom = FunctionDomain1DHistogram(ws.readX(0)) out = g.functionDeriv(dom) self.assertAlmostEqual(out.get(0, 0), 0.00000000000009592326932761353) self.assertAlmostEqual(out.get(0, 1), -0.000000000004570209530946241) self.assertAlmostEqual(out.get(0, 2), -0.00000000003012829985493681) self.assertAlmostEqual(out.get(1, 0), 0.00000000003925992864139971) self.assertAlmostEqual(out.get(1, 1), -0.0000000016706471246441646) self.assertAlmostEqual(out.get(1, 2), -0.000000009831636305079881) self.assertAlmostEqual(out.get(2, 0), 0.000000008131882500705956) self.assertAlmostEqual(out.get(2, 1), -0.0000003045374795085354) self.assertAlmostEqual(out.get(2, 2), -0.0000015775749015123351)
def test_function_deriv_with_1DVector_Domain(self): g = FunctionWrapper("Gaussian", Height=7.5, Sigma=1.2, PeakCentre=10) ws = CreateWorkspace(DataX=[0, 1, 2, 3, 4], DataY=[5, 5, 5, 5]) dom = FunctionDomain1DVector(ws.readX(0)) out = g.functionDeriv(dom) self.assertAlmostEqual(out.get(0, 0), 0.0000000000000008323969676981107) self.assertAlmostEqual(out.get(0, 1), -0.000000000000043354008734276606) self.assertAlmostEqual(out.get(0, 2), -0.00000000000031214886288679154) self.assertAlmostEqual(out.get(1, 0), 0.0000000000006101936677605303) self.assertAlmostEqual(out.get(1, 1), -0.00000000002860282817627486) self.assertAlmostEqual(out.get(1, 2), -0.00000000018534632658226106) self.assertAlmostEqual(out.get(2, 0), 0.00000000022336314362031582) self.assertAlmostEqual(out.get(2, 1), -0.000000009306797650846493) self.assertAlmostEqual(out.get(2, 2), -0.0000000536071544688758)