Exemple #1
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     SetSampleDetectorDistance(6000)
     DirectBeamCenter("BioSANS_empty_cell.xml")
     TimeNormalization()
     SetTransmission(0.522296, 0.009134)
     AzimuthalAverage(binning="0.01,0.001,0.11")
     AppendDataFile("BioSANS_test_data.xml")
     Reduce1D()
Exemple #2
0
    def test_set_detector_offset(self):
        GPSANS()
        SetSampleDetectorDistance(6500)
        DataPath(TEST_DIR)
        AppendDataFile("BioSANS_test_data.xml")
        # SetSampleDetectorOffset(500.0)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data")
        sdd = ws.getRun().getProperty("sample_detector_distance").value
        self.assertEqual(sdd, 6500.0)
Exemple #3
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     DataPath(self._work_dir)
     SetSampleDetectorDistance(6000)
     AppendDataFile("BioSANS_test_data.xml")
     Background("BioSANS_test_data.xml")
     SetBckTransmission(0.55, 0.1)
     AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
     Reduce1D()
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     SetSampleDetectorDistance(6000)
     SolidAngle(detector_tubes=True)
     MonitorNormalization()
     AzimuthalAverage(binning="0.01,0.001,0.2")
     SetBeamCenter(16.39, 95.53)
     SetAbsoluteScale(1.680537663117948)
     AppendDataFile(["BioSANS_test_data.xml"])
     Reduce()
    def runTest(self):

        configI = ConfigService.Instance()
        configI["facilityName"] = 'HFIR'
        GPSANS()
        SetSampleDetectorDistance(6000)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml")
        SetTransmission(0.51944, 0.011078)
        SensitivityCorrection("BioSANS_flood_data.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce()
Exemple #6
0
    def test_set_wavelength(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        AppendDataFile("BioSANS_test_data.xml")
        SetWavelength(5.0, 1.2)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data")
        v_x = ws.dataX(0)
        self.assertEqual(v_x[0], 4.4)
        self.assertEqual(v_x[1], 5.6)
Exemple #7
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     SetSampleDetectorDistance(6000)
     AppendDataFile("BioSANS_test_data.xml")
     Background("BioSANS_test_data.xml")
     BckDirectBeamTransmission(sample_file="BioSANS_sample_trans.xml",
                               empty_file="BioSANS_empty_trans.xml",
                               beam_radius=10.0)
     AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
     Reduce1D()
Exemple #8
0
    def test_DC_eff_with_DC(self):
        ref = [
            28.0476, 136.906, -16.3079, 0, 147.757, 146.403, 301.982, 0, 0,
            -1869.21, -2190.93, -1892.16, -2140.81, -1980.62, -2096.79,
            -2221.34, -2263.55, -2264.93, -2364.87, -2420.61, -2444.56,
            -2418.32, -2606.21, -2556.98, -2623.75, -2547.84, -2670.66,
            -2714.39, -2717.06, -2730.89, -2768.96, -2754.01, -2732.7,
            -2795.93, -2780.41, -2755.42, -2814.92, -2830.79, -2803.46,
            -2815.38, -2754.75, -2718.6, -2740.08, -2754.65, -2816.01,
            -2754.66, -2781.59, -2765.3, -2676.09, -2762.38, -2722.99, -2707.8,
            -2730.55, -2721.76, -2682.07, -2703.41, -2679.52, -2658.62,
            -2669.46, -2618.95, -2638.46, -2614.74, -2583.34, -2589.44,
            -2567.23, -2535.14, -2539.48, -2489.64, -2500.81, -2456.26,
            -2444.18, -2392.73, -2411.03, -2348.73, -2334.89, -2310.46,
            -2250.28, -2220.07, -2184.7, -2154.24, -2099.61, -2058.56, -2004.1,
            -1966.57, -1910.52, -1876.76, -1817.73, -1768.67, -1721.61,
            -1666.51, -1608.91, -1544.31, -1492.83, -1438.74, -1358.65,
            -1299.39, -1221.61, -1080.73, -609.821, -77.7712
        ]
        BIOSANS()
        # SetSampleDetectorOffset(837.9)
        SetSampleDetectorDistance(6837.9)
        # SolidAngle()
        DarkCurrent("BioSANS_dark_current.xml")
        MonitorNormalization()
        AzimuthalAverage(n_bins=100, n_subpix=1, log_binning=True)
        # IQxQy(nbins=100)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        SensitivityCorrection('BioSANS_flood_data.xml',
                              min_sensitivity=0.5,
                              max_sensitivity=1.5,
                              dark_current='BioSANS_empty_trans.xml',
                              use_sample_dc=False)
        DivideByThickness(1)
        SetTransmission(1, 0)
        ThetaDependentTransmission(True)
        DataPath(self._work_dir)
        AppendDataFile(["BioSANS_exp61_scan0004_0001.xml"])
        Background("BioSANS_test_data.xml")
        SetBckTransmission(1, 0)
        BckThetaDependentTransmission(True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_exp61_scan0004_0001_Iq")
        res = ws.dataY(0)
        for i in range(len(res)):
            self._assertAlmostEqual(res[i],
                                    ref[i],
                                    delta=0.01,
                                    rel_delta=0.001,
                                    msg="result point %d: %g, found %g" %
                                    (i, ref[i], res[i]))
Exemple #9
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     SetSampleDetectorDistance(6000)
     DirectBeamCenter("BioSANS_empty_cell.xml")
     TimeNormalization()
     DirectBeamTransmission(sample_file="BioSANS_sample_trans.xml",
                            empty_file="BioSANS_empty_trans.xml")
     TransmissionDarkCurrent("BioSANS_dark_current.xml")
     AzimuthalAverage(binning="0.01,0.001,0.11")
     AppendDataFile("BioSANS_test_data.xml")
     Reduce1D()
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     DataPath(self._work_dir)
     SetSampleDetectorDistance(6000)
     SolidAngle(detector_tubes=True)
     MonitorNormalization()
     AzimuthalAverage(binning="0.01,0.001,0.2")
     SetBeamCenter(16.39, 95.53)
     SetDirectBeamAbsoluteScale('BioSANS_empty_trans.xml')
     AppendDataFile(["BioSANS_test_data.xml"])
     Reduce()
Exemple #11
0
    def test_DC_eff_noDC(self):
        ref = [
            10.4139, 124.814, 25.0443, 0, 38.3413, 133.417, 0, 0, -1733.56,
            -1627.57, -1811.38, -1851.58, -1888.38, -1957.07, -2056.47,
            -2117.52, -2139.32, -2176.94, -2239.91, -2350.65, -2417.75,
            -2406.99, -2525.48, -2551.45, -2566.83, -2499.38, -2632.35,
            -2662.17, -2653.14, -2718.65, -2740.78, -2758.94, -2712, -2771.35,
            -2761.38, -2724.05, -2809.97, -2815.92, -2801.25, -2824.54,
            -2726.76, -2716.63, -2737.83, -2752.06, -2798.95, -2757.7,
            -2787.58, -2753.12, -2691.47, -2759.93, -2703.94, -2705.55,
            -2722.64, -2714.75, -2685.28, -2693.49, -2685.75, -2655.65,
            -2662.42, -2614.47, -2633.12, -2602.29, -2579.4, -2591.17,
            -2565.28, -2529.61, -2533.85, -2491.87, -2496.78, -2458.25,
            -2437.25, -2398.16, -2407.29, -2350.32, -2340.43, -2301.5,
            -2254.37, -2224.97, -2186.64, -2146.73, -2096.71, -2058.12,
            -2006.2, -1968.6, -1914.93, -1874.31, -1819.05, -1767.14, -1722.35,
            -1670.38, -1606.61, -1544.51, -1496.24, -1438.21, -1360.12,
            -1299.68, -1221.61, -1080.91, -610.638, -71.9557
        ]
        BIOSANS()
        # SetSampleDetectorOffset(837.9)
        SetSampleDetectorDistance(6837.9)
        # SolidAngle()
        DarkCurrent("BioSANS_dark_current.xml")
        MonitorNormalization()
        AzimuthalAverage(n_bins=100, n_subpix=1, log_binning=True)
        # IQxQy(nbins=100)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        SensitivityCorrection('BioSANS_flood_data.xml',
                              min_sensitivity=0.5,
                              max_sensitivity=1.5,
                              use_sample_dc=False)
        DivideByThickness(1)
        SetTransmission(1, 0)
        ThetaDependentTransmission(True)
        DataPath(self._work_dir)
        AppendDataFile(["BioSANS_exp61_scan0004_0001.xml"])
        Background("BioSANS_test_data.xml")
        SetBckTransmission(1, 0)
        BckThetaDependentTransmission(True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_exp61_scan0004_0001_Iq")
        res = ws.dataY(0)
        for i in range(len(res)):
            self._assertAlmostEqual(res[i],
                                    ref[i],
                                    delta=0.01,
                                    rel_delta=0.001,
                                    msg="result point %d: %g, found %g" %
                                    (i, ref[i], res[i]))
Exemple #12
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     DataPath(self._work_dir)
     SetSampleDetectorDistance(6000)
     DirectBeamCenter("BioSANS_empty_cell.xml")
     TimeNormalization()
     DirectBeamTransmission(sample_file="BioSANS_sample_trans.xml",
                            empty_file="BioSANS_empty_trans.xml")
     SetTransmissionBeamCenter(16.389123399465063, 95.530251864359087)
     AzimuthalAverage(binning="0.01,0.001,0.11")
     AppendDataFile("BioSANS_test_data.xml")
     Reduce1D()
Exemple #13
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     SetSampleDetectorDistance(6000)
     AppendDataFile("BioSANS_test_data.xml")
     Background("BioSANS_test_data.xml")
     BckBeamSpreaderTransmission(sample_spreader="BioSANS_test_data.xml",
                                 direct_spreader="BioSANS_empty_cell.xml",
                                 sample_scattering="BioSANS_test_data.xml",
                                 direct_scattering="BioSANS_empty_cell.xml",
                                 spreader_transmission=0.5,
                                 spreader_transmission_err=0.1)
     AzimuthalAverage(binning="0.01,0.001,0.11")
     Reduce1D()
Exemple #14
0
    def test_set_distance_and_detector_offset(self):
        """
            If both detector distance and offset are set, use only the distance
        """
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        AppendDataFile("BioSANS_test_data.xml")
        SetSampleDetectorDistance(2500.0)
        SetSampleDetectorOffset(500.0)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data")
        sdd = ws.getRun().getProperty("sample_detector_distance").value
        self.assertEqual(sdd, 2500.0)
Exemple #15
0
    def test_center_by_hand(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        SetBeamCenter(16, 95)
        AppendDataFile("BioSANS_test_data.xml")
        SensitivityCorrection("BioSANS_flood_data.xml",
                              dark_current="BioSANS_dark_current.xml")
        DarkCurrent("BioSANS_dark_current.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        self.assertTrue(_check_result(
            ws, TEST_DIR + "reduced_center_by_hand.txt", 0.0001))
Exemple #16
0
    def test_no_solid_angle(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml")
        NoSolidAngle()
        SensitivityCorrection("BioSANS_flood_data.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        data = ws.dataY(0)
        self.assertAlmostEqual(data[0], 0.1948464330517794, delta=0.00001)
        self.assertAlmostEqual(data[10], 0.25088976280978281, delta=0.00001)
        self.assertAlmostEqual(data[20], 0.252098592791137, delta=0.00001)
Exemple #17
0
    def test_transmission_by_hand(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml")
        SetTransmission(0.51944, 0.011078)
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        #property_manager = PropertyManagerDataService.retrieve(ReductionSingleton().get_reduction_table_name())
        #_p = property_manager.getProperty("TransmissionAlgorithm")

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        self.assertTrue(_check_result(
            ws, TEST_DIR + "reduced_transmission.txt", 0.0001))
Exemple #18
0
    def test_noDC_eff_with_DC(self):
        ref = [28.06525, 136.94662, -16.20412, 0.00000, 147.79915, 146.42713, 302.00869,
               0.00000, 0.00000, -1869.20724, -2190.89681,
               -1892.14939, -2140.79608, -1980.60037,
               -2096.75974, -2221.30118, -2263.51541, -2264.89989, -2364.83528,
               -2420.58152, -2444.51906, -2418.28886, -2606.16991, -2556.93660,
               -2623.71380, -2547.79671, -2670.60962, -2714.35237, -2717.01692,
               -2730.84974, -2768.92925, -2753.96396, -2732.66316, -2795.89687,
               -2780.37320, -2755.38910, -2814.88120, -2830.74081, -2803.42030,
               -2815.33244, -2754.70444, -2718.55136, -2740.03811, -2754.60415,
               -2815.96387, -2754.62039, -2781.54596, -2765.26282, -2676.04665,
               -2762.33751, -2722.94832, -2707.74990, -2730.50371, -2721.71272,
               -2682.02439, -2703.36446, -2679.47677, -2658.57573, -2669.41871,
               -2618.90655, -2638.41601, -2614.69128, -2583.29713, -2589.39730,
               -2567.19209, -2535.09328, -2539.43296, -2489.60117, -2500.76844,
               -2456.22248, -2444.13734, -2392.68589, -2410.98591, -2348.68064,
               -2334.84651, -2310.41426, -2250.24085, -2220.02192, -2184.65990,
               -2154.19638, -2099.56797, -2058.51585, -2004.05601, -1966.52356,
               -1910.47283, -1876.72098, -1817.69045, -1768.62167, -1721.56444,
               -1666.47199, -1608.86707, -1544.26178, -1492.78389, -1438.69256,
               -1358.60437, -1299.34476, -1221.57010, -1080.69421, -609.77891, -77.72765]
        BIOSANS()
        # SetSampleDetectorOffset(837.9)
        SetSampleDetectorDistance(6837.9)
        # SolidAngle() # name clash with SolidAngle algorithm
        MonitorNormalization()
        AzimuthalAverage(n_bins=100, n_subpix=1, log_binning=True)
        # IQxQy(nbins=100)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        SensitivityCorrection('BioSANS_flood_data.xml', min_sensitivity=0.5, max_sensitivity=1.5,
                              dark_current='BioSANS_empty_trans.xml', use_sample_dc=False)
        DivideByThickness(1)
        SetTransmission(1, 0)
        ThetaDependentTransmission(True)
        DataPath(TEST_DIR)
        AppendDataFile(["BioSANS_exp61_scan0004_0001.xml"])
        Background("BioSANS_test_data.xml")
        SetBckTransmission(1, 0)
        BckThetaDependentTransmission(True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_exp61_scan0004_0001_Iq")
        res = ws.dataY(0)
        for i in range(len(res)):
            self._assertAlmostEqual(res[i], ref[i], delta=0.01,
                                    rel_delta=0.001,
                                    msg="result point %d: %g, found %g" % (i, ref[i], res[i]))
Exemple #19
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     SetSampleDetectorDistance(6000)
     DirectBeamCenter("BioSANS_empty_cell.xml")
     TimeNormalization()
     BeamSpreaderTransmission(sample_spreader="BioSANS_test_data.xml",
                              direct_spreader="BioSANS_empty_cell.xml",
                              sample_scattering="BioSANS_test_data.xml",
                              direct_scattering="BioSANS_empty_cell.xml",
                              spreader_transmission=0.5,
                              spreader_transmission_err=0.1)
     SetTransmissionBeamCenter(16.389123399465063, 95.530251864359087)
     AzimuthalAverage(binning="0.01,0.001,0.11")
     AppendDataFile("BioSANS_test_data.xml")
     Reduce1D()
Exemple #20
0
 def runTest(self):
     """
         System test for sensitivity correction
     """
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     DataPath(self._work_dir)
     SetSampleDetectorDistance(6000)
     DirectBeamCenter("BioSANS_empty_cell.xml")
     AppendDataFile("BioSANS_test_data.xml")
     SetTransmission(0.51944, 0.011078)
     SensitivityCorrection("BioSANS_flood_data.xml",
                           dark_current="BioSANS_dark_current.xml")
     SensitivityScatteringBeamCenter("BioSANS_test_data.xml")
     AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
     Reduce1D()
Exemple #21
0
    def test_background(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        SetBeamCenter(16, 95)
        AppendDataFile("BioSANS_test_data.xml")
        SensitivityCorrection("BioSANS_flood_data.xml",
                              dark_current="BioSANS_dark_current.xml")
        DarkCurrent("BioSANS_dark_current.xml")
        Background("BioSANS_test_data.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        data = ws.dataY(0)
        self.assertAlmostEqual(data[0], 0.0, 10)
        self.assertAlmostEqual(data[10], 0.0, 10)
        self.assertAlmostEqual(data[20], 0.0, 10)
Exemple #22
0
 def runTest(self):
     configI = ConfigService.Instance()
     configI["facilityName"] = 'HFIR'
     GPSANS()
     DataPath(self._work_dir)
     SetSampleDetectorDistance(6000)
     DirectBeamCenter("BioSANS_empty_cell.xml")
     TimeNormalization()
     BeamSpreaderTransmission(sample_spreader="BioSANS_test_data.xml",
                              direct_spreader="BioSANS_empty_cell.xml",
                              sample_scattering="BioSANS_test_data.xml",
                              direct_scattering="BioSANS_empty_cell.xml",
                              spreader_transmission=0.5,
                              spreader_transmission_err=0.1)
     TransmissionDarkCurrent("BioSANS_dark_current.xml")
     AzimuthalAverage(binning="0.01,0.001,0.11")
     AppendDataFile("BioSANS_test_data.xml")
     Reduce1D()
Exemple #23
0
    def test_bck_transmission_set_beam_center(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml", "test_data")
        DarkCurrent("BioSANS_dark_current.xml")
        Background("BioSANS_test_data.xml")
        SetTransmission(0.6, 0.1)
        BckDirectBeamTransmission(sample_file="BioSANS_sample_trans.xml", empty_file="BioSANS_empty_trans.xml",
                                  beam_radius=10.0)
        SetBckTransmissionBeamCenter(100, 15)
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        data = mtd["test_data_Iq"].dataY(0)
        self.assertAlmostEqual(data[0], 0.1787709, delta=0.00001)
        self.assertAlmostEqual(data[10], 0.1801518, delta=0.00001)
        self.assertAlmostEqual(data[20], 0.1738586, delta=0.00001)
Exemple #24
0
    def test_bck_transmission_default_beam_center(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml", "test_data")
        DarkCurrent("BioSANS_dark_current.xml")
        Background("BioSANS_test_data.xml")
        SetTransmission(0.6, 0.1)
        BckDirectBeamTransmission(sample_file="BioSANS_sample_trans.xml", empty_file="BioSANS_empty_trans.xml",
                                  beam_radius=10.0)
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("test_data_Iq")
        data = ws.dataY(0)
        self.assertAlmostEqual(data[0], -0.0682723, delta=0.00001)
        self.assertAlmostEqual(data[10], -0.068800, delta=0.00001)
        self.assertAlmostEqual(data[20], -0.066403, delta=0.00001)
Exemple #25
0
    def test_spreader_transmission(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        BeamSpreaderTransmission(sample_spreader="BioSANS_test_data.xml",
                                 direct_spreader="BioSANS_empty_cell.xml",
                                 sample_scattering="BioSANS_test_data.xml",
                                 direct_scattering="BioSANS_empty_cell.xml",
                                 spreader_transmission=0.5,
                                 spreader_transmission_err=0.1)

        AppendDataFile("BioSANS_test_data.xml")
        Reduce1D()

        data = mtd["BioSANS_test_data_Iq"].dataY(0)
        self.assertAlmostEqual(data[0], 0.00418831, delta=0.00001)
        self.assertAlmostEqual(data[10], 0.0042193, delta=0.00001)
Exemple #26
0
    def test_to_steps(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml")
        DarkCurrent("BioSANS_dark_current.xml")
        SensitivityCorrection("BioSANS_flood_data.xml",
                              dark_current="BioSANS_dark_current.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data")
        sdd = ws.getRun().getProperty("sample_detector_distance").value
        self.assertEqual(sdd, 6000.0)

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        self.assertTrue(_check_result(
            ws, TEST_DIR + "reduced_center_calculated.txt", tolerance=1e-4))
Exemple #27
0
    def test_direct_beam_center(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml")
        Reduce()

        ws = AnalysisDataService.retrieve("BioSANS_test_data")
        center_x = ws.getRun().getProperty("beam_center_x").value
        center_y = ws.getRun().getProperty("beam_center_y").value
        self.assertAlmostEqual(center_x, 16.6038, delta=0.0001)
        self.assertAlmostEqual(center_y, 96.771, delta=0.0001)

        propmng_name = ReductionSingleton().get_reduction_table_name()
        p = PropertyManagerDataService.retrieve(propmng_name)
        center_x = p.getProperty("LatestBeamCenterX").value
        center_y = p.getProperty("LatestBeamCenterY").value
        self.assertAlmostEqual(center_x, 16.6038, delta=0.0001)
        self.assertAlmostEqual(center_y, 96.771, delta=0.0001)
Exemple #28
0
    def test_transmission_beam_center(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml", "test_data")
        SensitivityCorrection("BioSANS_flood_data.xml",
                              dark_current="BioSANS_dark_current.xml")
        DarkCurrent("BioSANS_dark_current.xml")
        DirectBeamTransmission(sample_file="BioSANS_sample_trans.xml",
                               empty_file="BioSANS_empty_trans.xml",
                               beam_radius=10.0)
        SetTransmissionBeamCenter(100, 15)
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("test_data_Iq")
        data = ws.dataY(0)
        self.assertAlmostEqual(data[0], 0.195821, delta=0.00001)
        self.assertAlmostEqual(data[10], 0.256210, delta=0.00001)
        self.assertAlmostEqual(data[20], 0.257666, delta=0.00001)
Exemple #29
0
    def test_background_multiple_files(self):
        """
            Subtracting background using multiple files should properly take
            into account the normalization.
        """
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        SetBeamCenter(16, 95)
        AppendDataFile("BioSANS_test_data.xml")
        SensitivityCorrection("BioSANS_flood_data.xml",
                              dark_current="BioSANS_dark_current.xml")
        DarkCurrent("BioSANS_dark_current.xml")
        Background("BioSANS_test_data.xml")
        Background("BioSANS_test_data.xml,BioSANS_test_data.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        data = ws.dataY(0)
        self.assertAlmostEqual(data[0], 0.0, 10)
        self.assertAlmostEqual(data[10], 0.0, 10)
        self.assertAlmostEqual(data[20], 0.0, 10)
Exemple #30
0
    def test_reduction_2(self):
        GPSANS()
        SetSampleDetectorDistance(6000)
        DataPath(TEST_DIR)
        DirectBeamCenter("BioSANS_empty_cell.xml")
        AppendDataFile("BioSANS_test_data.xml")
        DarkCurrent("BioSANS_dark_current.xml")
        AzimuthalAverage(binning="0.01,0.001,0.11", error_weighting=True)
        Reduce1D()

        ws = AnalysisDataService.retrieve("BioSANS_test_data_Iq")
        data = ws.dataY(0)
        check = [0.268942, 0.272052, 0.269806, 0.27129, 0.273852,
                 0.271301, 0.271732, 0.271103, 0.270996, 0.269677,
                 0.27098, 0.266802, 0.26789, 0.268222, 0.266125,
                 0.262736, 0.262752, 0.263827, 0.26315, 0.262775,
                 0.261541, 0.260818, 0.258955, 0.257675, 0.255908,
                 0.254088, 0.256778, 0.256883, 0.253568, 0.25636,
                 0.252323, 0.251833, 0.251914, 0.252298, 0.249375,
                 0.247718, 0.247768, 0.244636, 0.245604, 0.243996,
                 0.244332, 0.244363, 0.242985, 0.242234, 0.241118,
                 0.241411, 0.24084, 0.239293, 0.2392, 0.236565,
                 0.234557, 0.233974, 0.232905, 0.231898, 0.231085,
                 0.229586, 0.22862, 0.227001, 0.226783, 0.225837,
                 0.224835, 0.223807, 0.222296, 0.221557, 0.220464,
                 0.219139, 0.217611, 0.217049, 0.21606, 0.215739,
                 0.216233, 0.213467, 0.213141, 0.213275, 0.219695,
                 0.216121, 0.215502, 0.21792, 0.209364, 0.209368,
                 0.2064, 0.205844, 0.20431, 0.203443, 0.202442,
                 0.200195, 0.199408, 0.19853, 0.195654,
                 0.195514, 0.193086, 0.193388, 0.19137,
                 0.190122, 0.189119, 0.18864, 0.185473,
                 0.184958, 0.183981, 0.182581]

        deltas = list(map(_diff_iq, data, check))
        delta = reduce(_add, deltas) / len(deltas)
        self.assertLess(math.fabs(delta), 0.00001)