Example #1
0
 def test_init(self):
     """Test BeamImage creation."""
     # test without file passed
     b = BeamImage()
     # test with file passed
     demo_file = osp.join(osp.dirname(osp.dirname(__file__)), 'pylinac', 'demo_files', 'flatsym', 'flatsym_demo.dcm')
     b = BeamImage(demo_file)
Example #2
0
    def test_plot_flatsym(self):
        """Test that plots work as expected."""
        img = BeamImage()
        img.load_demo_image()

        img.plot_flatsym()
        img.plot_flatsym(plane='x')
        img.plot_flatsym(plane='in')
Example #3
0
 def AnalyseImage(self):
         Img=BeamImage(self.CurFile)
         self.CurFlatX=abs(Img.flatness(plane='both')[0])
         self.CurFlatY=abs(Img.flatness(plane='both')[1])
         self.CurSymX=abs(Img.symmetry(plane='both')[0])
         self.CurSymY=abs(Img.symmetry(plane='both')[1])
         self.CurOutput=1.0
         self.ColorResults()
Example #4
0
    def test_symmetry(self):
        """Test symmetry values"""
        img = BeamImage()
        img.load_demo_image()

        self.assertAlmostEqual(img.symmetry('x'), 3.08, delta=0.05)
        self.assertAlmostEqual(img.symmetry('x', method='elekta'), 103.1, delta=0.5)
        self.assertAlmostEqual(img.symmetry('in'), 2.55, delta=0.02)
        self.assertAlmostEqual(img.symmetry('both')[0], 3.08, delta=0.05)
        self.assertAlmostEqual(img.symmetry('both')[1], 2.55, delta=0.02)
        self.assertRaises(ValueError, img.symmetry, method='varen')
Example #5
0
    def test_flatness(self):
        """Test flatness values"""
        img = BeamImage()
        img.load_demo_image()

        self.assertAlmostEqual(img.flatness('x'), 1.91, delta=0.03)
        self.assertAlmostEqual(img.flatness('in'), 1.60, delta=0.03)
        self.assertAlmostEqual(img.flatness('x', method='elekta'), 103.9, delta=0.1)
        self.assertAlmostEqual(img.flatness('both')[0], 1.91, delta=0.03)
        self.assertAlmostEqual(img.flatness('both')[1], 1.60, delta=0.03)
        self.assertRaises(ValueError, img.flatness, method='varen')
Example #6
0
    def test_get_profile(self):
        """Test various inputs for _get_profile()."""
        b = BeamImage()
        self.assertRaises(AttributeError, b._get_profile, 'x', 'auto')

        # test output type
        self.assertIsInstance(self.img._get_profile('x', 'auto'), SingleProfile)

        # test axes
        for axis in ('crossplane', 'cross', 'x', 'inplane', 'in'):
            self.img._get_profile(axis, 'auto')

        # self.assertRaises(ValueError, self.img._get_profile, 'notaplane', 'auto')

        # make sure extraction is along correct axis
        size_xplane = 1024
        prof = self.img._get_profile('x', 'auto')
        self.assertEqual(prof.values.size, size_xplane)

        size_yplane = 768
        prof = self.img._get_profile('in', 'auto')
        self.assertEqual(prof.values.size, size_yplane)
Example #7
0
 def setUp(self):
     self.img = BeamImage()
     self.img.load_demo_image()
Example #8
0
 def test_analyze_wo_img(self):
     b = BeamImage()
     self.assertRaises(AttributeError, b.flatness)
Example #9
0
 def test_run_demo(self):
     """Test that running the demo works without error."""
     BeamImage().run_demo()
Example #10
0
 def test_img_is_loaded(self):
     """Test image is loaded property."""
     b = BeamImage()
     self.assertFalse(b._img_is_loaded)
     b.load_demo_image()
     self.assertTrue(b._img_is_loaded)
Example #11
0
 def test_demo_loads_properly(self):
     """Loading the demo shouldn't raise an error"""
     b = BeamImage()
     b.load_demo_image()