def calculate_quality(self): """ Do the quality calulations """ for imult in range(self.nmult): self.var_avg[imult] = (self.var_est[0, imult] + self.var_est[1, imult]) / 2. #print 'cid = {0} {1} mech = {2} {3} {4}'.format(self.icusp, imult, self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult]) # find misfit for prefered solution self.mfrac[imult], self.stdr[imult] = get_misf( self.p_azi_mc[:self.npol, 0], self.p_the_mc[:self.npol, 0], self.p_pol[:self.npol], self.p_qual[:self.npol], self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult], self.npol) # npol # HASH default solution quality rating if ((self.prob[imult] > 0.8) and (self.var_avg[imult] < 25) and (self.mfrac[imult] <= 0.15) and (self.stdr[imult] >= 0.5)): self.qual[imult] = 'A' elif ((self.prob[imult] > 0.6) and (self.var_avg[imult] <= 35) and (self.mfrac[imult] <= 0.2) and (self.stdr[imult] >= 0.4)): self.qual[imult] = 'B' elif ((self.prob[imult] > 0.5) and (self.var_avg[imult] <= 45) and (self.mfrac[imult] <= 0.3) and (self.stdr[imult] >= 0.3)): self.qual[imult] = 'C' else: self.qual[imult] = 'D'
def calculate_quality(self, use_amplitudes=False): """ Do the quality calulations """ for imult in range(self.nmult): self.var_avg[imult] = ( self.var_est[0, imult] + self.var_est[1, imult] ) / 2.0 if use_amplitudes: self.mfrac[imult], self.mavg[imult], self.stdr[imult] = get_misf_amp( self.p_azi_mc[: self.npol, 0], self.p_the_mc[: self.npol, 0], self.sp_ratio[: self.npol], self.p_pol[: self.npol], self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult], self.npol, ) # npol else: # find misfit for prefered solution self.mfrac[imult], self.stdr[imult] = get_misf( self.p_azi_mc[: self.npol, 0], self.p_the_mc[: self.npol, 0], self.p_pol[: self.npol], self.p_qual[: self.npol], self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult], self.npol, ) # npol # HASH default solution quality rating if ( (self.prob[imult] > 0.8) and (self.var_avg[imult] < 25) and (self.mfrac[imult] <= 0.15) and (self.stdr[imult] >= 0.5) ): self.qual[imult] = "A" elif ( (self.prob[imult] > 0.6) and (self.var_avg[imult] <= 35) and (self.mfrac[imult] <= 0.2) and (self.stdr[imult] >= 0.4) ): self.qual[imult] = "B" elif ( (self.prob[imult] > 0.5) and (self.var_avg[imult] <= 45) and (self.mfrac[imult] <= 0.3) and (self.stdr[imult] >= 0.3) ): self.qual[imult] = "C" else: self.qual[imult] = "D"
def calculate_quality(self): """ Do the quality calulations """ for imult in range(self.nmult): self.var_avg[imult] = (self.var_est[0,imult] + self.var_est[1,imult]) / 2. #print 'cid = {0} {1} mech = {2} {3} {4}'.format(self.icusp, imult, self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult]) # find misfit for prefered solution self.mfrac[imult], self.stdr[imult] = get_misf(self.p_azi_mc[:self.npol,0], self.p_the_mc[:self.npol,0], self.p_pol[:self.npol], self.p_qual[:self.npol], self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult], self.npol) # npol # HASH default solution quality rating if ((self.prob[imult] > 0.8) and (self.var_avg[imult] < 25) and (self.mfrac[imult] <= 0.15) and (self.stdr[imult] >= 0.5)): self.qual[imult]='A' elif ((self.prob[imult] > 0.6) and (self.var_avg[imult] <= 35) and (self.mfrac[imult] <= 0.2) and (self.stdr[imult] >= 0.4)): self.qual[imult]='B' elif ((self.prob[imult] > 0.5) and (self.var_avg[imult] <= 45) and (self.mfrac[imult] <= 0.3) and (self.stdr[imult] >= 0.3)): self.qual[imult]='C' else: self.qual[imult]='D'