本文整理汇总了Python中xia2.Handlers.Flags.Flags.get_isigma方法的典型用法代码示例。如果您正苦于以下问题:Python Flags.get_isigma方法的具体用法?Python Flags.get_isigma怎么用?Python Flags.get_isigma使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xia2.Handlers.Flags.Flags
的用法示例。
在下文中一共展示了Flags.get_isigma方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: resolution_unmerged_isigma
# 需要导入模块: from xia2.Handlers.Flags import Flags [as 别名]
# 或者: from xia2.Handlers.Flags.Flags import get_isigma [as 别名]
def resolution_unmerged_isigma(self, limit = None, log = None):
'''Compute a resolution limit where either I/sigma = 1.0 (limit if
set) or the full extent of the data.'''
if limit is None:
limit = Flags.get_isigma()
bins, ranges = self.get_resolution_bins()
isigma_s = get_positive_values(
[self.calculate_unmerged_isigma(bin) for bin in bins])
s_s = [1.0 / (r[0] * r[0]) for r in ranges][:len(isigma_s)]
if min(isigma_s) > limit:
return 1.0 / math.sqrt(max(s_s))
isigma_f = log_fit(s_s, isigma_s, 6)
if log:
fout = open(log, 'w')
for j, s in enumerate(s_s):
d = 1.0 / math.sqrt(s)
o = isigma_s[j]
m = isigma_f[j]
fout.write('%f %f %f %f\n' % (s, d, o, m))
fout.close()
try:
r_isigma = 1.0 / math.sqrt(interpolate_value(s_s, isigma_f, limit))
except:
r_isigma = 1.0 / math.sqrt(max(s_s))
return r_isigma
示例2: new_resolution_unmerged_isigma
# 需要导入模块: from xia2.Handlers.Flags import Flags [as 别名]
# 或者: from xia2.Handlers.Flags.Flags import get_isigma [as 别名]
def new_resolution_unmerged_isigma(self, limit = None, log = None):
'''Compute a resolution limit where either I/sigma = 1.0 (limit if
set) or the full extent of the data.'''
if limit is None:
limit = Flags.get_isigma()
bins, ranges = self.get_resolution_bins()
isigma_s = get_positive_values(
[self.calculate_unmerged_isigma(bin) for bin in bins])
s_s = [1.0 / (r[0] * r[0]) for r in ranges][:len(isigma_s)]
if min(isigma_s) > limit:
return 1.0 / math.sqrt(max(s_s))
for _l, s in enumerate(isigma_s):
if s < limit:
break
if _l > 10 and _l < (len(isigma_s) - 10):
start = _l - 10
end = _l + 10
elif _l <= 10:
start = 0
end = 20
elif _l >= (len(isigma_s) - 10):
start = -20
end = -1
_s_s = s_s[start:end]
_isigma_s = isigma_s[start:end]
_isigma_f = log_fit(_s_s, _isigma_s, 3)
if log:
fout = open(log, 'w')
for j, s in enumerate(_s_s):
d = 1.0 / math.sqrt(s)
o = _isigma_s[j]
m = _isigma_f[j]
fout.write('%f %f %f %f\n' % (s, d, o, m))
fout.close()
try:
r_isigma = 1.0 / math.sqrt(interpolate_value(_s_s, _isigma_f,
limit))
except:
r_isigma = 1.0 / math.sqrt(max(_s_s))
return r_isigma