当前位置: 首页>>代码示例>>Python>>正文


Python Flags.get_misigma方法代码示例

本文整理汇总了Python中xia2.Handlers.Flags.Flags.get_misigma方法的典型用法代码示例。如果您正苦于以下问题:Python Flags.get_misigma方法的具体用法?Python Flags.get_misigma怎么用?Python Flags.get_misigma使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xia2.Handlers.Flags.Flags的用法示例。


在下文中一共展示了Flags.get_misigma方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: resolution_merged_isigma

# 需要导入模块: from xia2.Handlers.Flags import Flags [as 别名]
# 或者: from xia2.Handlers.Flags.Flags import get_misigma [as 别名]
  def resolution_merged_isigma(self, limit = None, log = None):
    '''Compute a resolution limit where either Mn(I/sigma) = 1.0 (limit if
    set) or the full extent of the data.'''

    if limit is None:
      limit = Flags.get_misigma()

    bins, ranges = self.get_resolution_bins()

    misigma_s = get_positive_values(
        [self.calculate_merged_isigma(bin) for bin in bins])
    s_s = [1.0 / (r[0] * r[0]) for r in ranges][:len(misigma_s)]

    if min(misigma_s) > limit:
      return 1.0 / math.sqrt(max(s_s))

    misigma_f = log_fit(s_s, misigma_s, 6)

    if log:
      fout = open(log, 'w')
      for j, s in enumerate(s_s):
        d = 1.0 / math.sqrt(s)
        o = misigma_s[j]
        m = misigma_f[j]
        fout.write('%f %f %f %f\n' % (s, d, o, m))
      fout.close()

    try:
      r_misigma = 1.0 / math.sqrt(
          interpolate_value(s_s, misigma_f, limit))
    except:
      r_misigma = 1.0 / math.sqrt(max(s_s))

    return r_misigma
开发者ID:xia2,项目名称:xia2,代码行数:36,代码来源:Merger.py

示例2: new_resolution_merged_isigma

# 需要导入模块: from xia2.Handlers.Flags import Flags [as 别名]
# 或者: from xia2.Handlers.Flags.Flags import get_misigma [as 别名]
  def new_resolution_merged_isigma(self, limit = None, log = None):
    '''Compute a resolution limit where either Mn(I/sigma) = 1.0 (limit if
    set) or the full extent of the data.'''

    if limit is None:
      limit = Flags.get_misigma()

    bins, ranges = self.get_resolution_bins()

    misigma_s = get_positive_values(
        [self.calculate_merged_isigma(bin) for bin in bins])
    s_s = [1.0 / (r[0] * r[0]) for r in ranges][:len(misigma_s)]

    if min(misigma_s) > limit:
      return 1.0 / math.sqrt(max(s_s))

    for _l, s in enumerate(misigma_s):
      if s < limit:
        break

    if _l > 10 and _l < (len(misigma_s) - 10):
      start = _l - 10
      end = _l + 10
    elif _l <= 10:
      start = 0
      end = 20
    elif _l >= (len(misigma_s) - 10):
      start = -20
      end = -1

    _s_s = s_s[start:end]
    _misigma_s = misigma_s[start:end]

    _misigma_f = log_fit(_s_s, _misigma_s, 3)

    if log:
      fout = open(log, 'w')
      for j, s in enumerate(_s_s):
        d = 1.0 / math.sqrt(s)
        o = _misigma_s[j]
        m = _misigma_f[j]
        fout.write('%f %f %f %f\n' % (s, d, o, m))
      fout.close()

    try:
      r_misigma = 1.0 / math.sqrt(interpolate_value(_s_s, _misigma_f,
                                                    limit))
    except:
      r_misigma = 1.0 / math.sqrt(max(_s_s))

    return r_misigma
开发者ID:xia2,项目名称:xia2,代码行数:53,代码来源:Merger.py


注:本文中的xia2.Handlers.Flags.Flags.get_misigma方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。