예제 #1
0
class TestTlogFluence(TestCase):

    def setUp(self):
        self.log = MachineLog()
        self.log.load_demo_trajectorylog()

    def test_fluence(self):
        fluence = self.log.fluence
        fluence.gamma.calc_map()
        self.assertAlmostEqual(fluence.gamma.pass_prcnt, 100, delta=0.1)
        self.assertAlmostEqual(fluence.gamma.avg_gamma, 0.001, delta=0.005)
        self.assertAlmostEqual(fluence.gamma.histogram()[0][0], 240000, delta=100)

    def test_plotting(self):
        # raise error if map hasn't yet been calc'ed.
        with self.assertRaises(AttributeError):
            self.log.fluence.actual.plot_map()

        self.log.fluence.actual.calc_map()
        self.log.fluence.actual.plot_map()

    def test_saving_plots(self):
        self.log.fluence.gamma.calc_map()
        save_file('test.png', self.log.fluence.gamma.save_map)

    def test_subbeam_data(self):
        """Test accessing the subbeam data."""
        expected_vals = [310, 180, 3.7, 3.4, 3.8, 3.9]
        for item, expval in zip(('gantry_angle', 'collimator_angle', 'jaw_x1', 'jaw_x2', 'jaw_y1', 'jaw_y2'), expected_vals):
            val = getattr(self.log.subbeams[0], item)
            self.assertAlmostEqual(val.actual, expval, delta=0.1)
예제 #2
0
    def test_mlc(self):
        mlc = self.log.axis_data.mlc
        self.assertTrue(mlc.hdmlc)
        self.assertEqual(mlc.num_leaves, 120)
        self.assertEqual(mlc.num_pairs, 60)
        self.assertEqual(mlc.num_snapshots, 1021)

        log_no_exclusion = MachineLog()
        log_no_exclusion.load_demo_trajectorylog(exclude_beam_off=False)
        self.assertEqual(log_no_exclusion.axis_data.mlc.num_snapshots, 5200)
예제 #3
0
class Test_Tlog_Fluence(TestCase):
    def setUp(self):
        self.log = MachineLog()
        self.log.load_demo_trajectorylog()

    def test_fluence(self):
        fluence = self.log.fluence
        fluence.gamma.calc_map()
        self.assertAlmostEqual(fluence.gamma.pass_prcnt, 100, delta=0.1)
        self.assertAlmostEqual(fluence.gamma.avg_gamma, 0.001, delta=0.005)
        self.assertAlmostEqual(fluence.gamma.histogram()[0][0], 240000, delta=100)