标签: vtk

我想在vtk(python)中制作均匀分布的球体

正如你在标题中看到的,我想在vtk(python)中制作均匀分布的球体

首先,我看到这个链接“均匀分布球体上的n个点”,这是一种创建均匀分布球体的方法。通过该链接,我获得了均匀分布球体的 x、y、z 坐标。

其次,这实际上并不是我必须解决的问题。问题是即使我有均匀分布球体的 x,y,z 坐标,我也无法在 vtk(python) 上制作多数据。

import numpy as np
import mpl_toolkits.mplot3d
import matplotlib.pyplot as plt
import vtk
from scipy.spatial import Delaunay

num_pts = 1000
indices = np.arange(0, num_pts, dtype=float) + 0.5

phi = np.arccos(1 - 2*indices/num_pts)
theta = np.pi * (1 + 5**0.5) * indices

x, y, z = np.cos(theta) * np.sin(phi), np.sin(theta) * np.sin(phi), np.cos(phi);

# x,y,z is coordination of evenly distributed shpere
# I will try to make poly data use this …
Run Code Online (Sandbox Code Playgroud)

python vtk evenly

2
推荐指数
1
解决办法
1485
查看次数

vtk 错误:片段着色器中不支持扩展“GL_EXT_gpu_shader4”

我有 XUBUNTU 16.04 32 位。我是 VTK 库的初学者。我已经从源代码构建并安装了 VTK 7.1.1。我按照https://www.vtk.org/Wiki/VTK/Configure_and_Build的说明 安装就可以了。没有错误。我下载了最简单的示例:CylinderRenderingProperties。然后,我编译该示例。没有错误。但是,当我运行程序时

./CylinderRenderingProperties
Run Code Online (Sandbox Code Playgroud)

有一个错误:

VTK-7.1.1/Rendering/OpenGL2/vtkShaderProgram.cxx, line 395 vtkShaderProgram (0x9fd1510): 0:39(12): error: extension `GL_EXT_gpu_shader4' unsupported in fragment shader
Run Code Online (Sandbox Code Playgroud)

我不知道出了什么问题。可能与任何图形驱动程序有关?这是我的图形硬件的信息:

inxi -G
Graphics:  Card: Intel Mobile 4 Series Integrated Graphics Controller
       Display Server: X.Org 1.19.3 drivers: (unloaded: fbdev,vesa)
       Resolution: 1280x800@60.00hz, 1280x1024@60.02hz
       GLX Renderer: Mesa DRI Mobile Intel GM45 Express x86/MMX/SSE2 GLX Version: 2.1 Mesa 17.0.7
Run Code Online (Sandbox Code Playgroud)

ubuntu vtk

2
推荐指数
1
解决办法
3018
查看次数

vtkCellLocator:python 中的 FindClosestPoint 用法

“FindClosestPoint”函数的定义如下:

   def FindClosestPoint(self, p_float=None, p_float=None_1, p_float=None_2, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
    """
    V.FindClosestPoint([float, float, float], [float, float, float],
        vtkGenericCell, int, int, float)
    C++: void FindClosestPoint(double x[3], double closestPoint[3],
        vtkGenericCell *cell, vtkIdType &cellId, int &subId,
        double &dist2) override;
    V.FindClosestPoint([float, float, float], [float, float, float],
        int, int, float)
    C++: virtual void FindClosestPoint(double x[3],
        double closestPoint[3], vtkIdType &cellId, int &subId,
        double &dist2)

    Return the closest point and the cell which is closest to the
    point x. The …
Run Code Online (Sandbox Code Playgroud)

python vtk python-3.x

2
推荐指数
1
解决办法
1314
查看次数

绘制由 3D numpy 数组表示的 3d 体积数据

我已经看到 vtkplotter 支持范围广泛的体积图像格式,但它是否支持绘制 numpy 数组?我有一个 .mhd 格式的图像,我将其转换为 .npz 文件,并想使用提到的库绘制它。有没有办法这样做?

import numpy as np
data = np.zeros((3,3,3))
# how to plot this?
Run Code Online (Sandbox Code Playgroud)

如果您知道任何其他适用于医学分析的可视化体积数据的工具,请告诉。我试过 mayavi,但它消耗了太多内存,以至于我的电脑崩溃了。

python vtk mayavi

2
推荐指数
1
解决办法
1209
查看次数

Google Colab 中保存的文件位于何处?

我正在尝试访问保存热方程解的 VTK 文件,但我不知道它在 Colab 中的保存位置。

from fenics import *
import time
T = 2.0            # final time
num_steps = 50     # number of time steps
dt = T / num_steps # time step size
# Create mesh and define function space
nx = ny = 30
mesh = RectangleMesh(Point(-2, -2), Point(2, 2), nx, ny)
V = FunctionSpace(mesh, 'P', 1)
# Define boundary condition
def boundary(x, on_boundary):
    return on_boundary
bc = DirichletBC(V, Constant(0), boundary)
# Define initial value
u_0 = Expression('exp(-a*pow(x[0], …
Run Code Online (Sandbox Code Playgroud)

python vtk pde fenics google-colaboratory

2
推荐指数
3
解决办法
8845
查看次数

使用 python3.8 和 Ubuntu 20.04 设置 VTK

我最近将我的系统更新到了 Ubunutu 20.04,我的 python 现在是 3.8。从那以后我所有的import vtk线路都不起作用,

ModuleNotFoundError: No module named 'vtk'
Run Code Online (Sandbox Code Playgroud)

我已经尝试过apt-get python-vtkpip3 install vtk几乎所有的标准终端安装命令。毫无疑问,他们都无法找到包裹。我一直在网上寻找解决这个问题的方法,但没有成功。

我熟悉从源代码构建 Kitware(Cmake 和 Paraivew)的东西,所以我这样做了:

git clone https://github.com/Kitware/VTK.git
mkdir VTK/build
cd VTK/build
ccmake .. 
make 
make install
Run Code Online (Sandbox Code Playgroud)

一些相关CMake的选项BUILD_SHARED_LIBS=ONCMAKE_BUILD_TYPE=ReleaseCMAKE_INSTALL_PREFIX=/usr/localpython3_EXECUTABLE=/usr/bin/python3.8VTK_WRAP_PYTHON=ONPython3_INCLUDE_DIR=/usr/include/python3.8Python3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so,和VTK_PYTHON_OPTIONAL_LINK=ON

我能够构建它,并且我认为我应该打开python wrapping. 安装后,我发现仍然无法运行 python 文件,仍然出现与上述相同的错误。我觉得我只需要告诉 python 去哪里获取 vtk 模块,这是正确的吗?如果是这样,它在哪里,它的名字是什么,我如何制作 python 链接到它?还是我错过了什么或做了一些非常愚蠢的事情?

如果有一种apt-getpip3 install方式这样做会更好,但我想我已经用尽了谷歌搜索找到的所有尝试。

提前致谢。

python ubuntu vtk

2
推荐指数
1
解决办法
4955
查看次数

使用VTK绘制不同颜色的点

我想使用Visualization Toolkit来分散绘图点,每个绘图点都有不同的颜色.我已经使用了这里给出的建议来绘制灰色的点,但我不明白如何为每个点赋予颜色.

多维数据集示例的相关部分是:

vtkPolyData *cube = vtkPolyData::New();
vtkPoints *points = vtkPoints::New();
vtkCellArray *polys = vtkCellArray::New();
vtkFloatArray *scalars = vtkFloatArray::New();

// Load the point, cell, and data attributes.
for (i=0; i<8; i++) points->InsertPoint(i,x[i]);
for (i=0; i<6; i++) polys->InsertNextCell(4,pts[i]);
for (i=0; i<8; i++) scalars->InsertTuple1(i,i);

// We now assign the pieces to the vtkPolyData.
cube->SetPoints(points);
points->Delete();
cube->SetVerts(polys);
polys->Delete();
cube->GetPointData()->SetScalars(scalars);
scalars->Delete();
Run Code Online (Sandbox Code Playgroud)

我怎样才能给每个Verts一个颜色?

c++ scatter-plot vtk point-clouds

1
推荐指数
1
解决办法
6021
查看次数

如何组合多个 vtkprop 或 vtkactor 以形成更大的 actor 或 prop?

我正在开发一个 qt/vtk 应用程序,用户可以根据他的要求绘制大量的 vtk 演员/道具。现在需要提供一种功能来组合所有绘制的演员/道具以形成母演员/道具。我尝试过 vtkactorcollection,但它单独存储所有演员。提供任何合适的示例或将我指向相关帖子。

c++ opengl vtk

1
推荐指数
1
解决办法
2159
查看次数

从Paraview出口质量图片

我想从paraview导出高质量的矢量图形,但是除了svg(svg也不完美但ps和eps更好)之外,所有导出的矢量图形格式似乎都有点模糊.有没有解决这个问题的方法,我可以获得出版质量的图像?

vtk paraview

1
推荐指数
1
解决办法
4515
查看次数

从原始 VTK (.vtu) 文件中读取数据

我想使用 Python VTK 模块从 .vtu 文件中提取数据数组。文件看起来像这样(文件末尾的原始数据被省略):

<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian">
  <UnstructuredGrid>
    <Piece NumberOfPoints="10471" NumberOfCells="64892">
      <PointData>
        <DataArray type="Float64" Name="potential" NumberOfComponents="1" format="appended" offset="0"/>
        <DataArray type="Float64" Name="electric field" NumberOfComponents="3" format="appended" offset="83772"/>
      </PointData>
      <CellData>
        <DataArray type="Int32" Name="GeometryIds" format="appended" offset="335080"/>
      </CellData>
      <Points>
        <DataArray type="Float64" NumberOfComponents="3" format="appended" offset="594652"/>
      </Points>
      <Cells>
        <DataArray type="Int32" Name="connectivity" format="appended" offset="845960"/>
        <DataArray type="Int32" Name="offsets" format="appended" offset="1865068"/>
        <DataArray type="Int32" Name="types" format="appended" offset="2124640"/>
      </Cells>
    </Piece>
  </UnstructuredGrid>
<AppendedData encoding="raw">
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下 python 代码提取数据:

import numpy
from vtk import vtkUnstructuredGridReader
from vtk.util import numpy_support as …
Run Code Online (Sandbox Code Playgroud)

numpy vtk python-3.x

1
推荐指数
2
解决办法
5274
查看次数