标签: vtk

对VTK 5.04和VTK 5.4.2的vtkMassProperties的差异感到好奇

我有一个小的python VTK函数,可以计算嵌入在一堆TIFF图像中的对象的体积和表面积.要阅读TIFF'sVTK,我已经使用vtkTIFFReader并使用处理结果vtkImageThreshold.然后我用它vtkMassProperties来提取阈值处理后识别的物体的体积和表面积.

使用VTK-5.04此函数返回测试堆栈的正确值(3902像素).但是,使用VTK-5.4.2相同的函数会返回不同的值(422像素).有人可以解释一下吗?


def testvtk():
    # read 36 TIFF images. Each TIFF is 27x27 pixels
    v16=vtk.vtkTIFFReader()
    v16.SetFilePrefix("d:/test/slice")
    v16.SetDataExtent(0,27,0,27,1,36)
    v16.SetFilePattern("%s%04d.tif")
    v16.SetDataSpacing (1,1,1)
    v16.Update()

    # Threshold level for seperating background/foreground pixels
    maxthres=81

    # Threshold the image stack
    thres=vtk.vtkImageThreshold()
    thres.SetInputConnection(v16.GetOutputPort())
    thres.ThresholdByLower(0)
    thres.ThresholdByUpper(maxthres)

    # create ISO surface from thresholded images
    iso=vtk.vtkImageMarchingCubes()
    iso.SetInputConnection(thres.GetOutputPort())

    # Have VTK calculate the Mass (volume) and surface area
    Mass = vtk.vtkMassProperties()
    Mass.SetInputConnection(iso.GetOutputPort()) …
Run Code Online (Sandbox Code Playgroud)

python 3d vtk

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

来自主线程的 VTK 窗口线程,C++

我只是在学习 VTK(和 C++ GUI 编程),希望有一些简单的问题。

主应用程序在应用程序的某个时刻启动渲染窗口。希望能够让主线程继续,同时显示 VTK 窗口。是否有特定方法将 VTK 窗口作为线程启动?

我的环境是 Linux,我可以使用 boost 和 pthreads。谢谢。

VTK 是可视化工具包,参见 vtk.org

c++ multithreading vtk

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

VTK(可视化工具包)与OSG(OpenSceneGraph),其他?

有没有人有相当比较VTK和OpenSceneGraph的经验?我对VTK比较熟悉,但我很好奇是否有人广泛尝试过.

我有两个内置的,5.6 vtk和2.9.9 osg,可以运行示例......乍一看OSG似乎更"粗糙",但也许没关系.特别是我担心能够在VTK中摆弄低级openGL; 例如,我认为glReadPixels在OSG上会表现得更好.评论?

(或者是否有一个很好的'其他',我错过了?我知道其他人存在,但请看一下OSG和VTK的大范围......)

opengl graphics openscenegraph vtk

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

如何在vtkStructuredGrid上设置数据值

我正在尝试用分析字段填充结构化网格,但是尽管阅读了vtk文档,但我还没有找到如何在网格点实际设置标量值或设置网格的间距/原点信息.从下面的代码开始,我该怎么做

  1. 将空间信息与网格相关联(即单元格0,0,0位于坐标0,0,0处,间距在每个方向上均为dx)
  2. 将标量值与每个网格点相关联.首先,我只需要一个,但最终我想在每个点存储3个数据(不是矢量,3个不同的标量).
grid = vtk.vtkStructuredGrid()
numPoints = int((maxGrid - minGrid)/dx)
grid.SetDimensions(numPoints, numPoints, numPoints)
Run Code Online (Sandbox Code Playgroud)

vtk

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

"1>cl : 命令行错误 D8021: 无效的数字参数 '/Wno-deprecated'" 错误

这个错误:

"1>cl : Command line error D8021: invalid numeric argument '/Wno-deprecated'" 
Run Code Online (Sandbox Code Playgroud)

通过 MSVC 编译器构建 VTK + Qt 项目时发生。我认为标志设置存在一些问题。以下是我的 CMakeList.txt

cmake_minimum_required(VERSION 2.8)
PROJECT(QtImageViewer)

IF(NOT VTK_BINARY_DIR)  
FIND_PACKAGE(VTK)
    INCLUDE(${VTK_USE_FILE})
ENDIF(NOT VTK_BINARY_DIR)
SET(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "")
SET(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "")
SET(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "")

FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE(${QT_USE_FILE})
SET (SRCS main.cxx)
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})

ADD_EXECUTABLE( qtimageviewer MACOSX_BUNDLE ${SRCS})

TARGET_LINK_LIBRARIES( qtimageviewer
  QVTK
  ${QT_LIBRARIES}
  vtkRendering
  vtkGraphics
  vtkIO
  vtkCommon
)
Run Code Online (Sandbox Code Playgroud)

请解释如何解决此错误?

compiler-construction qt cmake vtk visual-c++

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

CMake:如何设置 VTK_DIR?

这是我的一部分 CMakeLists.txt

set (VTK_DIR "/usr/include/vtk-5.8")

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
IF(VTK_FOUND)
  message("found VTK. Version:" ${VTK_VERSION}. VTK_DIR: ${VTK_DIR})
ELSE(VTK_FOUND)
  MESSAGE(FATAL_ERROR
    "Cannot build the executable without VTK. Please set the                                                                                                   
VTK_DIR")
ENDIF(VTK_FOUND)
Run Code Online (Sandbox Code Playgroud)

cmake . 告诉我:

发现VTK。版本:6.0.0.VTK_DIR:/usr/local/lib/cmake/vtk-6.0

在命令行中提供 VTK_DIR 也无济于事:

cmake -DVTK_DIR:PATH=/usr/include/vtk-5.8 .
Run Code Online (Sandbox Code Playgroud)

仍然 cmake 寻找/usr/local/lib/cmake/vtk-6.0VTK。

这里有什么问题?

c++ cmake vtk

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

如何在 Python 中可视化 3D delaunay 三角剖分?

我有一组 3D 点,我使用 scipy.spatial.Delaunay 来进行三角剖分/四面体化。我现在有一组所有四面体的独特面,并希望在 3D 中可视化这些面。

是否有任何 Python 库(或带有 Python 包装器的库)可以做到这一点?

python scipy vtk mayavi mplot3d

5
推荐指数
2
解决办法
6670
查看次数

使用 Python 和具有多个向量场的 tvtk 将数据保存到 VTK

我试图保存对应于相同结构网格的三组向量(速度、湍流强度和速度波动的标准偏差)。理想情况下,我希望它们成为同一个 vtk 文件的一部分,但到目前为止,我只能将其中一个放入文件中,如下所示:

sg = tvtk.StructuredGrid(dimensions=x.shape, points=pts)
sg.point_data.vectors = U
sg.point_data.vectors.name = 'U'
write_data(sg, 'vtktestWake.vtk')
Run Code Online (Sandbox Code Playgroud)

我花了几个小时寻找如何添加多个向量或标量场的示例,但失败了,所以我想我会在这里问。任何指导将不胜感激。

谢谢,

阿图尔

python vtk mayavi

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

VTK VisualStudio2013 编译错误

我正在尝试在 windows7 和 Visual Studio2013 中编译 VTK5.10.1(vs2012 C++ 编译器,所以我想有人可能会在 2012 年面临同样的问题)

在修复了一些小错误和一些丢失的头文件之后,请按照 VTK wiki 的教程进行操作。最后一步:

我有两个错误

  1. C2678:二进制“<<”:未找到采用“std::ostream”类型的左侧操作数的运算符(或没有可接受的转换)

#define VTKOSTREAM_OPERATOR(type) \ vtkOStreamWrapper& vtkOStreamWrapper::operator << (type a) \ { this->ostr << a; 返回 *this; }

VTKOSTREAM_OPERATOR(ostream&);
Run Code Online (Sandbox Code Playgroud)

2.binary '==' : 没有找到使用类型为 'std::basic_istream>' 的左操作数的运算符(或者没有可接受的转换)

 if ( this->IFile->read(result, 80) == 0)
Run Code Online (Sandbox Code Playgroud)

这里是在 std::basic_istream> 和 int 之间运行 operator== 的源代码托盘

但是在 std::istream 中, operator== 不会被覆盖。

等待帮助。谢谢

c++ vtk visual-studio-2012

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

显示DICOM monochrome2,其存储位少于分配的位

我想显示具有光度解释MONOCHROME2的DICOM文件.

一些图像规格是 -

Rows:           1024
Columns:        1024
No of Frames:   622
Bits Allocated: 16
Bits Stored:    10
High Bit:       9
Pixel Representation: 0
Sample per pixel: 1
Run Code Online (Sandbox Code Playgroud)

gdcmRegionReader用以下面的方式提取单帧字节数组.

 gdcm.ImageRegionReader _regionReader = new gdcm.ImageRegionReader();
 _regionReader.SetRegion(_boxRegion);  // _boxRegion is some region
 _regionReader.ReadIntoBuffer(Result, (uint)Result.Length);
 Marshal.Copy(Result.ToArray(), 0, _imageData.GetScalarPointer(), 
 Result.ToArray().Length);
 _viewer.SetInput(_imageData);  // _viewer = vtkImageViewer
Run Code Online (Sandbox Code Playgroud)

但是,当我显示该文件时,它显示如下..使用gdcmRegionReader显示MONOCHROME2 dicom

但原始图像是这样的..原始图像

那么有人可以帮助我如何加载和显示MONOCHROME2 dicom图像.

c# dicom vtk gdcm

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