日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3DSlicer6:编译、调试、规范化的开发

發(fā)布時間:2025/3/15 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3DSlicer6:编译、调试、规范化的开发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.編譯

Step1:CMake生成Slicer工程文件


使用Cmake生成Slicer的解決方案(Solution)包括兩小點(diǎn):
  • 指定源代碼目錄:C:/myProjects/Slicer4;目標(biāo)目錄:C:/myProjects/Slicer4-SuperBuild-Debug
  • Configure后,添加qmake路徑:QT_QMAKE_EXECUTABLE=C:/myProject/Qt-4.6.3/bin/qmake.exe(要根據(jù)實(shí)際情況進(jìn)行修改)。Generate后完成工程的創(chuàng)建。

Step2:編譯Slicer


打開Slicer.sln,整個工程有28個項目組成,包括我們熟悉的VTK、ITK、DCMTK、CTK等庫。鼠標(biāo)右鍵點(diǎn)擊ALL_BUILD編譯所有項目。等待編譯完成,大概3~4小時~~~
Notice1:每個項目在工程中所起到的作用不同,其編譯過程也遵循一定的順序,如果其中一個項目處想問題,那么在這個項目編譯之后的所有項目都會出錯。 Notice2:如果真的很不幸,在編譯的過程中出現(xiàn)了錯誤。考慮到重新編譯一次時間太長,可以按照輸出窗口的提示進(jìn)行糾錯,然后從此處為起點(diǎn)進(jìn)行編譯。 Notice3:工程中的VTK、ITK等項目的源代碼并沒有包含在Slicer的源碼中,他們是在編譯的過程中,利用Git或SVN向遠(yuǎn)程服務(wù)器請求下載。因此編譯速度的快慢很大程度上取決于網(wǎng)絡(luò)環(huán)境。

2.調(diào)試

編譯之后還無法對Slicer的程序進(jìn)行調(diào)試,需要以下幾個步驟: 1) cd slicer-superbuild-debug\slicer-build
2) cmake.exe –VV --debug-output . ? ?(注意這里還有一個 . )
3) slicer.exe --VisualStudio slicer.sln /out buildlog.txt /build ?然后相關(guān)文件生成在切片機(jī)構(gòu)建/ bin /調(diào)試目錄
4) slicerQt-real.exe 就是調(diào)試文件.
5) slicer.exe –VisualStudio slicer.sln ?
打開VisualStudio后,瀏覽左邊的項目,將qSlicerQT設(shè)置為啟動項目,否則會被要求指定調(diào)試的項目。

3.Slicer的缺陷跟蹤系統(tǒng)

目前,Slicer已經(jīng)有超過120萬代碼,并變得越來越龐大。盡管3DSlicer管理人員在各種操作系統(tǒng)、各種硬件設(shè)備情況下調(diào)試,但由于功能復(fù)雜、代碼龐大,也會出現(xiàn)管理人員無法發(fā)現(xiàn)的問題。 為了保證Slicer軟件的質(zhì)量,以及對功能的完成度進(jìn)行控制,保證軟件開發(fā)的順利進(jìn)行,3Dslicer項目采用缺陷跟蹤系統(tǒng)Mantis對Slicer繼續(xù)管理。 缺陷管理平臺Mantis ,也做MantisBT,全稱Mantis Bug Tracker。Mantis是一個基于PHP技術(shù)的輕量級的開源缺陷跟蹤系統(tǒng),以Web操作的形式提供項目管理及缺陷跟蹤服務(wù)。個人可定制的Email通知功能,每個用戶可根據(jù)自身的工作特點(diǎn)只訂閱相關(guān)缺陷狀態(tài)郵件。

報告3DSlicer應(yīng)用程序相關(guān)問題流程: 1.https://issues.slicer.org/view_all_bug_page.php在View Issues中創(chuàng)建一個話題; 2.詳細(xì)填寫問題緣由; 3.箱Slicer開發(fā)者郵箱發(fā)送一份郵件,郵件中必須包含創(chuàng)建的話題,郵件格式名稱如下:[Bug<IssueNumber>]bug名稱。如下所示:

4.規(guī)范化的3DSlicer開發(fā)

單詞縮寫的大小寫應(yīng)該保持一致,保持大寫或小寫。例如
  • RASToSlice ? √ ? RasToSlice ?×
  • vtkMRML ? ? ?√ ? ?vtkMrml ? ?×
  • vtkSlicer ? ? ? ?√ ? ?vTKSlicer ? ×
單詞應(yīng)該拼寫完整。例如
  • GetWindow not GetWin
文件名稱必須遵循駝峰式大小寫約定,例如
  • TestMyFeature.cxx not Test-My_Feature.cxx
注釋規(guī)則
  • 大部分注釋應(yīng)該寫在頭文件中。
  • 代碼做出修改后及時更新注釋。
  • 使用關(guān)鍵字“\todo”(待辦事項)來標(biāo)記點(diǎn)需要重新審視的代碼。
  • 源文件中注釋掉的代碼塊也需要進(jìn)行注釋,如果需要,可以插入svn的版本鏈接作為注釋。
其他規(guī)則
  • 3D視圖中使用RAS坐標(biāo)。
  • 所有單位為毫米表示。
  • 每行代碼不超過80個字符。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的3DSlicer6:编译、调试、规范化的开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。