Esempio n. 1
0
    def integrate(self, integrator_type):
        from dials.algorithms.integration.integrator import IntegratorFactory
        from dials.algorithms.integration.integrator import phil_scope as master_phil_scope
        from libtbx.phil import parse
        import sys
        import StringIO

        rlist = self.rlist.copy()

        output = StringIO.StringIO()
        stdout = sys.stdout
        sys.stdout = output

        try:
            phil_scope = parse('''
        integration.background.algorithm=null
        integration.intensity.algorithm=sum
        integration.intensity.sum.integrator=%s
        integration.block.size=0.5
        integration.profile_fitting=False
      ''' % integrator_type)

            params = master_phil_scope.fetch(source=phil_scope).extract()

            integrator = IntegratorFactory.create(params, self.exlist, rlist)

            result = integrator.integrate()
        except Exception:
            print output
            raise

        sys.stdout = stdout

        return result
Esempio n. 2
0
def test_integrator_3d(dials_data, nproc):
    from math import pi

    from dxtbx.model.experiment_list import ExperimentListFactory

    from dials.algorithms.profile_model.gaussian_rs import Model
    from dials.array_family import flex

    path = dials_data("centroid_test_data").join("experiments.json").strpath

    exlist = ExperimentListFactory.from_json_file(path)
    exlist[0].profile = Model(None,
                              n_sigma=3,
                              sigma_b=0.024 * pi / 180.0,
                              sigma_m=0.044 * pi / 180.0)

    rlist = flex.reflection_table.from_predictions(exlist[0])
    rlist["id"] = flex.int(len(rlist), 0)
    rlist.compute_bbox(exlist)
    rlist.compute_zeta_multi(exlist)
    rlist.compute_d(exlist)

    from libtbx.phil import parse

    from dials.algorithms.integration.integrator import Integrator3D, phil_scope

    params = phil_scope.fetch(
        parse("""
    integration.block.size=%d
    integration.mp.nproc=%d
    integration.profile_fitting=False
  """ % (5, nproc))).extract()

    integrator = Integrator3D(exlist, rlist, params)
    integrator.integrate()
Esempio n. 3
0
    def integrate(integrator_type, rlist):
        from libtbx.phil import parse

        from dials.algorithms.integration.integrator import create_integrator
        from dials.algorithms.integration.integrator import (
            phil_scope as master_phil_scope,
        )

        rlist = rlist.copy()

        phil_scope = parse(
            f"""
      integration.background.algorithm=null
      integration.intensity.algorithm=sum
      integration.intensity.sum.integrator={integrator_type}
      integration.block.size=0.5
      integration.profile_fitting=False
    """
        )

        params = master_phil_scope.fetch(source=phil_scope).extract()

        integrator = create_integrator(params, exlist, rlist)

        result = integrator.integrate()
        return result
Esempio n. 4
0
    def run(self):
        from dials.algorithms.integration.integrator import Integrator3D
        from dials.algorithms.integration.integrator import phil_scope
        from dials.algorithms.integration.integrator import Parameters
        import StringIO
        import sys
        from libtbx.phil import parse

        params = phil_scope.fetch(
            parse('''
      integration.block.size=%d
      integration.mp.nproc=%d
      integration.profile_fitting=False
    ''' % (5, self.nproc))).extract()

        output = StringIO.StringIO()
        stdout = sys.stdout
        sys.stdout = output
        try:
            integrator = Integrator3D(self.exlist, self.rlist,
                                      Parameters.from_phil(params.integration))
            result = integrator.integrate()
        except Exception:
            print output
            raise

        sys.stdout = stdout

        print 'OK'
Esempio n. 5
0
  def run(self):
    from dials.algorithms.integration.integrator import Integrator3D
    from dials.algorithms.integration.integrator import phil_scope
    from dials.algorithms.integration.integrator import Parameters
    import StringIO
    import sys
    from libtbx.phil import parse

    params = phil_scope.fetch(parse('''
      integration.block.size=%d
      integration.mp.nproc=%d
      integration.profile_fitting=False
    ''' % (5, self.nproc))).extract()

    output = StringIO.StringIO()
    stdout = sys.stdout
    sys.stdout = output
    try:
      integrator = Integrator3D(
        self.exlist,
        self.rlist,
        Parameters.from_phil(params.integration))
      result = integrator.integrate()
    except Exception:
      print output
      raise

    sys.stdout = stdout

    print 'OK'
Esempio n. 6
0
    def integrate(integrator_type, rlist):
        from dials.algorithms.integration.integrator import IntegratorFactory
        from dials.algorithms.integration.integrator import phil_scope as master_phil_scope
        from libtbx.phil import parse

        rlist = rlist.copy()

        phil_scope = parse('''
      integration.background.algorithm=null
      integration.intensity.algorithm=sum
      integration.intensity.sum.integrator=%s
      integration.block.size=0.5
      integration.profile_fitting=False
    ''' % integrator_type)

        params = master_phil_scope.fetch(source=phil_scope).extract()

        integrator = IntegratorFactory.create(params, exlist, rlist)

        result = integrator.integrate()
        return result
Esempio n. 7
0
  def integrate(self, integrator_type):
    from dials.algorithms.integration.integrator import IntegratorFactory
    from dials.algorithms.integration.integrator import phil_scope as master_phil_scope
    from libtbx.phil import parse
    import sys
    import StringIO

    rlist = self.rlist.copy()

    output = StringIO.StringIO()
    stdout = sys.stdout
    sys.stdout = output

    try:
      phil_scope = parse('''
        integration.background.algorithm=null
        integration.intensity.algorithm=sum
        integration.intensity.sum.integrator=%s
        integration.block.size=0.5
        integration.profile_fitting=False
      ''' % integrator_type)

      params = master_phil_scope.fetch(source=phil_scope).extract()

      integrator = IntegratorFactory.create(
        params,
        self.exlist,
        rlist)

      result = integrator.integrate()
    except Exception:
      print output
      raise

    sys.stdout = stdout

    return result
Esempio n. 8
0
    rlist = flex.reflection_table.from_predictions(experiments[0])
    rlist["id"] = flex.int(len(rlist), 0)
    rlist.compute_bbox(experiments, profile_model)
    rlist.compute_zeta_multi(experiments)
    rlist.compute_d(experiments)
    print("")

    print("Creating params")
    from dials.algorithms.integration.integrator import IntegratorFactory
    from dials.algorithms.integration.integrator import phil_scope
    from libtbx import phil

    user_phil = phil.parse("""
    integration {
      mp.max_procs = %d
      block.size=5
      filter.ice_rings.filter=False
      intensity.algorithm=sum3d
    }
  """ % nproc)

    working_phil = phil_scope.fetch(source=user_phil)
    params = working_phil.extract()

    print("Integrating")
    integrator = IntegratorFactory.create(params, experiments, profile_model,
                                          rlist)
    result = integrator.integrate()

    result.as_pickle("temp.pickle")
Esempio n. 9
0
  print "Predicting Reflections"
  rlist = flex.reflection_table.from_predictions(experiments[0])
  rlist['id'] = flex.int(len(rlist), 0)
  rlist.compute_bbox(experiments, profile_model)
  rlist.compute_zeta_multi(experiments)
  rlist.compute_d(experiments)
  print ""

  print "Creating params"
  from dials.algorithms.integration.integrator import IntegratorFactory
  from dials.algorithms.integration.integrator import phil_scope
  from libtbx import phil

  user_phil = phil.parse('''
    integration {
      mp.max_procs = %d
      block.size=5
      filter.ice_rings.filter=False
      intensity.algorithm=sum3d
    }
  ''' % nproc)

  working_phil = phil_scope.fetch(source=user_phil)
  params = working_phil.extract()

  print "Integrating"
  integrator = IntegratorFactory.create(params, experiments, profile_model, rlist)
  result = integrator.integrate()

  result.as_pickle("temp.pickle")