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")
Exemple #8
0
 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_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_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)