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()
Exemple #2
0
 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)
Exemple #3
0
 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))
Exemple #4
0
 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))
Exemple #5
0
 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))
Exemple #6
0
 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))
Exemple #7
0
 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))