Var*_*lor 6 python numpy scipy vtk
我有以下问题。我有一个像这样的 numpy 数组:
arr = np.array([[ 1. , 1. , 4. , 3. , 6. , 12. , -1. , 1.],
[ 1. , 2. , 2., 2., 10. , 6. , -2. , 2.],
[ 1. , 2. , 3. , 4. , 4. , 11. , -2. , 3.],
[ 1. , 2. , 3. , 6., 8. , 9. , 1. , 4.],
[ 1. , 2. , 6. , 7. , 4., 14. , 1. , 5.],
[ 1. , 2. , 7. , 4. , 2. , 17. , -0. , 6.],
[ 1. , 3. , 2. , 6. , 7. , 3. , -1. , 7.],
[ 1. , 3. , 4. , 1. , 3. , 14. , 0. , 8.],
[ 1. , 3. , 5. , 5. , 1. , 16. , -1. , 9.],
[ 1. , 3. , 6. , 2. , 9. , 19. , 1. , 10.],
[ 1. , 4. , 3. , 1. , 1. , 7. , -1. , 11.],
[ 1. , 4. , 4. , 5. , 9. , 10. , 2. , 12.],
[ 1. , 4. , 5. , 3. , 6. , 18. , 0. , 13.],
[ 1. , 4. , 6. , 6. , 5. , 2. , -1. , 14.],
[ 1. , 5. , 1. , 4. , 3. , 5. , 1. , 15.],
[ 2. , 1. , 2. , 7. , 2. , 19. , -1. , 16.],
[ 2. , 1. , 3. , 2. , 3. , 16. , -2. , 17.]])
Run Code Online (Sandbox Code Playgroud)
现在我想将其转换为 vtk 表。这可能吗?
此致!
我认为可以使用以下方法来做到这一点:
# create the vtkTable object
tab = vtk.vtkTable()
# create a vtkDataArray with arr values
vtkarr = vtk.vtkDoubleArray()
vtkarr.SetNumberOfComponents(arr.shape[1])
vtkarr.SetNumberOfTuples(arr.shape[0])
vtkarr.SetVoidArray(arr, arr.size, 0)
# finally assign the values to the vtkTable
tab.GetRowData().AddArray(vtkarr)
Run Code Online (Sandbox Code Playgroud)
我试图避免不必要的值副本,这就是我使用SetVoidArray(). 所以基本上,它的第一个参数是数组本身,第二个是数组中元素的总数,最后一个告诉你是否希望vtkTable对象释放原始数据(在这种情况下,它会)。
| 归档时间: |
|
| 查看次数: |
1847 次 |
| 最近记录: |