将.nrrd文件读入Lua

时间:2016-01-23 15:14:49

标签: numpy image-processing lua torch

我有一个.nrrd文件,我可以将其读入python并保存为np数组。我想在lua / torch中使用生成的数组,我该怎么做呢?或者有没有办法直接将.nrrd文件读入lua?感谢。

2 个答案:

答案 0 :(得分:1)

与评论一样,npy4th应该适用于您想要的内容。无论如何,我还发现了一个看起来更容易的python库。

您可以通过多种方式将结果导出到Lua,例如输出到文本文件。我删除了一些有用的网址。正如我所见,在Python中使用非常简单,仅使用import nrrdframes, options = nrrd.read("test.nrrd")

GitHub documentation for Pynrrd

答案 1 :(得分:1)

现在你也可以尝试lutorpy,基本上,你可以在python中使用torch和任何lua库。

转换将在torch.fromNumpyArray(arr)完成,您将获得一个火炬张量。还有另一个函数tensor.asNumpyArray(),可以帮助你转换回numpy数组。

import lutorpy as lua
import numpy as np

xn = np.random.randn(100)
## convert the numpy array into torch tensor
tensor_xn = torch.fromNumpyArray(xn)

# you can use torch tensor as well
t = torch.DoubleTensor(10,3)
print(t._size()) # the corresponding lua version is t:size()

## convert torch tensor to numpy array
arr = t.asNumpyArray()
print(arr.shape)

大多数情况下,转换是通过numpy数组和割炬张量之间的共享内存立即完成的,无需保存磁盘,甚至无内存副本