def wrapper(*args, **kwargs): result = None try: result = innerMethod(*args, **kwargs) except Exception, e: showException()
def tick(self): try: self.__handler() except Exception: showException() self.__timer = None runOnMainThread(self.delayedSyncState)
def invoker(): try: fn(*args, **kwargs) except Exception: showException()
def GuessClass(): # doesn't function well with mixed-range probes # probably breaks horribly with >4 probes as well! sr = sm.services.get("scanSvc").GetScanResults() pd = sm.services.get("scanSvc").GetProbeData() probepos = {} probestep = {} sensor = GetSensorStrength() / 100 def dist(a, b): return sqrt(pow((a[0] - b[0]), 2) + pow((a[1] - b[1]), 2) + pow((a[2] - b[2]), 2)) for key in pd: probepos[key] = pd[key].pos probestep[key] = pd[key].rangeStep # selected = sm.services.get('window', None).GetWindow('scanner').sr.resultscroll.GetSelected() try: selected = sm.services.get("window", None).GetWindow("scanner").sr.resultscroll.GetNodes()[1] if selected.result: data = selected.result.data else: return except: showException() return if isinstance(data, float): data = selected.result.pos if not isinstance(data, Vector3): data = data.point probehits = selected.result.probeID if not isinstance(probehits, long): numprobes = len(probehits) else: numprobes = 1 sumstr = 0 if numprobes > 3: for probeval in probehits: range = 0.125 * pow(2, probestep[key]) sumstr += exp(-0.915 * pow(dist(probepos[probeval], data) / (range * 149598000000), 2)) # log("sum of probe strengths: %s", sumstr) intrinsic = selected.result.certainty * 2 * 100 * 2 / (sensor * sumstr) log("intrinsic core: %s", intrinsic) elif numprobes > 2: for probeval in probehits: range = 0.125 * pow(2, probestep[key]) sumstr += exp(-0.915 * pow(dist(probepos[probeval], data) / (range * 149598000000), 2)) # log("sum of probe strengths: %s", sumstr) intrinsic = selected.result.certainty * numprobes * 100 * 2 / (sensor * sumstr) log("intrinsic core: %s", intrinsic) elif numprobes > 1: for probeval in probehits: range = 0.125 * pow(2, probestep[key]) sumstr += exp(-0.915 * pow(dist(probepos[probeval], data) / (range * 149598000000), 2)) # log("sum of probe strengths: %s", sumstr) intrinsic = selected.result.certainty * 100 * 2 / (sensor * sumstr) log("intrinsic core: %s", intrinsic) else: range = 0.125 * pow(2, probestep[key]) sumstr = exp(-0.915 * pow(selected.result.data / (range * 149598000000), 2)) intrinsic = selected.result.certainty * 100 * 2 / (sensor * sumstr) # log("sum of probe strengths: %s", sumstr) log("intrinsic core: %s", intrinsic) siteclass = 0 if (intrinsic > 1.8) or (intrinsic < 1.7): siteclass += round(math.log(intrinsic, 2) + 1, 1) else: siteclass += 1.5 log("Site Class: %s", siteclass)
def GuessClass(): # doesn't function well with mixed-range probes # probably breaks horribly with >4 probes as well! sr = sm.services.get('scanSvc').GetScanResults() pd = sm.services.get('scanSvc').GetProbeData() probepos = {} probestep = {} sensor = GetSensorStrength() / 100 def dist(a, b): return sqrt( pow((a[0] - b[0]), 2) + pow((a[1] - b[1]), 2) + pow((a[2] - b[2]), 2)) for key in pd: probepos[key] = pd[key].pos probestep[key] = pd[key].rangeStep #selected = sm.services.get('window', None).GetWindow('scanner').sr.resultscroll.GetSelected() try: selected = sm.services.get( 'window', None).GetWindow('scanner').sr.resultscroll.GetNodes()[1] if selected.result: data = selected.result.data else: return except: showException() return if isinstance(data, float): data = selected.result.pos if not isinstance(data, Vector3): data = data.point probehits = selected.result.probeID if not isinstance(probehits, long): numprobes = len(probehits) else: numprobes = 1 sumstr = 0 if numprobes > 3: for probeval in probehits: range = 0.125 * pow(2, probestep[key]) sumstr += exp(-0.915 * pow( dist(probepos[probeval], data) / (range * 149598000000), 2)) #log("sum of probe strengths: %s", sumstr) intrinsic = selected.result.certainty * 2 * 100 * 2 / (sensor * sumstr) log("intrinsic core: %s", intrinsic) elif numprobes > 2: for probeval in probehits: range = 0.125 * pow(2, probestep[key]) sumstr += exp(-0.915 * pow( dist(probepos[probeval], data) / (range * 149598000000), 2)) #log("sum of probe strengths: %s", sumstr) intrinsic = selected.result.certainty * numprobes * 100 * 2 / (sensor * sumstr) log("intrinsic core: %s", intrinsic) elif numprobes > 1: for probeval in probehits: range = 0.125 * pow(2, probestep[key]) sumstr += exp(-0.915 * pow( dist(probepos[probeval], data) / (range * 149598000000), 2)) #log("sum of probe strengths: %s", sumstr) intrinsic = selected.result.certainty * 100 * 2 / (sensor * sumstr) log("intrinsic core: %s", intrinsic) else: range = 0.125 * pow(2, probestep[key]) sumstr = exp(-0.915 * pow(selected.result.data / (range * 149598000000), 2)) intrinsic = selected.result.certainty * 100 * 2 / (sensor * sumstr) #log("sum of probe strengths: %s", sumstr) log("intrinsic core: %s", intrinsic) siteclass = 0 if (intrinsic > 1.8) or (intrinsic < 1.7): siteclass += round(math.log(intrinsic, 2) + 1, 1) else: siteclass += 1.5 log("Site Class: %s", siteclass)