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

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

于 2020-12-01 发布
0 494
下载积分: 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 个回复

  • 车型识别系统,vc源码,opencv
    1.首先单击载入图像菜单项(载入背景和前景图像),图像在image文件夹下面。2.然后单击车辆提取菜单项,依次进行图像做差、二值化、开运算、图像去噪、图像填充处理。3.再单击轮廓提取菜单项,提取车辆轮廓。4.最后单击车型识别菜单项,对车辆进行识别。
    2020-12-04下载
    积分:1
  • 扩频通信系统的FPGA设计 郭黎利
    扩频通信系统的FPGA设计 郭黎利 主编
    2019-05-22下载
    积分:1
  • 433/315M遥控器原理图
    433/315M遥控器原理图,距离实测100m,如需更远距离,在天线输出端在加放大电路既可,在加3级放大后距离可以达到3000m
    2020-11-06下载
    积分:1
  • 基于XY2-100协议的振镜控制转换板的设计与实现
    基于XY2-100协议的振镜控制转换板的设计与实现,介绍了XY2-100协议,以及如何使用。《自动化与仪器仪表》2014年12期(总第182期)结束语2」李志洪计算机在办公自动化中的应用才智,2008(02)经济社会的发展促进办公自动化的发展,大数据时代使得[3]杨庆万计算机网络技术与办公自动化[广东科技,20071办公宰自动化对于计算机技术的使用提出越来越高的要求,企4宁长明,刘洪刚应用计算机网络系统实现办公自动化自动化技事业单位和办公人员都有责任共同努力,促进办公室自动化术与应用,2001(04)智能化,提高办公效率。办公室工作人员才是系统的主体部5余小惠计算机网络与办公自动化引进与咨询000分,要保持对新计算机技术的敏感性和可接受性。[6]唐世梅计算机在办公自动化中的应用[科技信息科学教研),2007(22)参考文献[7王民川.计算机在办公系统中综合运用的探索J中小企业管理与科技(下旬刊,2010(07)[l]龙玲.高校办公自动化应用教学的推广价值探究[小科技信息,2010[8]贺铿.大力推进统计系统办公自动化建设U中国统计,2001(08)(03)(上接第4页)图10表明输入控制量与光斑位置变化成线性关系,说明了输出数字量的准确性,振镜控制转换板可以有效地对振镜进行控制。5结束语本文在分析XY2-100协议的数据结构及接口定义的基础激光器振镜控制R32ARM上,结合DSP控制技术设计了振镜控制转换板,实现了对振镜振镜2204转换被的控制。从XY2-100协议入手,设计了DsPF2812的硬件电图9测试实验系统路,制作了振镜控制转换板。软件上通过对XY2-100的数据分扫描平面上的坐标值与两振镜转角的关系式为:析设计了软件流程,解决了协议的转换和与ARM11嵌入式系统通信的问题。通过实验表明设计的振镜转换板卡完成了协议y=d tane(1)转换的功能,与外界通信良好,实现了对振镜的X、Y轴方向的控制,取得了良好的控制效果。综上所述,这种高性能的振(Id 2ty+e)*tan日(2)镜控制转换板的设计具有重婆的应用价值。其中d为Y轴振镜到标记面的距离,X、Y轴振镜转角分别为,e为两个转镜之间的距离为l8mm。在距离坐标平面的距离参考文献d为235mm时,当Y轴输入控制量为0时,对应的坐标为]陈苗海中国激光加工产业现状和发展前景门激光与红外200434(2600mm,100mm),当输入的控制量为2时,对应的坐标为(1):73~77.(260.0mm,260.0mm),将坐标代人公式(1)计算得Y轴扫描[2]潘涌骆公序折射式扫描系统设计及应用应用激光,20123范围约为(-28°,+28°)。同理X轴扫描坐标范围:(260.0mm,[3] Newson Engineering. XY2-100 technical datasheet[EB/OL]. (2007-0331).http://www.new.be/rhotho1350mm),(l350mm,135.0mm),395.0mm,135.0mm)代人公式[4]柳宁基于MCU和DSP的运动控制研究硬件平台设计叮微计算(2,计算X轴扫描范围约为(-28°,+28°)。振镜控制转换板输机信息2006、22)11-2出的是20位的数据信号,其中起到控制转角作用的是16位的5]TMs320F28 x Product Data Sheet. Texas Instruments. SPRS74.2003数字量,范围是0-2的数字量,扫描范围约为28°,输入每隔6]TPs767D318 Product Data Sheet , Texas Instruments sLvS209H2004096个控制量振镜对应转角约为3.5°,在(-28,0)的范围[7]TMs32060003 oard Design for JTAG.Texas Instruments. SPRA584C,测试每转过35°与Y轴对应靶标上的位置。2002Y/mm[8]尹勇欧光军关荣锋DSP集成开发环境CCS使用指南[M北京:北京航空航天大学出版社,2003年聊入数字量50010000150002000250003000035000图10输出控制量与光斑在Y轴的位置万方数据
    2020-12-03下载
    积分:1
  • 个完整的心电检测系统文档(硬件,软件说明和C源代码)
    ECG检测系统的设计方案,包括了硬件说明,软件说明和基于keil for arm的C源代码PCB已经调通,程序代码也DEBUG好可供借鉴
    2020-12-04下载
    积分:1
  • MATLAB基于肤色模型和模板匹配的人脸定位检测
    毕设做的人脸检测,用的是matlab,首先进行了模板匹配的模板制作。在进行模板匹配。
    2020-11-30下载
    积分:1
  • SVPWM MatLab模型仿真.mdl
    【实例简介】不错的SVPWM MatLab模型,调试已经通过!
    2021-12-12 00:40:22下载
    积分:1
  • 圣诞节网页模板
    圣诞节祝福网页,只需要在最下部对话框里改为你需要的名字即可,你可以上传到自己的网站、转发给朋友等。
    2021-05-07下载
    积分:1
  • 中兴电路基础培训.ppt
    中兴电路基础培训.ppt
    2020-03-03下载
    积分:1
  • 无人驾驶入门--Autoware使用手册
    无人驾驶汽车系统入门 - Autoware_UsersManual_v1.1Autoware-用于城市自主驾驶的集成开源软件,支持以下功能:3D本地化3D映射路径规划路径跟随加速/制动/转向控制数据记录汽车/行人/物体检测交通信号检测交通灯识别车道检测对象跟踪传感器校准传感器融合面向云的地图连接自动化智能手机导航软件仿真虚拟现实Autoware受BSD许可证保护。请自行负责使用。为了安全使用,我们为不拥有真正自主车辆的人提供基于ROSBAG的仿真方法。如果您使用Autoware与真正的自主车辆,请在现场测试之前制定安全措施和风险评估。工尹-刁一定義亡机飞求世。Chapter1。 About This documentThis chapter describes the purpose of this document.Autoware Users ManualAutoware Developers manualChapter2。 RoS and AutowareBefore operating Autoware, RoS and Autoware are described in this chapter.Robot middleware- rosecently, the wide range potential of robotics has been focused by not only roboticsexperts but also non-robotics experts to join robot development It is believed thatthis trend leads robotics to advancement and developments to other domainsHowever, robot development is getting harder because the advancement and the complexityof robot functions have been increased Unlike Pcs and smartphones robotic developmenthas considered various hardware, OS, programming languages. Hence, the differences havemainly been obstructed for robotic developers as well as robotics experts to join robotdevelopmentTo solve the problem, the demand of making common platforms has been increased, andsome platforms have been published Within a common platform, developers can combinevarious software published by other developers, and speed up development by reusing themTherefore, it is expected that developers can more focus on fields of interestROS (Robot Operating System) is a framework for robotic software development. It wasdeveloped by Willow Garage in U.S. OSFR (Open Source Robotics Foundation) has currentlymaintained it. The open sourced ros has mainly been used by communities in U.S. andEurope as well as communities in JapanNote that ros has "os" in its name however, it is not "os" like Windows or linux. It is amiddleware that runs on uniX based OSROS FeaturesOriginal build system(Catkin)mage processing library(OpenCvv Data logging tool (ROSBAG)v Visualization tools for data and software state(rvizCoordinate transformation library (TFQt based gul development tool (RQTA""file is used to start multiple nodes atAutowareutoware is open source software based on ros. autoware is pushed on github forautonomous driving research and development. Most of autonomous drivingsystem consist of recognition, judgment, and operation. Autoware providesnecessary functions, such as 3-D map generation, localization, object recognition, andvehicle control, for autonomous drivingROS PCAutoware〔Ros)RecognitionJudgmentoperationObject DetectionLane KeepingAcceleratorLocalizationIntersectionBrakeSteeringAutowareRiderAutoware routePath PlanningVehicleVehicle control(CAN)CFigure 1 Autoware overviewwhile support systems such as driving assistance and safetydiagnosis support, use multi-core CPU3-D Map Generation and SharingLocalization(NDT: Normal Distributions Transform)object DetectionPath GenerationAutonomous Drivingtarget speed. In addition, the route includes landmarks, "way point, setintervals. The autonomous driving system operates path following by following the wayUser InterfaceA user interface called " Runtime Manager ofpath following. Furthermore, a tablet user interface, "Autoware Rider, of Autoware enablesROS PCAutoware(ROS)Runtime ManagerVIZAutoware ridertabletDisplay on vehicleOculusFigure 2 User interfacePlatform structure for autowareApplicationAutowareMiddlewareROSHost OsLinux( UbuntuCPUGPUCameraGNSSLIDARFigure 3 Platform structure for Autoware
    2021-05-07下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载