自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (4)
  • 收藏
  • 关注

原创 004:Direct 2D离屏渲染(Qt中实现)

用QT开发图像显示的小程序,需要一些标注工具,由于用的是opengl渲染,所以就在内存中进行绘制,然后纹理贴图贴出去,发现Qt绘制的效果太差,且速度一般,于是就想着用direct2d来绘制需要的纹理图像。

2023-11-29 10:24:20 795

原创 VTK: 转化DICOM ST 数据为vtkPolyData显示

放疗的靶区等勾画数据通常会存储为DICOM-RT文件,该文件通常存储勾画点坐标数据。新的需要中DICOM-RT中存储了一个固定模版,需要进行3D打印,因此需要对其格式进行转化,以便进行三维渲染、编辑、保存和打印功能。

2022-09-26 11:41:17 1245 1

原创 003:D2D 性能测试-绘制不同对象的帧率变化

D2D性能测试,目的是了解D2D特性,为后续系统设计确定技术路线。主要对D2D绘制不同对方的速度进行测试,测试的对象包括:图像、文本、椭圆和矩形,测试绘制不同对象对帧率的影响。测试结果表明:以帧率下降速度最快排列,绘制文本帧率下降最快,其次是椭圆、矩形,影响最小的是图像。

2022-09-15 12:18:30 591

原创 002:CWnd类中采用D2D绘制,并测试帧率

在001中,D2D绘制的代码直接放在了对话框类中,实际使用过程中,通常是继承CWnd来实现显示窗口,因此本例子实现在CWnd子类中采用D2D进行绘制,并测试FPS,后续会与GDI和GDI+的绘制帧率进行对比。

2022-09-08 23:22:00 596 5

原创 001:你好Direct 2D! 在对话框中初次使用D2D

​对于如何提高2D的绘制效率,一直在进行着尝试。基于OpenGL的纹理贴出做过一些二维图像处理的工作,但相对麻烦些,需要由GDI/GDI+绘制后,在贴出去,麻烦,且由于OpenGL停止了更新,不支持多线程等原因,慢慢的继续做下去的动力就不足。无意间看到MSDN中关于Direct 2D的结论(现有GDI代码将继续在 Windows 7 下正常工作。 但是,编写新的图形呈现代码时,应考虑Direct2D,因为它更好地利用新式 GPU。),故而打算写一序列的博客,记录下学习和测试Direct2D编程和性

2022-09-08 16:26:43 568

原创 DCMTK findscu 查询信息

使用DCMTK提供的可执行文件中的findscu,查询服务端的患者的影像数据信息。

2022-07-26 17:13:41 973

原创 微血管血流速度标注

舌下与结膜微血管血流速度检测是药物反应和疾病诊断的重要指证,但由于红细胞族之间的间隔随着血流的流动会发生聚合或分离,导致在序列时空图象上血流速度检测的困难,拟采用深度学习方法,在序列时空图象上准确检测微血管血流速度。由于现有的软件进行标注不方便、效率低,所以自己开发了个小的标注软件。采用C#编写。......

2022-07-06 15:33:20 158

原创 从源码 编译 Conquest DICOM software 1.5.0b,并汉化

Conquest DICOM Server是开源的服务端程序,可用于DICOM通讯的验证和作为自用的图像归档系统,来收集和存储数据。其界面用delphi开发,调用C++开发的DICOM解析库和服务进程来实现其功能。

2022-06-29 11:58:47 687

原创 VTK:自定义直线和椭圆工具

摘要: VTK没有提供椭圆工具,所以自己写了个绘制二维椭圆的类,随便也把直线工具也重新写了下。

2022-03-27 17:17:18 953

原创 VTK:去除阈值分割中的小的连通区域-噪点去除

目的:阈值分割的结果中,通常包含有很多小的、孤立的区域,这些小的区域采用手动方式去除比较耗时,可通过三维连通区域,计算各个连通区域的大小,然后将小于一定阈值的区域去掉。基于vtkImageConnectivityFilter类实现。性能:512*512*400的数据,连通域计算无法达到实时; 512*512*400的数据中的肺动脉,经过三维裁剪,可以达到实时的效果。若果要提高到2S内,需要改进vtkImageConnectivityFilter中的算法。...

2022-03-18 16:56:01 1350 1

原创 VTK三维裁剪:体绘制任意裁剪 和面绘制任意裁剪(对vtkImageData和vtkPolyData进行裁剪)

在体绘制和面绘制中,经常需要对非感兴趣部位进行裁减,以减少遮挡等。目前实现了两种方法:第一种方法速度比较慢;第二种方法可以达到实时;详细见参考文献。详细内容后面整理,先记录下。一、体绘制裁减二、面绘制进行裁减参考:https://blog.csdn.net/a15005784320/article/details/119204925 https://blog.csdn.net/gorecording/article/details/83781923htt...

2022-02-13 11:11:31 3269 2

原创 VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )

简介:1、vtkAreaPicker:获取裁剪平面2、vtkClipClosedSurface:完成裁剪完成代码:#include <vtkActor.h>#include <vtkAreaPicker.h>#include <vtkDataSetMapper.h>#include <vtkDataSetSurfaceFilter.h>#include <vtkExtractPolyDataGeometry.h>.

2022-01-22 12:10:53 2136 2

原创 VTK: 选取区域(vtkAreaPicker + vtkInteractorStyleRubberBandPick )

目的:显示对直接体绘制和网格数据的任意裁剪。根据VTK官网的例子,显示了下面的矩形区域选取。下一步实现任意区域的选取与裁剪。VTK官网例子:https://kitware.github.io/vtk-examples/site/Cxx/Picking/HighlightSelection/注意:按下键盘< r >进行模式切换,#include <vtkActor.h>#include <vtkAreaPicker.h>#include &l.

2022-01-22 10:48:29 2628 2

原创 VTK: vtkImageData 转 vtkPolyData

简介:勾画的数据通常带有多个标签(多个组织),以vtkImageData存储,用vtkDiscreteMarchingCubes 可以将其转化为网格数据vtkPolyData。下图为转化的效果。详见代码,内有注释 vtkImageData* pMaskData = m_pMaskImage->GetSrcMaskData(mLabel); double origin[3]; pMaskData->GetOrigin(origin); pMaskData..

2022-01-21 21:56:55 1845

原创 VTK小结:展示勾画-STL转Mask-Mask转STL-勾画

2022-01-21 01:11:29 816 1

原创 VTK: vtkPolyData 裁剪(1)

熟悉vtkClipClosedSurface 对vtkPolyData 进行裁剪;重点在于如何构建裁剪平面,需要注意的是裁剪平面的法向量指向的会被保留,其它会被裁剪掉。难点就是如何构建重建平面组合;

2022-01-20 10:56:19 1583

原创 VTK: STL (vtkPolyData) 转 Mask(vtkImageData)

项目中需要将分割结果的STL转换成Mask,以方便用户对其进行必要的调整。vtkPolyData 转vtkImageData 的方法见VTK官网中有相关的例子。需要注意的几点:1、转换后结果的数据类型和参考数据相同,如下代码中的maskImage;2、 vtkPolyData 的数据原点(mask转polydata时)与maskImage必须相同;void Stl2Mask(){ double spacing[3] = {0.71875,0.71875,1.0}; do..

2022-01-16 15:41:11 1355

原创 VTK 灰度图像转RGB(非渲染):vtkWindowLevelLookupTable/vtkLookupTable/vtkImageMapToWindowLevelColors

简介:系统中提取读取序列图像中的一张,用VTK将灰度图像转换为GRB,然后用GDI+绘图。懒得直接做颜色查找表,直接用VTK中的vtkWindowLevelLookupTable/vtkLookupTable/vtkImageMapToWindowLevelColors,可完成灰度到RGB的转换。保存为RGB的文件如上图,代码如下:void Gray2ColorImg(){ m_Origin[0] = -m_Dim[0] * m_Spacing[0] * 0.5; m_Origin[..

2021-12-26 16:54:32 1099

原创 VTK生成直方图:vtkImageHistogram

简介:统计三维数据的直方图,用于作为阈值分割或直接体绘制的背景,指示用户进行调节。对于灰度图像,使用vtkImageHistogram就够了。SetHistogramImageScaleToLog() 结果SetHistogramImageScaleToLinear(); 结果SetHistogramImageScaleToSqrt() 结果代码:void ImageHistogram(){ m_Origin[0] = -m_Dim[0] * m_S...

2021-12-26 16:10:02 804

原创 VTK感兴趣勾画 方式二: vtkTexture实现

优点:可实现任意多个不同组织(不同颜色和不透明度)的勾画;缺点:感觉速度还需要再优化下

2021-12-25 11:16:16 540 2

原创 VTK 项目一:MPR和STL+感兴趣勾画

简介:用MFC做的简单的MPR实现和STL三维显示,MPR用vtkImageActor实现,特点就是简单,后续增加STL转掩码体数据,并实现编辑。后面慢慢贴出代码。

2021-11-24 11:15:06 1217

原创 VTK感兴趣勾画 方式一: vtkImageMask实现

使用vtkImageMask 实现

2021-11-19 16:44:43 1484 3

原创 (二) ICP配准方法存在的问题

简介:加深对ICP配准方法存在问题的理解。通过改变初始位置,直观的感受ICP算法对点云初始位置的依懒性;另外观察存在较多冗余信息是ICP配准的精度。存在问题:1、容易陷入局部最优解,可通过改变点云初始位置进行改善。图1 初始位置差异较大时,ICP的配准结果图2 改变初始位置后,ICP的配准结果2、存在较多冗余信息时,IPC配准精度不高整个牙冠在高度上扔没对齐,切牙区最为明显...

2021-09-06 11:21:50 2304 4

转载 (二)三维点坐标求解最优平面

(50条消息) 三维点坐标求解最优平面(法向量)_LucasZhang‘s Blog-CSDN博客

2021-09-03 10:24:33 554

原创 (一)PCL库 ICP配准

简介:通过ICP配准,对齐CBCT提取牙齿与口内扫描获取牙冠,结果失败。原因:可能是因为两者重叠点云数据少,而不重叠部分过多,待后续分析。1、CBCT提取牙齿 与口内扫描获取数据在同坐标系下显示2、PCL库调用ICP进行配准void registCTInteroral(){ char strST[256] = "E:\\CBCT\\lower.ply"; char strCT[256] = "E:\\CBCT\\lower-CT.ply"; pcl::Po.

2021-08-31 09:21:16 1039

原创 (一) 分割得到的掩码数据转换为点云数据

简介:对分割得到的牙齿掩码数据进行转换,转换采用VTK 实现,将掩码转换为PCL可以读取的PLY格式,以进行后续处理。1、掩码数据:采用深度学习方法对CBCT中的牙齿进行提取,结果保存为分析格式(hdr,img);2、将下颌中的牙齿掩码数据,转换为点云的PLY格式,采用VTK读取数据,并根据下颌牙齿掩码值进行提取,然后用vtkMarchingCubes提取表面,并保存为PLY格式; vtkMarchingCubes* marchingCubes = vtkMarchingCubes::N.

2021-08-30 22:13:48 916 2

原创 (一)VTK 转换 STL 为 PLY 格式,PCL读取PLY格式

简介:由于PLY1.12版本IO模块提供了PCD和PLY两种格式的读取接口,因此需要用VTK进行格式转换,完成STL到PLY格式的转换,或掩码图像到PLY格式的转换,然后用PCL进行读取并进行处理。1、VTK 将STL转换为 PLY格式void stl2ply(){ std::string filename = "P:\\CBCT\\tooth\\upper.stl"; vtkSmartPointer<vtkSTLReader> reader = vtkSmartPoint

2021-08-30 17:58:42 2342 2

转载 (一)PLY 文件格式

PLY FormatPLY or Stanford Polygon format defines a flexible and systematic scheme for storing graphical objects that are described as a collection of polygons. A ".PLY" file is composed of 3 main mandatory sections plus optional ones thereafter. The firs

2021-08-30 15:29:29 738

原创 (一)PCL 1.12 + VS2019 环境配置

最近开始做口腔点云数据处理相关的工作,需要把CBCT数据中的结构转换为点云,因此选择了PCL,PCL在windows下环境的配置已经很简单了,直接安装配置即可使用,这里只对安装过程中遇到的问题和小技巧记录下来。 1、PCL1.12的安装过程可参考链接:(55条消息) PCL安装与配置(Windows10+VS2017 )_syz201558503103的博客-CSDN博客_pcl启动器。 2、安装完成后,需要去安装目录的 <PCL 1.12.0\3rdPart...

2021-08-28 11:01:20 1808 4

原创 原始数据到CT值的转换

用从DICOM文件中读取的rescaleslope值和rescale intercept值可以将每个像素的灰度值转换成CT值。Hu=pixel_val*rescale_slope+rescale_intercept;pixel_val是第i个像素的灰度值Hu是第i个像素的CT值CT 图象的CT 值反映组织对X 射线吸收值(衰减系数u),其单位为H

2017-03-15 09:57:05 12345 5

原创 RTK-fast circular cone-beam CT reconstruction 在Windows 系统下的编译

FFTW3.3.5 在Windows 下的安装1.下载FFTW,官网地址:http://www.fftw.org/;在Download页面,选择:Go here for Windows.分别下载32和64版本。2.生成lib文件,

2017-03-12 17:24:36 2715 4

转载 DCMTK 时间段查询

StudyDate[16];                // (0008,0020)DA 检查日期        字串     格式:YYYYMMDD    示例:20140506Dates and times use Range Matching, so for all dates after and including 2000-01-01 the syntax is "2

2016-06-18 10:16:09 829

原创 封装OpenGL渲染为DLL,C#做UI显示

C# 环境下OpenGL的渲染,有很多的开源库,如:The Tao Framework+.net、SharpGL、opengl4csharp、OpenGL.Net、CSharpGL等等,大体都是将OpenGL的API函数以DLL的方式引入,在进行封装,使得上手很快,对于普通的渲染来说,足够了,但对于像体渲染这样比较耗时的渲染来讲,我更喜欢直接将渲染部分封装到C/C++的DLL中,C#只负责显示;

2016-04-01 10:57:07 3062 5

原创 基于DCMTK和OpenCV的DR图像拼接

DR 图像拼接      基于DCMTK和OpenCV做的一个医学图像拼接模块,记录下:详细拼接流程后续补上。下肢:图像张数:4; 图像大小:1984*2492; 数据位数:16bit;平均拼接速度4秒左右(初略统计)拼接结果DICOM文件用三方软件(RadiAnt DICOM Viewer)打开躯干部位:

2016-04-01 10:27:23 3999 4

原创 The Reconstruction Toolkit (RTK) 编译

VS命令行到解压目录:

2014-12-03 20:28:43 3139 3

原创 DCMTK 查询 WorkList

主要用到的类 DcmSCU

2014-07-12 11:05:55 3760 6

原创 DCMTK之MPPS服务实现

前 言放射科信息管理系统(Radiology InformationSystem, RIS)与图像传输与归档系统[1](Picture Archivingand Communication System, PACS)的设计中,检查流程管理是影响系统性能的重要因素,好的流程管理可有效提高临床工作效率。目前国内临床普遍采用的放射检查工作流程[2]如图1:① 检查申请:临

2014-05-28 15:02:02 6384 1

原创 收集了一些国外 DICOM 文件下载网站

http://www.chameleon-software.de/en/beispielvideos.php

2014-05-16 19:26:32 31651 7

原创 DCMTK扩展库之:libiconv编译

iconv基于GPL公开源代码,是GNU项目的一部分,在各种Unix-like操作系统下很容易编译和使用,而在Windows下编译iconv就没那么简单了。最新版的iconv(目前是libiconv-1.14.tar.gz)已经不再提供Visual C++的编译文件,最后一个支持VC编译的iconv版本是libiconv-1.11.1.tar.gz。虽然不是最新版,但是在Windows下编译,

2014-04-24 09:52:43 2278

原创 DicomServer测试环境搭建之一:Conquest DICOM software

一、下载安装  Conquest DICOM software    下载地址

2014-04-14 23:08:13 11672 2

OpenGL Programming Guide-V4.3

OpenGL Programming Guide-V4.3(英文):中文翻译为OpenGL编程指南,又称红宝书,目前翻译版本最新的是OpenGL3.3,而该文档是是4.3,个人看过OpenGL红宝书的Version2.1和3.3,对比之下发现4.3的改动真的很大,强烈建议看下英文原版的4.3.

2013-09-23

DICOM文件JPEG2000 解压缩与序列分类

可以利用该工具对JPEG2000压缩的DICOM文件进行解压缩,另外一个功能就是对一个文件夹内的不同序列DICOM文件按照序列进行分类,分类后文件目录结构为:病人--study-serial

2012-07-14

hl7 schema

POCD_MT000040就是CDA的消息模型,而CDA.xsd是对POCD_MT000040封装一个根元素。 其它的几个xsd文件,是HL7中的数据类型及编码术语的定义文件。

2011-03-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除