def process(self, obj, reprocess_quality_flag=True, quality_control_mode=QUALITY_CONTROL_MODE_ANALYZE_AND_APPLY, arguments=None): try: import _radvol, rave_radvol_realtime rpars = rave_radvol_realtime.get_options(obj) if should_perform_qc_process(reprocess_quality_flag, obj, "pl.imgw.radvolqc.broad"): _radvol.broadAssessment(obj, rpars) except: logger.exception("Failure during radvol processing") return obj, self.getQualityFields()
def testWrongAttInput(self): if not _rave.isXmlSupported(): return import _radvol, rave_radvol_realtime vertical_profile = _raveio.open(self.BADINPUT).object rpars = rave_radvol_realtime.get_options(vertical_profile) try: status = _radvol.attCorrection(vertical_profile, rpars) except AttributeError: self.assertTrue(True)
def testRadvolNmetRemoval(self): if not _rave.isXmlSupported(): return import _radvol, rave_radvol_realtime pvol = _raveio.open(self.FIXNMET).object rpars = rave_radvol_realtime.get_options(pvol) status = _radvol.nmetRemoval(pvol, rpars) self.assertTrue(status) ref = _raveio.open(self.FIXNMETC).object myscan = pvol.getScan(0) refscan = ref.getScan(0) qf, task_args = None, None try: qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.nmet") task_args = qf.getAttribute("how/task_args") except: pass self.assertNotEqual(qf, None) self.assertEqual( task_args, "NMET: NMET_QI=0.75, NMET_QIUn=0.30, NMET_AReflMin=-15.00, NMET_AReflMax= 5.00, NMET_AAltMin= 1.0, NMET_AAltMax= 3.0, NMET_ADet=0.30, NMET_BAlt=20.0" ) self.assertFalse(different(myscan, refscan))
def testRadvolBroadAssessment(self): if not _rave.isXmlSupported(): return import _radvol, rave_radvol_realtime pvol = _raveio.open(self.FIXBROAD).object rpars = rave_radvol_realtime.get_options(pvol) status = _radvol.broadAssessment(pvol, rpars) self.assertTrue(status) ref = _raveio.open(self.FIXBROADC).object myscan = pvol.getScan(0) refscan = ref.getScan(0) qf, task_args = None, None try: qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.broad") task_args = qf.getAttribute("how/task_args") except: pass self.assertNotEqual(qf, None) self.assertEqual( task_args, "BROAD: BROAD_LhQI1=1.1, BROAD_LhQI0=2.5, BROAD_LvQI1=1.6, BROAD_LvQI0=4.3, BROAD_Pulse=0.30" ) self.assertFalse(different(myscan, refscan))
def testRadvolAttCorrection(self): if not _rave.isXmlSupported(): return import _radvol, rave_radvol_realtime pvol = _raveio.open(self.FIXATT).object rpars = rave_radvol_realtime.get_options(pvol) status = _radvol.attCorrection(pvol, rpars) self.assertTrue(status) ref = _raveio.open(self.FIXATTC).object myscan = pvol.getScan(0) refscan = ref.getScan(0) qf, task_args = None, None try: qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.att") task_args = qf.getAttribute("how/task_args") except: pass self.assertNotEqual(qf, None) self.assertEqual( task_args, "ATT: ATT_QI1=1.0, ATT_QI0=5.0, ATT_QIUn=0.9, ATT_a= 0.0044, ATT_b= 1.17, ATT_ZRa=200.0, ATT_ZRb= 1.6, ATT_Refl= 4.0, ATT_Last= 1.0, ATT_Sum= 5.0" ) self.assertFalse(different(myscan, refscan))
def testRadvolSpikeRemoval(self): if not _rave.isXmlSupported(): return import _radvol, rave_radvol_realtime pvol = _raveio.open(self.FIXSPIKE).object rpars = rave_radvol_realtime.get_options(pvol) status = _radvol.spikeRemoval(pvol, rpars) self.assertTrue(status) ref = _raveio.open(self.FIXSPIKEC).object myscan = pvol.getScan(0) refscan = ref.getScan(0) qf, task_args = None, None try: qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.spike") task_args = qf.getAttribute("how/task_args") except: pass self.assertNotEqual(qf, None) self.assertEqual( task_args, "SPIKE: SPIKE_QI=0.5, SPIKE_QIUn=0.3, SPIKE_ACovFrac=0.9, SPIKE_AAzim=3, SPIKE_AVarAzim= 1000.0, SPIKE_ABeam=15, SPIKE_AVarBeam=5.0, SPIKE_AFrac=0.45, SPIKE_BDiff=10.0, SPIKE_BAzim=3, SPIKE_BFrac=0.25" ) self.assertFalse(different(myscan, refscan))
def testRadvolSpeckRemoval(self): if not _rave.isXmlSupported(): return import _radvol, rave_radvol_realtime pvol = _raveio.open(self.FIXSPECK).object rpars = rave_radvol_realtime.get_options(pvol) status = _radvol.speckRemoval(pvol, rpars) self.assertTrue(status) ref = _raveio.open(self.FIXSPECKC).object myscan = pvol.getScan(0) refscan = ref.getScan(0) qf, task_args = None, None try: qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.speck") task_args = qf.getAttribute("how/task_args") except: pass self.assertNotEqual(qf, None) self.assertEqual( task_args, "SPECK: SPECK_QI=0.9, SPECK_QIUn=0.5, SPECK_AGrid=1, SPECK_ANum=2, SPECK_AStep=1, SPECK_BGrid=1, SPECK_BNum=2, SPECK_BStep=2" ) self.assertFalse(different(myscan, refscan))