コード例 #1
0
def pilatus_slice_from_file_url(url):
    from six.moves import urllib
    parsed = urllib.parse.urlparse(url)
    assert parsed.scheme == "file"
    file = parsed.path.split("?")[0]
    if file == parsed.path:
        return PilatusImage(file)
    qs = urllib.parse.parse_qs(parsed.path.split("?")[1])
    sliceindex = int(qs["slice"][0])
    object = PilatusImage(file)
    object.readHeader()
    return pilatus_slice_from_object_and_slicenumber(object, sliceindex)
コード例 #2
0
    def detectorbase_start(self):

        self.detectorbase = PilatusImage(self._image_file)
        self.detectorbase.readHeader()

        self.detectorbase.parameters["SIZE1"] = 2167
        self.detectorbase.parameters["SIZE2"] = 2070
コード例 #3
0
def test_all(dirpath, timer=False):
    for file in generate_paths(dirpath):
        from iotbx.detectors.pilatus_minicbf import PilatusImage
        if timer: print(os.path.basename(file))
        P = PilatusImage(file)
        if timer: G = Profiler("cbflib no-opt    read")
        P.read(algorithm="cbflib")
        read1 = P.linearintdata
        if timer: G = Profiler("cbflib optimized read")
        P.linearintdata = None  #won't read again without resetting first
        P.read(algorithm="cbflib_optimized")
        read2 = P.linearintdata
        if timer: G = Profiler("buffer-based read")
        P.linearintdata = None  #won't read again without resetting first
        P.read(algorithm="buffer_based")
        read3 = P.linearintdata
        if timer: del G
        expected_image_size = {
            "Pilatus-6M": (2527, 2463),
            "Pilatus-2M": (1679, 1475),
            "Pilatus-300K": (619, 487)
        }[P.vendortype]
        assert read1.accessor().focus() == read2.accessor().focus(
        ) == expected_image_size
        from cbflib_adaptbx import assert_equal
        #print "Equality of arrays from two decompress methods", assert_equal(read1,read2), "\n"
        assert assert_equal(read1, read2)
        assert assert_equal(read1, read3)
コード例 #4
0
def pilatus_slice_from_file_url(url):
  #backward compatibility with Python 2.5
  try: from urlparse import parse_qs
  except Exception: from cgi import parse_qs

  from urlparse import urlparse
  parsed = urlparse(url)
  assert parsed.scheme == "file"
  file = parsed.path.split("?")[0]
  if file == parsed.path:
    return PilatusImage(file)
  qs = parse_qs(parsed.path.split("?")[1])
  sliceindex = int(qs["slice"][0])
  object = PilatusImage(file)
  object.readHeader()
  return pilatus_slice_from_object_and_slicenumber(object,sliceindex)
コード例 #5
0
    def detectorbase_start(self):

        from iotbx.detectors.pilatus_minicbf import PilatusImage
        self.detectorbase = PilatusImage(self._image_file)
        self.detectorbase.readHeader()

        self.detectorbase.parameters['SIZE1'] = 2167
        self.detectorbase.parameters['SIZE2'] = 2070
コード例 #6
0
    def detectorbase_start(self):

        from iotbx.detectors.pilatus_minicbf import PilatusImage
        self.detectorbase = PilatusImage(self._image_file)
        self.detectorbase.readHeader()  # necessary for LABELIT
コード例 #7
0
        linearintdata = flex.int(
            self.object.linearintdata[start_index:stop_index])
        linearintdata.reshape(flex.grid((195, 2463)))
        del self.object  #once the data are copied, no need to keep the original
        return linearintdata

    def read(self):
        if self.already_read_data: return
        self.bin_safe_set_data(self.slice_callback())
        self.already_read_data = True


if __name__ == '__main__':
    import sys
    full_path_to_file = sys.argv[1]
    a = PilatusImage(testing_file)
    a.read()
    print a
    print a.parameters
    print a.rawdata, len(a.rawdata), a.size1 * a.size2
    for dataitem in [
            'bin', 'filename', 'header', 'headerlines', 'linearintdata',
            'parameters', 'vendortype'
    ]:
        print dataitem,
        exec("print a.%s" % dataitem)
    print pilatus_slice_from_object_and_slicenumber(a, 5)

    P = pilatus_slice_from_file_url(url="file://%s?slice=5" %
                                    full_path_to_file)
コード例 #8
0
ファイル: FormatCBFMini.py プロジェクト: ndevenish/dxtbx
 def detectorbase_start(self):
     self.detectorbase = PilatusImage(self._image_file)
     self.detectorbase.readHeader()  # necessary for LABELIT