def test_read_points_x(image_and_points): imf, points = image_and_points bufs = libe57.VectorSourceDestBuffer() capacity = 10000 X = np.zeros(capacity, "f") bufs.append( libe57.SourceDestBuffer(imf, "cartesianX", X, capacity, True, True)) data_reader = points.reader(bufs) size = data_reader.read() assert size == capacity assert not np.all(np.zeros(capacity, "f") == X)
def make_buffer(self, field_name, capacity, do_conversion=True, do_scaling=True): if field_name not in SUPPORTED_POINT_FIELDS: raise ValueError("Unsupported point field: %s" % field_name) np_array = np.empty(capacity, SUPPORTED_POINT_FIELDS[field_name]) buffer = libe57.SourceDestBuffer(self.image_file, field_name, np_array, capacity, do_conversion, do_scaling) return np_array, buffer
def test_source_dest_buffers(e57_path): f = libe57.ImageFile(e57_path, "r") capacity = 1000 types = list("bBhHlLq?fd") sizes = [1, 1, 2, 2, 4, 4, 8, 1, 4, 8] buffers = libe57.VectorSourceDestBuffer() for t in types: data = np.zeros(capacity, t) sdb = libe57.SourceDestBuffer(f, "something", data, capacity, True, True) buffers.append(sdb) for t, sdb, size, in zip(types, buffers, sizes): assert sdb.pathName() == "something" assert sdb.capacity() == capacity assert sdb.stride() == size assert sdb.doScaling() assert sdb.doConversion()
def test_source_dest_buffers_raises(e57_path): f = libe57.ImageFile(e57_path, "r") capacity = 1000 data = np.zeros(capacity, "i") with pytest.raises(ValueError): libe57.SourceDestBuffer(f, "something", data, capacity, True, True)