コード例 #1
0
ファイル: options.py プロジェクト: jasonroyprice/dials
    def try_read_experiments_from_images(
        self,
        args,
        verbose,
        compare_beam,
        compare_detector,
        compare_goniometer,
        scan_tolerance,
        format_kwargs,
        load_models=True,
    ):
        """
        Try to import images.

        :param args: The input arguments
        :param verbose: Print verbose output
        :param compare_beam:
        :param compare_detector:
        :param compare_goniometer:
        :param scan_tolerance:
        :param format_kwargs:
        :param load_models: Whether to load all models for ExperimentLists
        :return: Unhandled arguments
        """
        from dxtbx.model.experiment_list import ExperimentListFactory
        from dials.util.phil import FilenameDataWrapper, ExperimentListConverters
        from glob import glob

        # If filenames contain wildcards, expand
        args_new = []
        for arg in args:
            if "*" in arg:
                args_new.extend(glob(arg))
            else:
                args_new.append(arg)
        args = args_new

        unhandled = []
        experiments = ExperimentListFactory.from_filenames(
            args,
            verbose=verbose,
            unhandled=unhandled,
            compare_beam=compare_beam,
            compare_detector=compare_detector,
            compare_goniometer=compare_goniometer,
            scan_tolerance=scan_tolerance,
            format_kwargs=format_kwargs,
            load_models=load_models,
        )
        if len(experiments) > 0:
            filename = "<image files>"
            obj = FilenameDataWrapper(filename, experiments)
            ExperimentListConverters.cache[filename] = obj
            self.experiments.append(obj)
        return unhandled
コード例 #2
0
ファイル: options.py プロジェクト: hmeduyvesteyn/dials
  def try_read_datablocks_from_images(self,
                                      args,
                                      verbose,
                                      compare_beam,
                                      compare_detector,
                                      compare_goniometer,
                                      scan_tolerance,
                                      format_kwargs):
    '''
    Try to import images.

    :param args: The input arguments
    :param verbose: Print verbose output
    :return: Unhandled arguments

    '''
    from dxtbx.datablock import DataBlockFactory
    from dials.util.phil import FilenameDataWrapper, DataBlockConverters
    from glob import glob

    # If filenames contain wildcards, expand
    args_new = []
    for arg in args:
      if "*" in arg:
        args_new.extend(glob(arg))
      else:
        args_new.append(arg)
    args = args_new

    unhandled = []
    datablocks = DataBlockFactory.from_filenames(
      args,
      verbose=verbose,
      unhandled=unhandled,
      compare_beam=compare_beam,
      compare_detector=compare_detector,
      compare_goniometer=compare_goniometer,
      scan_tolerance=scan_tolerance,
      format_kwargs=format_kwargs)
    if len(datablocks) > 0:
      filename = "<image files>"
      obj = FilenameDataWrapper(filename, datablocks)
      DataBlockConverters.cache[filename] = obj
      self.datablocks.append(obj)
    return unhandled
コード例 #3
0
 def read_experiments(fname):
     wrapper = FilenameDataWrapper(
         filename=fname,
         data=ExperimentListFactory.from_json_file(fname,
                                                   check_format=True))
     return wrapper.data
コード例 #4
0
 def read_reflections(fname):
     wrapper = FilenameDataWrapper(
         filename=fname, data=flex.reflection_table.from_file(fname))
     return wrapper.data