VTK 读取本地rawdata数据

  • 体渲染rawdata读取
  • IntPtr传入rawData数据

最近项目中要求将设备采集的数据以三维的形式显示出来,经过检索发现VTK的体渲染能够满足项目需求。
现在先对设备采集的数据做一些描述:设备每帧采集320根线,每根线由1024个点组成,每个点保存为无符号字符型(unsigned char),每次采集320帧。也即每次采集320 x 1024 x 320 x sizeof(unsigned char)数据量的rawdata。

体渲染rawdata读取

VTK 提供了很多的图像读取类以读取相应的图像格式(如 vtkPNGReader),经过检索,要读取项目中的这种数据我用到了vtkImageReader,下面代码展示了读取方式(C#):

         vtkImageReader reader = vtkImageReader.New();reader.SetFileName("rawdata_path.bin");reader.SetNumberOfScalarComponents(1);reader.SetDataScalarTypeToUnsignedChar();//将数据设定为unsigned char型                reader.SetFileDimensionality(3);//设置显示图像的维数                reader.SetDataExtent(0, 319, 0, 1023, 0, 319);//图片属性图片像素320*1024,最后两参数表示有320张图//故x方向索引为0~319,y:0~1023,z:0~319reader.SetDataSpacing(1, 0.5, 1); //设置x,y,z像素间间距,为了不让生成的模型太长,把y方向做了压缩reader.update();

之后就可以将reader.GetOutputPort()加入到后续处理管线当中。但此种方法在尝试后发现即便调用reader.Dispose();释放,程序仍然占有rawdata_path.bin文件,在后续程序其他位置继续读取该文件时就会导致读取失败。不知道是什么原因。。。

IntPtr传入rawData数据

为了解决上面提到的文件占用问题,我决定不直接调用VTK的vtkImageReader,改为先将数据读到内存中,再将数据传给VTK,以下为相应C#代码( 其中:rawDataIntPtr 为上面rawdata_path.bin文件读取到内存的句柄,具体读取方法略):

         vtkImageImport imageImport = vtkImageImport.New();imageImport.SetImportVoidPointer(rawDataIntPtr);imageImport.SetDataScalarTypeToUnsignedChar();imageImport.SetWholeExtent(0, 319, 0, 1023, 0, 319);imageImport.SetDataSpacing(1, 0.5, 1); imageImport.SetDataExtentToWholeExtent();         imageImport.Update();

之后就可以将 imageImport.GetOutputPort() 加入到后续处理管线当中。

VTK读取rawdata相关推荐

  1. VTK读取序列化图像

    vtk获取内存中图像数据 原文链接: http://blog.csdn.net/zmy3376365/article/details/7717721 内存中有段图片数据  ,使用VTK来读入,然后就可 ...

  2. Vtk读取并显示保存图像

    (1):Vtk读取并显示图像:三种方法 转载:未知出处 转载:用VTK显示平面图片:http://blog.csdn.net/tonylk/article/details/464881 用到vtkJP ...

  3. python vtk dicom_Python vtk读取并显示dicom文件示例

    因为做项目的原因,所以接触到了医学图像dicom文件.vtk刚开始看,这里仅仅只是其最简单的读取显示功能.此处用到了vtk库,可自行百度安装方法. 下面附上代码: from vtk import * ...

  4. VTK读取序列DCM格式医学图像

    通常处理医学图像,使用VTK库,VTK库在官网下载,并经过Cmake,编译并配置好环境变量后使用,下文提供使用VTK读取三维图像并显示的代码,经过调试可运行. // RAWREAD.cpp : 定义控 ...

  5. DCMTK、ITK、VTK读取dicom信息

    DCMTK.ITK.VTK读取dicom影像数据的方法 直接上代码,调用不同的医学影像库读取dicom影像信息 1. DCMTK读取影像中的pixelData //参数 list:为输入的图像文件名列 ...

  6. vtk读取文件并显示的几种方法

    转载于http://apps.hi.baidu.com/share/detail/7831982 感谢原作者! 1.用vtkDICOMImageReader #include "vtkRen ...

  7. (01)VTK读取OBJ格式模型

    前言 使用vtk可以读取的模型格式非常有限,在此适应vtk加载.stl格式的工业数据(使用SolidWorks输出的或者CAD输出的,后来为了减少模型容量,用上SolidWorks将stl格式转换成了 ...

  8. python读取stl文件三维坐标_python vtk 读取三维raw数据存为stl

    1.安装vtk: 2.读取三维raw.显示.保存为stl: import vtk # Read 3D RAW image reader=vtk.vtkImageReader() # reader.Se ...

  9. vtk读取3ds文件并显示c++版本

    vtk提供了很方便的函数可以读取3ds文件,这种文件是3dmax软件制作的三维物件,之前的别人的文章写了python版本的读取和显示的代码,这里翻译成了c++版本的. VTK imported and ...

  10. QT通过VTK读取stl模型并着色 Mac

    1.对于在Mac下如何配置VTK,或者是qt下的.pro文件里面的引入包名,请参考我的上一篇博客Mac+CMake3.13.2+Qt5.12.0+VTK8.1.2 配置安装 2.读取stl文件 3.创 ...

最新文章

  1. android jni语法,Android NDK中的JNIEXPORT和JNICALL
  2. win7_iis报500.19和500.21错误问题解决
  3. 并查集杭电1272小希的迷宫
  4. ajax隐藏button,jquery下的ajax应用-form和button触发
  5. 判断输入的数是否质数,求范围内的质数有哪些
  6. 【自用】 TensorFlow merge_all_summaries SummaryWriter 报错问题
  7. python mac读取 文件属性_从Python获取和设置mac文件和文件夹查找器标签
  8. python-布尔数据
  9. win2008r2 or centos6 硬盘挂载
  10. python 依赖包管理_依赖管理
  11. POJ 2912 Rochambeau(难,好题,枚举+带权并查集)
  12. JS中的showModelDialog详解和实例
  13. [推荐书籍]Flex 4 in Action MEAP Edition
  14. 40页PPT勾画“互联网颠覆性思维”----诠释互联网思维
  15. 如何将poi数据导入arcgis
  16. PPT2010无法从所选的文件中插入视频
  17. 【C++初阶学习】之 懒人神器——模版(概念)
  18. 找不到Office安装路径,如何导入MathType
  19. python 二进制写入字典_Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)...
  20. Dtop环球嘉年华全球Web3.0分布式私域电商生态发展峰会圆满举办

热门文章

  1. Java经典基础项目——《学生教务系统》立项需求说明书
  2. 解决三星PM981硬盘无法正常安装黑苹果的问题(第一版)
  3. 排名前三的网址导航站和源码资源站分享
  4. IE11的userAgent
  5. 计算机主板 g41,g41主板bios设置方法
  6. 无线摄像头服务器关闭,监控摄像头服务器停止
  7. [转]抢先Mark!微信公众平台开发进阶篇资源集锦
  8. CUDA编程-02: 初识CUDA编程
  9. 四叶草引导程序 CloverBootloader 5125中文版
  10. 网络渗透就业学习路线