登录
首页 » Others » 基于ITK、VTK与MFC读取DICOM图像

基于ITK、VTK与MFC读取DICOM图像

于 2020-12-01 发布
0 499
下载积分: 1 下载次数: 1

代码说明:

基于ITK,VTK以及MFC读取DICOM图像的文献@ErtoRwww.crter.org吕哧琪,等于1K、K和MC的DCOM图像读写及显示文章是在视类的构造函数及其析构函数中实现它们的初始化及善后工作的。其次,改写视图类的虚函数Ocrea(),以下为关键代码ren Win->AddRenderer(ren);renWin->Setwindowld(m hWnd)iren->SetRenderWindow(ren Win)最后,在视图类的 OnDraw函数中添加绘制代码Render()当然窗口的尺寸也可以在这里进行调整。Figure 5 Unintegrated display effect此,可以在MFc应用稈序视图区域中实现与VTK图5未集成显示效果渲染对象的父互和鼠标响应操作,并可以利用MFC界面控件来进行参数控制,本文程序中鼠标按下会弹出一个对于VTK与MFC的集成已有相关文献介绍,分为快显示图像上象素坐标及象素值的消息框(见图7,8)借以速集成和深度集成两种集成方式。图6是作者将图5对应说明鼠标响应交互操作的实现,至此完成了TK与MFC序做了怏速集成后 DICOMA像的显示。集成过程只需的深度集成。读者也可以参考ⅤTK工具包 Examples设置 vtk RenderWindow类中的 SetParent函数为当前 GUlIn32MFC下的例程,实现更丰富的集成。该视图或对话框句柄即可,关键代码如下所示和集环覓下的面显示将结合后续DCOM文件显示tkRenderwindow部分给出。FrenWin=vtkRenderWindow: NewovtkRenderWindowlnteractoriren=vtkRenderWindowInteractor Newothis->renWin->SetParentld(this->m hWnd);this->iren->SetRenderWindow(this->renIn);Figure 7 Display effect of vik depth integration图7深度集成环境下VTK显示效果Figure 6 Display effect of fast integration图6快速集成显示效果快速集成屏蔽」MFC的鼠标响应和消息传递,不便于后续编程实现更复杂的功能。VTK与MFC集成的请为:0007000根本目的是实现更实用、更灵活的交互界面,以弥补VTK自身在该方面的缺憾,那么就要求不仅要将TK的渲染窗口嵌入于MFC应用程序视图区域,而且还要Figure 8 Display effect after flipping图8翻转后VTK显小效果使其融为一体,即拥有一个统一的具有友好交互能力的界面。在此,重点介绍下作者尝试实现VTK与MFC深度集成的另一种方法,具体步骤如下:首先,在视类中增2D|cOM图像的读写与显示加可视化管道中会用到的类,用这些类实例化对象,文章用到的对象有:渲染对象ren)、渲梨窗口( renin)、2.1DCOM图像的读写文章中的数据对象是一维交互对象(ren)、演员( BrainActor)、映射( Brain Map)等, DICOM图像。读与DCOM文件的功能使用∏TK提供的范o1994-2011ChinaAcadcmicJournalElcctronicPublishingHousc.Allrightsroscrved.http://www.cnki.nctcn.zglckf.com2418P.O. Box 1200, Shenyang 110004吕烧琪,等干K、VTK和MFC的DCOM图像读写及显示CRTOR Ww. cRTER org函功能来实现,在∏K中,DCOM的范函性由GDCM厍写DcOM文件是一件非常精密的操作,因为所要处理的提供。这个开放的源码厍由INSA_Lyon的 creats团队发是大量重要的有关患者详细而精确的数据,并且涉及到展的。实验使用: GDCMImagelO类来建立与GDCM库患者的隐私问题。所以在写的过程中,一定要核实出你的连接,实现读取 DICOM图像的功能。|TK数据处理管的代码所生成的头文件信息不会给患者的治疗和诊断道中的三种处理对象具休为:Sσurce采用带来风险,要确休沿着数据处珄管道正桷地传递DC○Mik: itklmage SeriesReader类; Filter来用了ik∷文件的细节信息,从而才能保证正确地将原D|COM文件Curvature FlowImage Filter; Mapper采用了itk:的这些信息写入新的DcOM序列图像文件。以下便是实itkImageFileWriter类。现该部分内容的主要代码:单张二维DCOM图像的读写:本部分实现单张二维首先定义图像类型,并明确所选象素类型和维度,p|c○M图象以 DICOM格式读入与以DCOM格式写入从而定义序列图像读取类型。的工作。首先声明象素类型和图像的维数,以它们作为typedef signed short PixelType模板参数来实例化读入图像的类型,用该图像类型作为const unsigned int Dimension=3;模板参数再实例化读取器 Reader的类型并创建一个typedef itk: Image< PixelType, DimensionReader,将读入图像的文件路径和文件名作为参数传给 mage Type;Reader,并为 Reader关联 GDCMImagelO对象,调用typedef itk: Image SeriesReader< Image TypeUpdate(函数更新读取过程,DcOM图像就已读入内存 ReaderType中。用 Reader的 Getoutput()方法可以获得图像数据的接下来声明并实例化实际读写DCOM图像的指针。月前的焦点是如何再一次将图像在新文件中保存k: GD CMImagelC对象和为所有切片生成文件名并排成DCOM格式。具体的,先实例化一个 Image File Writer序的tk: GDCMSeries fileNames对象,并创建相应智能类型,并创建指针 Writer,将写入的图像的文件路径和指针 gdcmIO和 names Generator。文件名作为参数传给 Writer,并为其关联ImageloType: PointerGDCM| magelo对象,这个对象是知道DCOM格式的内 gdcmIo= magelOType:New()部结构的,最后用 Update()来触发写入程序。文章在读Names Generator Type: Pointer写过稈中对图像进行了保留边缘的平滑去噪处珥,以下 names Generator= Names GeneratorType:|New()为主要代码names Generator->SetInputDirectory(argvImageloType: Pointer生成读入文件的文件名gdcmImagelo=ImageloType: NeW(const ReaderType: FileNames Containerreader->Setlmagelo(gdcmImagelO)filenames=namesGenerator->GetInput FileNames():reader> SetFileName(argv):∥参数为文件路径实例化 Reader Type对象并创建智能指针 reader,读及文件名取DcOM格式序列图像。writer->Setlmagelo(gdcmImagelO)reader->Setlmagelo(gdcmlO)rwriter->SetFileName(argv2);∥将平滑后图像以reader->SetFileNames(filenames )D|COM格式写入到参数所指定的文件中。最后用 reader的 Update()触发读取程序,最好放在try/catch问询块中,在此不再赘述。CurvatureFlowImageFilterType: Pointer至此,可以开始写数据了。首先把确定存在的输出smoother= rvatureFlowlmageFilterType:|New();∥目录传给 outputDirectory指针。实例化一个平滑滤波器的对象const char outputDirectory=argv;smoother-> SetNumberoflterations(5):W平滑滤波然后,实例化 SeriesWritertype对象并创建智能指器的迭代次数设为5针 series writer,将 reader的输出写为D|COM格式序列smoother-> SetTime Step(0.125);∥平滑滤波器的像时间步长设为0125series Writer->SetInput(reader->Getoutput()smoother->SetInput(reader->Getoutputo)series Writer->Setlmagelo(gdcmIO)writer->Setlnput(smoother->GetOutputO)现在可以设置 G DCMSeriesFileNames在至此完成DCOM单张图像的读写。outputDirectory下产生新的文件名,然后将最新生成的序列二维DCOM图像的读写:这部分}要实现以文件文件传递给 seriesWriter集的方式读取一个DCOM序列图像,并在保持头文件信namesGenerator->SetoutputDirectoryoutputDire息不变的情况下保存为另一个DCOM序列图像的工作。 ctory);/S SN 1673-8225 CN 21-1539/R CODEN: ZLKHAH2419C1994-2011ChinaAcadcmicJOurnalElcctronicPublishingHousc.Allrightsrcscrved.http://www.cnki.nct@RterwWw.crtEr. org吕晓琪,等基于1K、VK和MFC的DCOM图像读写及显示seriesWriter->SetFileNames(names Generator->GetOutputFileNames();3结论最后一步也是最关键的一步,用 reader读取MetaDataDictionary并传递给 seriesWriter。之所以关键TK是算法设计者的一个有力助手,是医学图像处是因为 Meta Data Dictionary包含」所有输入的DcoM理工作者的案例研究算法仓厍,遺憾的是不提供Ul文件的头文件。VTK软件开发包强大的图形处理和可视化功能,却缺乏seriesWriter> SetMetaData Dictionary Array( reade实用、灵活的交互界面,而MFC具有强大的U开发能力。r->GetMetaData DictionaryArray ()结合三者的特点,作者通过对DCOM医学图像的读取与末了调用 seriesWriter的 Update)触发写程序,放在显小,将TK、VTK和MFC有机的结合起来,扬长避短,try/catch问洵块中,在此不再赘述。为三者集成环境下的软件开发做了一个初步的尝试,而22DCOM图像的显示本部分主要介绍在前述方法对于在此基础之上一者更强大功能的实现(诸如医学图实现的∨TK、ITK和MFC集成环境卜DCoM图像的显示像的分割与准、三维可视化、虚拟手术导航等)有待方法。在此,将利用丨TK读取的DC○M文件用VTK显示深入探讨与研究。在MFC单文档视图区,因为旨在说明方法所以未给出复杂的交互界面。4参考文献VTK薮据处理管道中采用了vkD|cOM|mageReader:类、 teNderer类、 vtkRenderwindow类、[1 Kitware Inc. NLM Insight Segmentation and registration ToolkitEB/OL」2005.http:/www.itκOrgtkRenderwindowInteractor类、 traCtor2D类、[21 Ackerman MJ. the visible human project. Proceedings of thelEEE,1998;863):501-504.v+ < Mapper类,并实例化各个类的对象并创建相21/mD(Q小用m时应智能指针。图7为显示效果,相应关键代码如下计算机技术发,200816(4=515 NEMA. The DICOM standard. Technical report, NEMA,Brain Map->SetInput(vtkreader->Getoutput()http://medial.nemaorg,2004[61http:/www.itk.org/courseWare/training/gettIngstartedl-webpageBrainActor->SetMapper (BrainMap);ren->AddActor(BrainActor)http:ww.kitwvare.comiproducts/books/vtkquide.htmlBenoit Regrain EricBoix, Mathieu and Jean Pierre roux. the「TK所读取的图像一经VTK显示后图像发牛了翻GDCM Library. CNRS, INSERM, INSALyon, UCBLyonhttp://www-creatis.insa-lyon.fr/publIc/gdcm转,并且是上下翻转而左右并不发生翻转,原因是ITK的坐标系统和VTK的坐标系统Y轴是相反的,所以为了来自本文课题的更多信息能正确显示图像还需要将Y轴进行翻转,可见这种翻转墓金资助:国家自然科学基金资助项目(60761002)可以发生在两种情形,一种是在K读入图像的时候翻作耆贡:笫一作者进行实验设计及评估,实验实施转即改变文件的读取方式,该种方式可参考∏TK的为笫二作者,资料收集为笫三作者,第二作者成文,第FliplmageFilter类,该类可以实现翻转任何坐标轴中的作者审校并对文章负责图像,对于本文屮情形可以使用一个[0,们翻转排列,列益冲突:课题未涉及任何厂家及相关雇主或其灺经表示X轴保持不变时对Y轴进行翻转;另一种是在K图济组织直接或间接的经济或利益的赞助像薮据凵经转换为ⅥTK图像数据后将新的TK图像数本文创新性:于201101以文章关键词为检索关键词据Y轴鄱转,这也正是本文实现的图像翻转方法。相应在CNK丨欻捃库、维普中文科技期刊数据库、万方学位论关键代码:文全文数据库, ELSEVIER数据库等多个数据库中检索未flipY->SetFilteredAxis(1)见具有相同创新点文章flipY->SetInputConnection(vtkreader->Getoutput方法创新:为医学图像读写及显示后一系列的玉学Eort()像处理工作搭建了灵活实用的实验平台,进而得到相关基BrainMap->SetInput(flipY->GetOutput():金资助。以上便是集成环境下的D|COM图像显小。o1994-2011ChinaAcadcmicJournalElcctronicPublishingHousc.Allrightsroscrved.http://www.cnki.nctCn.zg/ckf.com2420P.O. Box 1200, Shenyang 110004

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • libsvm工具包(含网格法查找最优解函数 SVMcgForClass.m 内用svmtrain函数)
    在其中的windows文件夹中
    2020-12-05下载
    积分:1
  • qt应用项目
    Qt项目实例,大量实战项目,供你参考,不要错过。
    2021-05-06下载
    积分:1
  • 基于51单片机的数字频率计及proteus仿真
    基于51单片机的较为完美的数字频率计设计,测量范围:10Hz~100000Hz。程序利用proteus仿真,文件包含仿真文件以及程序源码。
    2020-11-30下载
    积分:1
  • 指纹识别算法matlab
    在网上找到的可以正确使用的matlab指纹识别的程序
    2020-12-06下载
    积分:1
  • 28335芯片中文资料
    28335的中文翻译资料,很好,很全面,几乎把英文版的意思都表达到了lEXASINSTRUMENTS寄存器校准多通道缓冲串行端口模块增强型控制器局域网模块和串行通信接口模块串行外设接口模块内部集成电路外部接器件支持器件和开发支持工具命名规则文档支持社区资源电气规范最大绝对额定值建议的运行条件电气特性流耗减少流耗流耗图散热设计考虑在没有针对的信号缓冲的情况下,仿真器连接时序参数符号安排定时参数的通用注释测试负载电路器件时钟表时钟要求和特性电源排序电源管理和监控电路解决方案通用输入输出输出时序输入时序针对输入信号的采样窗口宽度低功耗模式唤陧时序增强型控制外设增强型脉宽调制器时序触发区输入时序高分辨率时序增强型捕捉时序增强型正交编码器脉冲时序转换开始时序外部中断时序电气特性和时序串行外设接口模块主模式时序受控模式时序外部接口时序同步模式异步模式信号与致外部接口读取时序外部接口写入时序版权内容EXASINSTRUMENTS带有一个外部等待状态的外部接口读取准备就绪时序带有一个外部等待状态的外部接口写入准备就绪时序和定时片载模数转挨器加电控制位时序定义顺序采样模式(单通道)同步采样模式(双通道)详细说明多通道缓冲串行端口模块发送和接收时序作为主控或者受控时序闪存定时器件和器件之间的迁移到的修订历史记录到修订历史记录散热和机械数据内容权lEXASINSTRUMENTS图片列表引脚蒲型四方扁平封装(顶视图)焊球(左上象限)(底视图)焊球右上象限)(底视图焊球(左下象限)(底视图焊球(右下象限)(底视图)焊球塑料(左上象限)(底视图)焊球塑料(右上象限)(底视图)焊球塑料(左下象限)(底视图)焊球塑料(右上象限)(底视图)功能方框图内存映射内存映射内存映射外部和中断源外部中断使用块的中断复用时钟和复位域和块方框图使用一个外部振荡器使用一个外部振荡器使用内部振荡器实全装置模块功能方框图定时器定时器屮断信号和输出信号时基计数器同步方案子模块显示关键内部信号互连功能方框图功能方框图模块的方框图带有内部基准的引脚连接带有外部基准的引脚连接模块方框图和接口电路图内存映射内存吹射串行通信接口模块方框图模块方框图(受控模式外设模块接口方框图使用采样窗口的限定外部接口方框图典型的位数据总线连接典型的位数据总线连接的器件命名法示例典型运行电流与频率间的关系(典型运行功率与频率间的关系(版权图片列表EXASINSTRUMENTS在没有针对的信号缓冲的情况下,仿真器连接测试负载电路时钟时序加电复位热复位写入寄存器所产生的效果的示例通用输出时序采样模式通用输入时序进入和退出定时进入和退出时序图使用的唤醒特性或者时序外部中断时序主控模式外部时序(时钟相位)主控模式外部时序(时钟相位)受控模式夕部时序(时钟相位受控模式外部时序(时钟相位)和之间的关系示例读取访问示例写入访问使用同步访问读取的样本使用异步访问读取的样本使用同步访问写入使用异步访问写入外部接口保持波形时序要求加电控制位时序模拟输入阻抗模型顺序采样模式(单通道)时序同步采样模式时序接收时序发送时序作为主控或者受控时的时序:作为主控或者受控时的时序作为主控或者受控时的时序:作为主控或者受控时的时序图片列表权lEXASINSTRUMENTS图表列表碩件特性硬件特性信号说明中闪存扇区的地址中闪存扇区的地址中闪存扇区的地址处理安全代码付置等待状态引导模式选择外设引导加载引脚外设帧寄存器外设帧寄存器外设帧客存器外设帧寄存器器件仿真寄存器外设中断配置和控制奇存器外部中断寄存器,时钟,安全装置,和低功率模式寄存器设置分频选项可能的配置模式低功率模式定时器,,配置和控制寄存器控制和状态寄存器(屮的默认配置)控制和状态寄存器(在中重新映射的配置可由访问)控制和状态奇存器控制和状态寄存器寄存器寄存器汇总收发器寄存器映射寄存器寄存器寄存器寄存器寄存器寄存器复用器外设选择矩阵复用器外设选择矩阵复用器外设选择矩阵配置和控制寄存器映射外设选择指南时电源引脚的流耗为电源引脚的流耗不同外设的典型流耗(在上时)计时和命名规则(器件)版权图表列表EXASINSTRUMENTS计时和命名规则(器件)输入时钟频率时序要求被启用时序要求被禁用开关特性(旁通或者被禁用)电源管哩和监控电路解决方案序要求通用输出开关特性通用输入时序要求模式时序要求模式开关特性模式定时要求模式开关特性模式时序要求模式开关特性时序要求开关特性可编程控制枚障区输入定时要求在时,高分辨率特性增强型捕捉时序要求开关特性增强型正交编码器脉冲时序要求开关特性外部转换开始开关特性外部中断时序要求外部屮断开关特性时序主控模式外部时序(吋钟相位)主控模式外部时序(时钟相位)受控模式外部时序(时钟相位)受空模式外部时序(时钟相位中配置的参数和脉冲持续时间之间的关系时钟配置对于外部存储器接口读取时序要求外部内存接口读取开关特性外部存储器接口写入开关特性外部接口读取开关特性(读取准备就绪,个等待状态)外部接口读取时序要求(读取就绪,个等待状态同步时序要求(读取准各就绪,个等待状态)异步时序要求(读取准各就绪,个等待状态外部接口写入开关特性(写入准备就绪,个等待状态)同步时序要求(写入准各就绪,个等待状态异步时序要求(写入准各就绪,个等待状态)时序要求时序要求电气特性(在推荐的运行条件下)加电延迟不同配置的典型电流消耗(在上)图表列表权lEXASINSTRUMENTS顺序采样模式时序同步采样模式时序时序时要求开关特性作为主控或者受控定时要求作为主控或者受控开关特性主控或者受控时的定时要求作为主控或者受控开关特性作为主控或者受控定时要求作为主控或者受控开关特性作为主控或者受控定时要求作为主控或者受控时的开关侍性对于和温度材料的闪存耐受度闪存对于温度材料的耐受度上的闪存参数:闪存访问时序闪存数据保持持续时间不同频率上所需最小的闪存等待状态散热模型引脚结果散热模型引脚结果散热模型焊球结果散热模型焊球结果版权图表列表TEXASINSTRUMENTS数字信号控制器查询样品特性高性能静态技术增强型控制外设高达周期时间)多达个脉宽调制输出内核,设计高达个支持微边界定位分辨率高性能位的高分辨率脉宽调制器输出单精度浮点单元()(只在高达个事件捕捉输入上提供)多达两个正交编码器接口和双介质方问控制运算高达个位定时器(个以及个)哈佛总线架构高达位定时器快速中断响应和处理个以及个统一存储器编程模型三个位定时器高效代码(使用和汇编语言)串行端口外设通道处理器(用多达个控制器局域网模块和多达模块位或位外部接口高达个模块(可配置为)超过地址范围个模块片载存储器一个内部集成电路总线位模数转换器个通道闪存,转换率通道输入复用器闪存两个采样保持单一同步转换闪存,内部或者外部基准次性可编程多达个具有输入滤波功能可单独编程的多路复用引导通用输入输出引脚支持软件引导模式(通过边界扫描支持和并高级仿真特性标准数学表分析和断点功能时钟和系统控制借助硬件的实时调试支持动态锁相环开发支持包括比率变化片载振荡器编译器汇编语言连接器安全装置定时器模块到引脚可以连接到八个外部内核中断其中的一个数字电机控制和数字电源软件库可支持仝部个外设中断的外设中断扩展块位安全密钥锁保护闪存模块防止固件逆向工程标准标准测试端口和边界扫面架构A版权
    2020-12-08下载
    积分:1
  • c和指针源代码(经典书籍的源代码)
    c和指针源代码,超级好,学完,c就厉害了
    2020-12-11下载
    积分:1
  • PIO基础鸽群优化算法
    基本鸽群优化算法,由北京航空航天大学段海滨教授等人提出,可用于解决优化问题,收敛速度较快
    2020-11-27下载
    积分:1
  • matlab 经纬度 东北天 直角坐标系转换代码
    本Matlab代码提供了地理坐标丰富的转换功能:涵盖了经纬度坐标转东北天坐标;经纬度坐标转地心直角坐标;地心直角坐标转东北天;地心直角坐标转经纬度的功能;代码简洁易懂,高效
    2020-11-28下载
    积分:1
  • MPLAB的XC8译器
    MPLAB的XC8编译器,在网上不好找,之前的比较老的PIC单片机的单片机系列,PIC12、PIC16、PIC18、PIC24系列8位机
    2021-05-07下载
    积分:1
  • 复杂网络 常用数据集.zip
    【实例简介】常用的复杂网络的数据集,包括karate,dolphins,football等 此外部分数据集还提供了相应的论文 针对数据集进行了无向图和有向图以及加权无权的分类,方便使用
    2021-12-01 00:48:19下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载