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
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()
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
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'
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'
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
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
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")
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")