VTK读入DICOM数据

news2025/1/12 8:39:26

date: 2019-04-02 16:26:00

VTK读入DICOM数据

DICOM示例:
DICOM Demo
图像来自www.dicomlibrary和medDream

准备图像

公开数据库

  • DICOM Library:链接,少量CT(Computed Tomography,计算机断层扫描),MR( Magnetic resonance imaging),OT(other)其他格式。更多关于医学影像格式的信息,这里
  • 链接,比较老的DICOM图像,大小较小
  • visualdata:链接
  • Rubo:一些血管造影
  • 其他,aycan,[2], [3]

读入数据

读入DICOM样例Java程序

来源

import vtk.vtkNativeLibrary;
import vtk.vtkRenderWindowInteractor;
import vtk.vtkImageViewer2;
import vtk.vtkDICOMImageReader;


public class ReadDICOM 
{
  // -----------------------------------------------------------------
  // Load VTK library and print which library was not properly loaded
  static 
  {
    if (!vtkNativeLibrary.LoadAllNativeLibraries()) 
    {
      for (vtkNativeLibrary lib : vtkNativeLibrary.values()) 
      {
        if (!lib.IsLoaded()) 
        {
          System.out.println(lib.GetLibraryName() + " not loaded");
        }
      }
    }
    vtkNativeLibrary.DisableOutputWindow(null);
  }
  // -----------------------------------------------------------------

  public static void main(String args[]) 
  {

    //parse command line arguments
    if (args.length != 1) 
    {
      System.err.println("Usage: java -classpath ... Filename(.img) e.g prostate.img");
      return;
    }
    String inputFilename = args[0];

    vtkDICOMImageReader reader = new vtkDICOMImageReader();
    reader.SetFileName(inputFilename);
    reader.Update();

    // Visualize
    vtkImageViewer2 imageViewer = new vtkImageViewer2();
    imageViewer.SetInputConnection(reader.GetOutputPort());
    vtkRenderWindowInteractor renderWindowInteractor =new vtkRenderWindowInteractor();
    imageViewer.SetupInteractor(renderWindowInteractor);
    imageViewer.Render();
    imageViewer.GetRenderer().ResetCamera();
    imageViewer.Render();

    renderWindowInteractor.Start();

   }
}

参考

[1] https://blog.csdn.net/yunzhaoqiang/article/details/26005009

[2] https://www.researchgate.net/post/Can_anyone_suggest_me_any_website_for_downloading_DICOM_files

[3] https://talk.openmrs.org/t/sources-for-sample-dicom-images/6019

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络知识点之-HTTP协议

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内…

基于Open3D的点云处理4-数据结构Kdtree和Octree

Kdtree Kdtree是一种划分k维数据空间的数据结构,本质也是一颗二叉树,只不过每个节点的数据都是k维,当k1时,就是普通二叉树。 建立Kdtree实际上是一个不断划分的过程,首先选择最sparse的维度(一般通过计算…

【LeetCode热题100】打开第6天:正则表达式匹配

文章目录 正则表达式匹配⛅前言🔒题目🔑题解 正则表达式匹配 ⛅前言 大家好,我是知识汲取者,欢迎来到我的LeetCode热题100刷题专栏! 精选 100 道力扣(LeetCode)上最热门的题目,适合…

Spring Authorization Server 系列(三)code换取token

code换取token 概述客户端认证方式换取结果 概述 在获取到code后,就可以使用code换取token了,但在换取token这一步还会对客户端进行一些校验,而这也支持不同的方式,一起来看看。 客户端认证方式 JwtClientAssertionAuthenticati…

2023 英国剑桥大学博士后含金量

作为英国顶尖的大学之一,剑桥大学自然也是博士后研究的理想选择。然而,对于那些希望在这所学府找到博士后职位的人来说,他们可能会问:剑桥大学的博士后含金量如何?首先,我们需要了解什么是博士后研究。简单…

阿里版ChatGPT已接入钉钉,张勇:未来所有业务都有大模型加持

ChatGPT狂飙160天,世界已经不是之前的样子。 我新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 阿里:大模型也是基础设施。 4 月 7 日下午,阿里云没有一点预告的突然宣布,自研类 ChatGPT …

《数据库应用系统实践》------ 小区停车管理系统

系列文章 《数据库应用系统实践》------ 小区停车管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明&…

MySQL_7 常见约束及演示

目录 一、约束概述 二、 PRIMARY KEY(主键) 1.作用 : 2.格式 : 3.自增长 : 4.演示 : 演示Ⅰ—— 主键约束的特点 演示Ⅱ—— 复合主键 演示Ⅲ—— 自增长 三、UNIQUE(唯一) 1.作用 : 2.格式 : 3.演示 : …

人多岗位少,都快把我卷死了,这是今年软件测试就业的真实写照,也是所有岗位的真实写照。

前两天跟一个HR朋友聊天,她表示刚在boss上发布了一个普通测试岗位,不到一小时竟然收到了几百份简历。而且简历质量极高,这是往年不敢想象的。岗位少,竞争激烈,这是今年软件测试就业的真实写照,也是所有岗位…

网狐大联盟数据库迁移到Linux系统

1.系统要求: ubuntu 20.04 Ubuntu 20.04.6 LTS (Focal Fossa) 安装系统 2.linux上安装mssql server Linux 上的 SQL Server 概述 - SQL Server | Microsoft Learn 安装指令: # 安装mssql-serverwget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee…

路径规划算法:基于入侵杂草优化的路径规划算法- 附代码

路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 文章目录 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

Java入门教程||Java 数据结构||Java 集合框架

Java 数据结构 Java 数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration)位集合(BitSet)向量(Vector)栈(Stack&#xff0…

安全测试常用 ADB 命令

ADB,全称 Android Debug Bridge,即 Android 调试桥,是一个对 Android 开发人员和测试人员都必不可少的工具。adb 包含在 Android SDK 平台工具软件包中。可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platf…

多线程和多进程

线程和进程 最近经常看到多线程和多进程,这两个概念在某些方向还是很像的,但是进程和线程到底有啥联系,又有啥区别,很多人并没有完全弄明白,最近学操作系统的时候,老师经常叫线程为进程的进程,…

CMake之安装打包

目录 安装公共选项安装目标安装文件安装目录安装导出 导出问题 安装 install的用法 公共选项 install有多个签名,这些签名公用的选项有以下: DESTINATION:指定文件要安装的目录,可以是相对路径或绝对路径。 相对路径&#xff…

【JVM】12. 垃圾回收相关概念

文章目录 12.1. System.gc()的理解12.2. 内存溢出与内存泄露内存溢出(OOM)内存泄漏(Memory Leak) 12.3. Stop The World12.4. 垃圾回收的并行与并发并发(Concurrent)并行(Parallel)并…

QT调用VS编译的RabbitMQ-C静态库

为此折腾两天,参考了不少大神的文章,再次标识感谢。把自己的一些思路简单记录下: https://blog.csdn.net/qq_70244454/article/details/128086920 https://blog.csdn.net/zjzytnn/article/details/70045247 把几个踩过的坑,记录…

【Python REST API】零基础也能轻松掌握的学习路线与参考资料

REST(Representational State Transfer)是一种基于HTTP协议的软件架构风格,用于构建分布式网络应用程序。Python是一种功能强大的编程语言,它具有丰富的库和框架,可以使用Python编写RESTful API。本篇文章将详细介绍Py…

[java安全]反射

文章目录 [java安全]反射定义反射的运用1、反射获取类对象1.1、Class.forName()1.2、Object.class1.3、obj.getClass() 2、反射获取成员方法2.1、getMethods()2.2、getDeclaredMethods()2.3、getMethod()2.4、getDeclaredMethod() 3、反射获取构造方法4、反射创建对象4.1、通过…

复习之Linux系统中的用户管理

1.用户及用户组的意义 在Linux中,用户(User)和用户组(Group)是管理系统权限和资源访问的重要概念。 (1)用户 用户是指系统中的一个身份标识,每个用户都有自己的用户名和密码。每个…