diff --git a/pylinac/winston_lutz.py b/pylinac/winston_lutz.py index 0b49cc6cc..dd87ed57b 100644 --- a/pylinac/winston_lutz.py +++ b/pylinac/winston_lutz.py @@ -540,6 +540,20 @@ def results(self, as_list: bool=False) -> str: if not as_list: result = '\n'.join(result) return result + + def results_data(self): + """Return the analysis results as a dictionary.""" + return_dict = {} + return_dict['cax2bb max'] = self.cax2bb_distance('max') + return_dict['cax2bb median'] = self.cax2bb_distance('median') + return_dict['coll iso size'] = self.collimator_iso_size + return_dict['couch iso size'] = self.couch_iso_size + return_dict['gantry iso size'] = self.gantry_iso_size + return_dict['gantry coll iso size'] = self.gantry_coll_iso_size + return_dict['MechRad x'] = self.bb_shift_vector.x + return_dict['MechRad y'] = self.bb_shift_vector.y + return_dict['MechRad z'] = self.bb_shift_vector.z + return return_dict def publish_pdf(self, filename: str, notes: Optional[Union[str, List[str]]]=None, open_file: bool=False, metadata: Optional[dict]=None): """Publish (print) a PDF containing the analysis, images, and quantitative results. diff --git a/tests_basic/test_winstonlutz.py b/tests_basic/test_winstonlutz.py index 4dac8ed69..0f40ba962 100644 --- a/tests_basic/test_winstonlutz.py +++ b/tests_basic/test_winstonlutz.py @@ -49,6 +49,10 @@ def test_bb_shift_instructions(self): self.assertTrue("RIGHT" in move) self.assertTrue("VRT" in move) + def test_results_data(self): + self.assertTrue(bool(self.wl.results_data())) # empty dictionaries evaluate to false + + class TestPublishPDF(TestCase):