下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 senior_thesis_tart

senior_thesis_tart.pdf

senior_thesis_tart

学佛伊始
2013-02-06 0人阅读 举报 0 0 暂无简介

简介:本文档为《senior_thesis_tartpdf》,可适用于人文社科领域

SkeletonizationandCenterlineExtractionandBioinformaticsLabNotebookChristopherTartMayAdvisors:DrKalpathiRSubramanianDrAnthonyFodorTableofContentsPrefaceSkeletonizationandCenterlineExtractionChapterIntroductionChapterCenterlineAlgorithms:PreviousAlgorithms:NewAlgorithmChapterImplementation:Components:VisualizationToolKitFastLightToolkit:ExistingApplicationClasses:NewClasses:MainWindow:VtkCanvas:AlgorithmProcessing:VolumeBSCoding:VolumeSSCoding:VolumePartition:SkeletonExtraction:BOXAlgorithmChapterConclusionBioinformaticsLabNotebookChapterIntroductionChapterThePrototypeChapterDesignRequirementsChapterImplementation:Components:FastLightToolkit:OpenGL:MySQLandMySQL:Design:ClassStructureforDataInput:ClassStructureforDataDisplay:ClassStructureforUserInteractionChapterConclusionReferencesPrefaceFormyseniorprojectIwasinvolvedintwodistinctprojects,skeletonizationofmedicalvolumes,andabioinformaticslabnotebookIwillbreakeachprojectintotwosectionsanddiscusseachseparatelyThefirstprojectwasaconversionofanapplicationoriginallycreatedbyJianfeiLiu,aPhdstudentstudyinghereatUNCCHisapplicationwasaproofofconceptimplementationofacenterlineextractionalgorithmthathecreatedThesecondprojectinvolvedasoftwareredesignandimprovementofaprototypebioinformaticsviewercreatedbyDrAnthonyFodorSkeletonizationandCenterlineExtractionChapterIntroductionOneofthetasksofcomputervisualizationistodeterminealgorithmstoanalyzedata,andconstruct,store,anddisplaymeaningfulresultsfromthisanalysisStructuralskeletonizationisonesuchprocessAsmorehighresolutionvolumedatasetsarebecomingavailable,thereismoredemandtocompactthestructureforthesedatasetsformoreefficientmemoryusageGivenasetofatreelikevolumefrombiologicaldata,itisusefultodeterminethecenterlineskeletontoprovideusefulcuesforhighlightingstructuralfeaturesVirtualendoscopywouldbeoneimportantuseVirtualendoscopyisanapplicationwhichdealswiththeexplorationofholloworgansandanatomicalcavitiesusingvolumedataTherearemanyusesforvirtualendoscopyinthemedicalfield,suchasusingdatafromapatienttoprojectthebestpathforanendoscopictoolwithinthebodyThereareseveralexistingalgorithmsforthisproblemhowevertheyarelessthenidealfordifferentcasesJianfeiLiu,aPhDstudentattendingUNCC,createdanewalgorithmwhichattemptstoaddressseveraloftheproblemswiththeexistingalgorithmsHedevelopedaWindowsapplicationasaproofofconceptforhisalgorithmusingOpenGLMytaskwastoportthisapplicationtotheLinuxplatform,andusetheVisualizationToolkit(VTK)formuchoftheprocessinganddisplayInadditiontheFastLightToolkit(FLTK)wasusedfortheinterfaceBothofthesetoolkitsarecrossplatformcompatibleandultimatelytheprogramdevelopeddidrunonbothLinuxandWindowsChapterCenterlineAlgorithms:PreviousAlgorithmsThereexistseveralalgorithmsthatattempttoskeletonizeavolumeTheysucceedtoavaryingdegreedependingonthestructureofthedatatheyaretryingtoskeletonize•VoronoimethodsVoronoimethods,,takeadvantageofVoronoidiagramstogenerateskeletonswithVoronoipolygonsinDandVoronoipolyhedrainDItismainlyusedforpolygondefinedobjectsandnotappropriateforvolumetricmodelsInaddition,noisyboundariestendtogeneratedenseVorionidiagramsandcausemanyspuriousbranches•SkeletonreplacementapproachesPaikproposedapracticablethinningapproachtoextractareliablepathforvirtualendoscopyItrepeatedlydeterminestheshortestpathalongtheoutmostlayerofthevolumetricobjectsgeneratedbyaparallelunrestrictedthinningalgorithmuntilonlyonecentralpathremainsExtendingfrom,MahnazmodifiesthecomputationofthecentralpathineachexposedoutmostlayerbydistancetransformationThesemethodsguaranteetheconnectivityofthecenterline,butthemanualdetectionofbranchtipsaswellascomputationefficiencyneedstobeimproved•TemplatebasedthinningMaproposedafullyparallel,connectivitypreservingthinningalgorithmtoreducecomputationalcostsItavoidsexpensivetestingofsimplepointsbymatchingtheneighborhoodofthepointswithspecifictemplatesobtainedbyrotatingandreflectingsocalledtemplatecoresHowever,itmaydisconnectthecenterlinewhenapointbelongingtotheclassDtemplatesisdeletedinparallelwithsomeofitsadjacentpoints,breakingthesimplepointconditionInaddition,itoftengeneratesaskeletonwithmanyspuriousbranchesandleavesunorganizeddiscretepointsVilanovatreatsthetemplatesofclassDinaseparateiteration,butitstillcan'tguaranteetheconnectivitywhentheadjacentpointsinclassDtemplatesaredeletedinparallelTheconnectivityoftheskeletoniskeptinbyadjustingapointdeletedwithitsneighborpointsindifferentiterationsAlengthparameterisalsoappliedtoremovetheinfluenceofspuriousbranchesinButthesemethodsareinvalidifthelengthofaspuriousbranchismorethanthatofarealone•IntegratingdistancebasedskeletonizationZhouproposedanefficientsolutiontosettleeachskeletonpointtothemaximumDFBdistance(DistanceFromBoundary)withinthevoxelclusterofthesameDFSdistance(DistanceFromaStartingpoint)However,thisalgorithmisbasedonlocalheuristicsandmaydisconnectthecandidateskeletonandstitchitbacktogetherBitterprovidedaglobalminimumcostpathsearchingalgorithmwiththepenaltydistance,whichisdefinedasaheuristiccombinationoftheDFSdistanceandtheDFBdistanceSatoextendedthisalgorithmtotreestructureskeletonsbyanadaptivesphereAlthoughBitterfurtherimprovedthepenaltydistancealgorithmtocorrecttwosmallmistakesinand,thesetechniquesstillcouldnotcompletelypreventthe"huggingcorner"problemWanproposedamoreefficientskeletonizationalgorithmtosolvethisproblembydeliveringacenteredpathratherthanashortestoneusingtheexactEuclideandistanceButtheskeletonstilldoesnotfollowthemedialaxiswhenseveralcandidatepointsoccupythesamedistancevalueAlmostallthesealgorithmsarenoteffectiveineliminatingtheinfluenceofabranchonotherbranches,andspuriousbranches:NewAlgorithmSkeletonExtractionVolumeDecompositionDFBdistancetransformationVolumedataClustergraphconstructionLocalDFSdistancetransformationfromeachbranchnodeLocaldistancetransformationfromtwoseparateregionsMinimumspanningtreeconstructionSkeletonsegmentextractionHierarchicalSkeletonDFSdistancetransformationFigure:AlgorithmStructureAsshowninFigure,thisalgorithmhastwomainparts:volumedecomposition,andskeletonextractionThekeyideaofthisalgorithmisfirsttodecomposethewholeinputobjectintosingletubecomponents,findthecenterlineofeachsubvolume,andfinallycreateahierarchicalskeletonwithhighcenterednessThefirstmainpartofthealgorithmisvolumedecompositionThefirststeptoachievethisisthedistancefromboundarycomputation(DFB)Thisstepcomputeshowfarfromtheboundaryeachvoxelis,andmarkswhichvoxelswewanttousebasedonthisdistanceThesecondstepistocomputethedistancefromthestartingpoint(DFS)foreachvoxelThestartingpointinthiscaseisdefinedasthecenterofthetrunkofthevolumeThethirdstepistobreakthevolumeupintoclustersofvoxelswiththesameDFS,constructaclustergraph,andidentifytwospecifictypesofclusters:nodetipsandbranchpointsThefourthstepistocomputealocalDFSfromeachofthebranchpointscomputedinthepreviousstepForthelaststepofvolumedecomposition,thealgorithmlooksfortwoclusterswiththesamelocalDFSvaluesandperformsadistancetransformsequentiallybackwardsuntilthetwolayersmeet,whichmarkstheboundaryofthebranchThesecondmainpartistheconstructthefinalcenterlineskeletonItbeginsbyfirstconstructingaminimumspanningtree(MST)usingtheDFBandDFScalculationsOnceconstructed,theMSTisusedtocomputethecenterlineforeachsubvolume,andthecenterlinesarehierarchicallyconnectedtoformthefinalskeletonFigureshowsvisuallytheresultsfromeachofthetwomainpartsofthealgorithm(a)(b)Figure:VisualizationfromVolumeDecomposition(a)andCenterlineSkeleton(b)ChapterImplementation:Components:VisualizationToolkitTheVisualizationToolkit(VTK)isanopensourceCclasslibraryforDcomputergraphics,imageprocessing,andvisualizationItisfreelyavailableandusedbythousandsofresearchersanddevelopersaroundtheworldVTKincludesmanyusefultoolsforthisapplicationThebasicconceptofVTKistosetupavisualizationpipelinebyconnectingvariousVTKobjectstogethertoreaddata,modifyit,applyfilters,andplaceitinsidearendererFastLightToolkitTheFastLightToolkit(FLTK)isacrossplatformCGUItoolkitwhichprovidesahighlevelofGUIfunctionalityandsupportforDgraphicsviaOpenGLFLTKprovidesasimplewaytocreatetheinterfaceofourapplicationThebasicobjectinFLTKisawidgetWidgetscanalsocontainotherwidgetssoyoucancreateahierarchyofobjectsForourapplicationweuseasinglewindowwidgetwhichcontainsallourotherwidgets:ExistingApplicationClassesTheexistingapplicationwasprogrammedinCasapureWindowsapplicationusingOpenGLforthedisplayThedatausedbythisprogramconsistedofvolumedatastoredinbitWindowsBMPfiles,whereeachfilewasasinglesliceofthedataIntheexistingapplicationtherearefourmainclassfiles:VolumeBSCoding,VolumeSSCoding,VolumePartition,andCenterlineExtractionThesedoallofthecomputationworkforthealgorithmTherearealsoseveralsupportclasses:Algorithm,DistanceTransform,Obj,SortHeap,Tree,andVoxelAlgorithm,aswellasaheaderfileforprogramwidedefinitions:NewClassesTheprecedingthreecomponentscombinetorecreatetheinterfaceandfunctionalitythatwascreatedthroughtheWindowsspecificMFCintheexistingapplicationTwoclasseswerecreated:MainWindowtohandletheinterface,andVtkCanvastohandledataprocessingandthevisualizationdisplayTheVtkCanvasclasstakesadvantageofasupportclass,vtkFlRenderWindowInteractor,whichmakesiteasytoplaceaVTKrenderwindowwithinaFLTKwindowTheVtkCanvasclassalsocontainstheclassesfromtheexistingprogramFigureshowsthegeneralstructurefortheapplication,andtheclassesusedinMainWindowandVtkCanvasFigure:ProgramStructureMainWindowInterface(FLTK):FlWindowFlBoxFlMenubarFlButtonFlValueSliderFlProgressFlPackFlGIFImageFlFileChooserVtkCanvasVtkCanvasDataReading(VTK):vtkBMPReadervtkUnsignedCharArrayvtkImageDataDisplay(VTK):vtkCubeSourcevtkExtractVOIvtkImageMarchingCubesvtkPolyDataNormalsvtkPolyDataMappervtkActorvtkRenderervtkRenderWindowvtkFlRenderWindowInteractorProcessing(PortedClasses):VolumeBSCodingVolumeSSCodingVolumePartitionCenterlineExtractionApplication:MainWindowMainWindowcontainsalltheinterfaceelementsfortheprogramItcreatesanewFlWindowandaddsseveralwidgetstoitTheFlMenubarcontainsseveralcommandsandoptionsTheFlButtonandFlValueSliderareusedduringthealgorithmprocessingsteps,andtheFlBoxisusedtodisplayatextmessageWithinMainWindowarealsothecallbackfunctionsthatarecalledwhenyouinteractwiththesewidgetsFinallyMainWindowcreatesanewVtkCanvaswhichiswherethemajorityoftheworkisdone:VtkCanvasVtkCanvascontainsthedatareading,processingandoutputfunctions,aswellastheclassesimplementingthealgorithm,asshowninFigureItusesvtkBMPReaderfordatareadingtoinputacollectionofBMPfiles,whicharestoredasvtkImageDataItthenpullstherawdatafromthevtkImagaDataandstoresitasavtkUnsignedCharArraywhichisconvertedandstoredwithinastructurethattheclassesimplementingthealgorithmuseWhencreatingthenewVtkCanvas,thevisualizationpipelineisinstantiatedintheVtkCanvasconstructorasseeninFigurebmpinput=vtkBMPReader::New()subsamp=vtkExtractVOI::New()mcubes=vtkImageMarchingCubes::New()mcubes>SetInput(subsamp>GetOutput())mcubes>SetValue(,)norm=vtkPolyDataNormals::New()norm>SetInput(mcubes>GetOutput())norm>SetFeatureAngle()mapper=vtkPolyDataMapper::New()mapper>SetInput(norm>GetOutput())mapper>ScalarVisibilityOff()actor=vtkActor::New()actor>SetMapper(mapper)ren=vtkRenderer::New()ren>SetBackground(f,f,f)renwin=vtkRenderWindow::New()renwin>AddRenderer(ren)iren=newvtkFlRenderWindowInteractor(x,y,w,h,)iren>SetRenderWindow(renwin)iren>Initialize()Figure:VisualizationPipelinefromVtkCanvasConstructorInitiallybmpinputisemptySelectingamenuoptionrunstheopenBMPfunctionwhichdoestwothingsFirstitloadsthebmpinputclasswiththedataThemarchingcubesalgorithmisappliedtoobtainapolygonrepresentationofthevolumeTheoutputfrommarchingcubesissentthroughapolygonnormalfilterandapolygondatamapperbeforebeingsetasavtkActorobjectandaddedtotherendererThiscreatesanoutlineforthevolumewhichweuseasareferenceaswedisplaymoredata,asseeninFigureSecondlyitpullstherawdataoutofthebmpinputclass,whichisthenusedtopopulateanarraywithinavolumedatastructureFigure:CompletedLoadingData:AlgorithmProcessingOnceloaded,thedataneedstobesentthrougheachstepofthealgorithmEachstepisdependentontheprevious,andthefirsttwostepsrequiretheinputofaparameterspecificforeachstep,whichneedstobeadjustedforthespecificdatatoensuretheprocessissuccessfulThetwoprimaryinterfaceitemsusedaretheslider,andtheProceedbuttonasseeninFigureTheslidervariestheparameterforthecurrentstepTheProceedbuttonsendstheprogramtothenextstepofthealgorithmAftereachstepofthealgorithm,visualizationoutputisdisplayedtoshowtheresultofthecomputationThuseachstephastwofunctions,oneforthecomputation,andonefortherenderingFigure:SliderandButtonInterfaceElements:VolumeBSCodingThisclassimplementsthedistancefromboundarycomputationsforthealgorithmForthisstep,theparameterdeterminesthedistancecutoffforthevoxelstoincludeinthenextstepsThesmallertheslidernumber,themorevoxelsareincludedForthisstep,thedisplayshowsallthevoxelswhicharewithinthecutoffsetbythesliderTheoutputisfirstconvertedtoacustomstructurecalledBOXWewilldiscusstheBOXalgorithmlaterEachBOXisthenrenderedusingavtkCubeMovingtheslidercausestherenderingtoupdatesoyouareabletovisuallyseetheeffectsofchangingtheparameterFigureshowstheresultofthisstepwiththedefaultvaluefortheparameter,andFigureshowsitwithlowervaluefortheparameterFigure:BSCodingwithdefaultparameterFigure:BSCodingwithalower

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/47

senior_thesis_tart

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利