spikezoo.utils

load_vidar_dat(filename, height, width, remove_head=False, version: Literal['python', 'cpp'] = 'python', out_format: Literal['array', 'tensor'] = 'array')

读取脉冲数据函数。

参数:
  • filename (string) -- 脉冲数据路径

  • height (int) -- 读取脉冲高度

  • width (int) -- 读取脉冲宽度

  • remove_head (bool) -- 是否去除帧头

  • version (str) -- 选择cpp版还是python版实现,但目前只支持在linux系统。

  • out_format (str) -- 选择输出np.array还是torch.tensor

返回:

脉冲序列 (尺寸为 K * H * W)

返回类型:

array or tensor

根据以下代码实测表明,cpp 版比 python 版快10倍左右。

from spikezoo.utils.spike_utils import load_vidar_dat
import time
print("cpp")
start = time.time()
for _ in range(10):
    result = load_vidar_dat("data/data.dat",version="cpp",width = 400,height = 250,out_format="array")
print(time.time() - start)

print("python")
start = time.time()
for _ in range(10):
    result = load_vidar_dat("data/data.dat",version="python",width = 400,height = 250,out_format="array")
print(time.time() - start)