def make_buffers(self, field_names, capacity, do_conversion=True, do_scaling=True): data = {} buffers = libe57.VectorSourceDestBuffer() for field in field_names: d, b = self.make_buffer(field, capacity, do_conversion=do_conversion, do_scaling=do_scaling) data[field] = d buffers.append(b) return data, buffers
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 read_scan_raw(self, index) -> Dict: header = self.get_header(index) data = {} buffers = libe57.VectorSourceDestBuffer() for field in header.point_fields: np_array, buffer = self.make_buffer(field, header.point_count) data[field] = np_array buffers.append(buffer) header.points.reader(buffers).read() return data
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()