基于ITK、VTK与MFC读取DICOM图像
基于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
- 2020-12-01下载
- 积分:1
测量电子电路设计
测量电子电路设计模拟篇,觉得讲解得比较深刻,分享给大家图解实用电子技术丛书测量电子电路设计滤波器篇从滤波器设计到锁相放大器的应用「日]远坂俊昭著彭军译钭学出版社北京图字:01-2005-4936号内容简介本书是“图解实用电子技术丛书”之一,也是《測量电子电路设计—模拟篇》的姊妹篇,主要介绍如何从放大了的信号中除去有害噪声,提取有用信号的滤波技术。书中介绍处理低频信号所必需的RC滤波蕃、有源滤波器、C滤波器,以及低频滤波器中能够实现极限Q值的锁相放大器的设计方法等,同时还提供大量的实验数据和模拟数据模拟篇中主要从高轉度信号量的观点,举具体的设计和制作实例详解模拟电路的基本电路,即放大电路。本书的读者对象主要是电子工程技木人员,也可供电子、自动化、仪器仪表等相关专业的师生参考学习。图书在版编目(CIP数据测量电子电路设计:滤彼器篇远坂俊昭著;彭详,北京:科学出版社,2006(图解实用电于技术丛书ISBN7-03-01712-9I.测…Ⅱ.①远…⑨彭…皿.①电子测量-电路设计②港波器设计N.TM930.111-64中国版本图书馆CIP数据核字〔2006)第041385号女编樨:赵方青崔炳哲贲任制作:魏莲责仔印制:刘士平广封面设计:李力共京东方龙盟久有限"司制作-:tp://www.okbuok.conll.cn臀☆服出版」京乐黄城根北街16号郎政编:007lh:tp://www.sciencecon海印射有限责佳公司印刷科学出版社发行各地新华书店经销2006年E月第版开本2006年6月算一次印刷印张:171/4印数:1—4000字数;26200定价:38.00元(如有印装质量问题我社负责调换〈新欣》)刊言本书是《测量电子电路设计—模拟篇》一书的姊妹篇《测量电子电路设计—模拟篇主要着眼于对来自传感器的具有一定S/N的微弱信号电压进行放大的技术。本书的主题则是从放大了的信号中除去有害噪声,提取有用信号的滤波技术无论是由一个电阻和一个电容构成的RC滤波器,还是分析類率高达几十吉赫的炯谱分析器都统称为滤波器,可见其包含的种类和技术非常庞杂木书在介绍应用丁处理频信号的RC滤波器、有源滤波器、LC滤波器,以及低频滤波器中能够实现极限Q值的锁相啟大器〔Iock- in Amplifier)的设计方法的同时,还提供了大量的实验数据和模拟数据。通常关于滤波器的专业书籍,既要颇费力气地阐述理论,又要介绍进行设计时必要的事项。而本书则将重点放在实用设计所必需的技术问题上。这些内容对于直接进行实际设计无疑是非常有用的,只是有关滤波器基础理论的内容相对而言略显单薄。因此书木罗列出参考文献,以供希望进一步深入学习滤波器理论知识的读者参考。要想了解锁相放大器.需要具备一定的锁相环( Phase LockedIoop,PLI)基本知识,不过简明易懂地介绍PIL,中使用的滤波器参数计算方法的专业书籍并不多见。本书对于PLL中使用的滤波器的计算问题,不但在介绍其设计方法的同时还提供大量的实验数据和模拟数据,所以请因PII知识比较欠缺而感到困惑的读者务必阅读这些内容。同时,也向那些对于锁相放大器的使用方法感到困惑的在物理、化学等领域工作的渎者推荐本书。为了熟练地使用测量仪器,必须熟知测量仪器的原理。当进行某种实验时,不仅需要购置正规厂家的测量仪器建立测量系统,还需要自制夹具提高实验准确性和速度。如果任何配件都寄希望于向厂家定做,既花费时间而又未必ⅱ前言合适。请务必阅读本书,学习并掌握自制前置啟大器和滤波器、排除外来噪声的技术,以便能够完成独创性的、质量更高的实验。《测量电子电路设计——模拟篇》和本书都是在CQ出版株式会社董事兼电子电路技术研究会主持人蒲生良治先生的建议下着手编写的ε利用休息日,为进行计算杋模拟而敲键盘,握着电烙铁做作业,原本预定半年完成,结果花了5年的时间。在此,谨向耐心等待迟到稿件的蒲生良治先生和作者的恩师——(株)NF电路设计集团常务董事荒木邦尔先生,以及给予了许多帮助的电子电路技术研究会的各位同仁致以深深的谢意而且,还要向包饺子高手—妻子宏子因怠慢而深表歉意,同时感谢她给予我的支持。著目录第1章概述1.1滤波器的特性与种类……1.1.1各种滤波器—本书介绍频率意义上的滤波器……………………………………11.1.2噪声与滤波器的节宽中中+当甲·甲···鲁中世1.1.3瀌波器对白噪声的滤波效果31.1.4防混浠作用的低通滤波器……………………51.1.5高通瀌波器(HPF)的作用1.1.6带通滤波器(BPF)的作用……1.1.7带阻滤波器(BEF)的作用1.1.8模拟滤波器与数字滤波器1.1.9能够自制的滤波器…………………………101.10由厂家制作的滤波器1.2滤波器的频率响应与时间响应特性■画121.2.1滤波器的阶数与衰减陡度………………121.2.2最大平坦:巴特沃斯特性3.2.3快速调整阶跃响应的贝塞尔特性131.2.4实现陡峭特性的切比雪夫特性141.2.5更加陡峭椭圆( Elliptic)特性151·2.6滤波器的副作馬—对响应特性的影响■■1.2.7髙通滤波器的时间哨应特性…画中b1.2.8带通滤波器的时间啊应特性……………19第2章RC滤波器与RC电路网络的设计…2.1最简单的RC滤波器曾即鲁鲁自·鲁申使费曹鲁啬轟最2.1.1RC低通滤波春的特性2.1.2DC前置放大春上附加RC濾波器222.1.3RC滤波器的多级连接23目录2加深对RC电路网络的印象262.2.1表现电路网络动作的万能曲线2.2.2设时利用渐近线272.2.3高頻截止/低频截止的A万能曲线282.2.4描述相位返回特性的B万能曲线…295PLL电路中应用的高频截止的B万能曲线…302.2.6应用于OP放大器相位补偿的低频截止的B万能曲线第3章有源滤波器的设计373.1概述373.1.1有源湖波器—确定参数值时的自由度高3.1.22阶有源濾波器设计基础3.2有源低通滤波器的设计………403.2.1经掌使用的正反馈型2阶IPF(增益=1)的构成3.2.25阶巴特沃斯LPF的计算例413.2.3使IPF具有放大率的滤波电路3.2.4王反缋型IPF(增益≠1)的构成…433.2.5减小元件灵敏度和失真的多重反愦型LPF…458,2.6有源IPF的高频特性……………………473.3有源高通滤波器的设计……493.3.1正反馈型2阶HPF的构成3.3.25阶切比雪夫HPF的计算例…………………5033.3多重反馈型HHF的构成…3.4状态可调滤波器的设计523.4.1状态可调滤波器的概念翻鲁音垂阝垂垂曲4非省当··垂523.4.2反转型与非反转型在特性上的差别…533.4.3在可变頻率-可变Q的通用滤波器中的应用…573.4.4状恋可调滤波器模块3.4.5低失真率的双截型濾波器583.5带通滤波器的设计…593.5.1将IPF与HPF级联59专栏A状态可调滤波器在低失真率振荡晷中的应用…615.2Q=10以下的1个OP放大器的多重反馈型BPF……………………………623.5.3中心频率为1kHz,Q=5的带通滤波器……633,5.42个放大器的高Q值BPF653.5.5能够用于评价OP故大器噪声的带宽100Hz的BPF………………………663.6带阻滤波器的设计……………………………693,6.1使用BPF的带阻滤波器693.6.2测量失真用的双T陷波滤波器aaaa,了附录有源滤波器设计用的归一化表3第4章LC滤波器的设计794.1LC滤波器概述冒留冒·d中「司自e业宁皇费曲日4.1.1LC滤波器在1ckHz以上的使用价值高4.1.2利用归一表和模拟器使设计变得简单…804.1.3LC滤波器的两种类型………………814.2LC滤波器的设计4.2.1低通LC濾波器的设计…4.2.2归一化表的使黑方法………834.2.3由低通滤波器(LPF)变换为高通滤波器(HPF)8442.4变换为带通滤波罨(BPF)………85专栏B函数台式计算机的应用42.5IPF的带宽越謇响应越慢…………………894.3LC滤波器的实验制作914.31附有5阶低通滤波器的前置放大器………914.3.2巴特沃斯BPF的试制94第5章模拟LC型有源滤波器的设计975.1模拟LC的概念……975.1.1不希望使用线圈甲q曾曹4975.1.2实现FDNR的电路………985.2实用的FDNR滤波器的设计………………985.2.15阶IPF均设计985.2.2特点—不受OP放大器直流漂移的影响…1005.2.3注意最大输入电平1025.2.4信号源电阻为Og的FDNR濾波器…-102目录5,2.5信号源电阻为0Ω的FDNR5阶低通滤波器的试制………10552.6抗误差用7阶切比雪夫滤波春的设汁……108特性的检验1105,2,8利用高速A/D转换器减轻滤波器的负担1125.2.9将电容变换为电感的GIC113第6章滤波器使用的RLC…1176,1滤波器使用的电阻器1176.1.1各种电阻器……176.1.2滤波瘗电路中的金属膜电阻春……………1176.1.3电阻的频率特性……………………1196.2滤波器使用的电容器………………………12⊥6.2,1电容握要注意等效串联电阻Rs…………1216.2,2糈潓波馨中不使用铝电解电容器1246.2.3叠居陶瓷电容器1266.2,4薄膜电容器…………………1286.2,5苯乙烯电容器1306.2.6云母电容器1306.3滤波器使用的线圈1336,3.1线圈的种类和等效电路…………………1336.3.2徵型电感〔圆筒形………………·1356.3.3壶形轶心……………………………1386.3.4用壶形铁心制作电感器的要点……………*1396.3.5基干壶形铁心的100mH电感器的设计…1426.3.5方形金属外壳电感器非着毒看D··晶↓d■,南1456.3.7环形铁心…………………………………14763.8环形铁心电感器的设计例148专栏C关于E系列标准值…………………151第7章变压器对噪声的阻断/抑制作用1537.1变压器概述…………………………………1537.1.1不可轻视变压器的作用…………1537,],2变压器的基本动作…1537.1.3变压器的等效电路154
- 2021-05-06下载
- 积分:1