ezdicom於C++Builder6 的使用方法 |
答題得分者是:leoace
|
falconsyc
一般會員 發表:2 回覆:3 積分:1 註冊:2010-11-24 發送簡訊給我 |
各位前輩好
我是BCB的新手,想製作一個開啟dicom圖片的程式 目前對於Explicit VR Little Endian 已經可以開出來 現在在嘗試 JPEG Lossless Image Compression 的顯示. 想請各位幫忙剛如何將此圖解出 我依照下篇的方法安裝了ezdicom http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=82226 但不知道如何使用 希望有經驗的前輩可以幫忙解說 或是有範例可以參考 謝謝 我附上一個使用JPEG Lossless Image Compression 影像編碼的dicom檔 |
leoace
一般會員 發表:0 回覆:2 積分:5 註冊:2004-02-24 發送簡訊給我 |
我用DCMTK幫你測一下,附檔DICOM檔少了 PhotometricInterpretation參數
dcm2pnm 4cedffbac0a3f_3DSlice1.dcm 1.bmp E: can't change to unencapsulated representation for pixel data E: can't determine 'PhotometricInterpretation' of decompressed image E: mandatory attribute 'PhotometricInterpretation' is missing or can't be determined F: Missing attribute
|
falconsyc
一般會員 發表:2 回覆:3 積分:1 註冊:2010-11-24 發送簡訊給我 |
|
leoace
一般會員 發表:0 回覆:2 積分:5 註冊:2004-02-24 發送簡訊給我 |
這裡說的是DCMTK 3.5.5的安裝 1.下載DCMTk與Supported libraries for Windows以及CMAKE DCMTK3.5.5最新版http://dicom.offis.de/download/dcmtk/snapshot/ Supported libraries for Windows: ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/snapshot/dcmtk-3.5.5-win32-i386-support-20100706.zip CMAKE: http://www.cmake.org/ 2.使用CMAKE將DCMTK跟Supported libraries轉成Visual Studio可用的lib檔 2.1.修改CMakeLists.txt library support: 修改路徑與開起library選項變成"ON". 常用的library: libxml, libpng, libtiff, OpenSSL, zlib Ex: # libxml support OPTION(WITH_LIBXML "Build with libxml support." ON) GET_FILENAME_COMPONENT(LIBXML_DIR "${dcmtk_SOURCE_DIR}/../libxml2-2.6.26" ABSOLUTE) FIND_PATH(WITH_LIBXMLINC "include/libxml/parser.h" "${LIBXML_DIR}" NO_DEFAULT_PATH) 2.2.修改CMakeLists.txt, 設定CMAKE旗標將MT,MTd改成MD,MDd Ex: # set project wide flags for compiler and linker # settings for Microsoft Visual C IF(CMAKE_CXX_COMPILER MATCHES "CL|cl") IF(NOT WITH_SHARED_LIBS) IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") DCMTK 的設定中,預設是採用 "Multithreaded" runtime options (/MT and /MTd)但是Visual studio 2005以後的版本MFC只支援MD,MDd, 這個問題相信困擾DCMTK使用者好多年。講到這裡Microsoft真的很可惡,說改就改,過去MFC可以使用static link最後全部都要用dynamic link。這一改我想應該跑掉很多DCMTK的Windows使用者吧, 最後我幫OFFIS做了一個MD的版本問題才解決。 3.使用CMAKE來complie DCMKT變成Visual C 可用的library檔 CMAKE用來complie DCMKT可以參考此網頁http://blog.chinson.idv.tw/2008/07/dcmtk-for-visual-c-2005.html 不過他是3.5.4版本的。步驟差不多,可以忽略 步驟4. 4.設定DCMTK for Visual C 不同的設定為: 3. 在新專案中指定引用的相關程式庫檔案 (1) 從屬性對話盒左側選擇 "組態屬性" - "連結器" - "輸入" (2) 在右側的 "其他相依性" 屬性中填入以下字串,注意各程式庫檔的順序必須要正確。 advapi32.lib oflog.lib netapi32.lib wsock32.lib ofstd.lib dcmdata.lib dcmimgle.lib dcmimage.lib ijg8.lib ijg12.lib ijg16.lib dcmjpeg.lib dcmnet.lib dcmdsig.lib dcmsr.lib dcmtls.lib dcmpstat.lib dcmwlm.lib dcmqrdb.lib dcmtkeay_d.lib dcmtkssl_d.lib iconv_d.lib libtiff_d.lib libpng_d.lib libxml2_d.lib zlib_d.lib 如果是Debug選項就使用supported libraries裡面的lib檔 xxx_d.lib 如果是Release選項就使用supported libraries裡面的lib檔 xxx_o.lib 4. 指定新專案的執行階段程式庫(必須為/MD /MDd) (1) 從屬性對話盒左側選擇 "組態屬性" - "一般" (2) 在右側的 "MFC的使用" 選擇 "使用標準的視窗程式庫" (3) 從屬性對話盒左側選擇 "組態屬性" - "C/C " - "程式碼產生" (4) 在右側的 "執行階段程式庫" 選擇 "多執行緒DLL(/MD)" (for release 組態) 或 "多緒行緒偵錯DLL(/MDd)" (for debug 組態) 最後就可以在VS上面使用DCMTK了 PS: 我曾經想將DCMTK compile成Borland C 可用的版本,但是因為Borland complier一直沒有更新(1998年版本)以後也不會更新。 所以如果你想要改成Borland的版本,需要將DCMTK裡面的source code的寫法逐一的改成Borland complier可通過的寫法, 在用CMAKE來Complie。後來我放棄了.因為Linux上面的header檔有些並不會在Borland complier通過, 因此還要找到相對應的Header檔才行。另外還要在寫一個針對Borland Complier支援的Supported libraries libxml, libpng, libtiff, OpenSSL, zlib 這些opensource並不是全部都能從CMAKE直接跨平台Compile成BCB可用, 要改的flag還蠻多的。網路的成功案例也沒有找到。 我的感覺就是Borland放棄了這塊市場,雖然已經被併購了。不過說真的台灣用BCB來開發醫療軟體真的還蠻多的。不曉得BCB還能撐多久。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |