2011-03-11 103 views
2

有誰知道我可以如何從DICOM文件中提取像素數據並將其傳遞給iOS上的圖像查看器?如何從iOS上的DICOM文件提取像素數據?

對不起,如果這是一個簡單的問題,但它似乎是我打開的一大堆蠕蟲的主要組成部分。

+0

Xcode是不是一個平臺,所以你想這是什麼,Mac或iOS?此外,我假設DCMFramework不符合您的需求:http://stackoverflow.com/questions/4786039/viewing-dicom-images-on-ipad? – 2011-03-11 22:04:54

+0

我對我缺乏特異性表示歉意......這是針對iOS的。關於之前的發佈Osirix是一款出色的應用,但它有一個主要限制 - 因爲它不允許您查看本地dicom映像(即從電子郵件下載),它專注於pacs服務器,這不適用於我的產品線在現場工作。我花了幾個星期的時間研究DCM框架,但沒有成功 - 因此尋求更多的幫助。 (忍受着我......這已經是一步學習曲線!!) – rick 2011-03-11 22:29:40

+0

我以爲多想,但我想先檢查一下。我已經調整了這個問題,以表明這是針對iOS的。 – 2011-03-11 22:47:31

回答

5

我在iOS上使用GDCM。我還沒有很努力地推動它,但迄今爲止運行良好。我基本上遵循了在這篇關於ITK的優秀文章中黑客XCode項目在iOS中運行的指導。

以下是我得到了它的編譯爲iOS:從SourceForge

  1. 下載源,通過端口安裝cmake的。您需要最新版本的cmake(我正在使用2.8.2)
  2. 如果源位於名爲gdcm-2.0.17 /的文件夾中,則在該級別創建另一個目錄(例如gdcmbin),cd至該目錄,並在終端窗口中輸入ccmake -GXCode ../gdcm-2.0.17/。這創建了XCode項目。當我這樣做時,我沒有創建任何示例程序或創建共享庫(這在iOS中不起作用)。只需運行默認值。
  3. 按照ITK論文中關於更改構建選項的指導(第4頁上的步驟#7)。
  4. 然後使用優秀說明在Clint Harris' blog
  5. 鏈接GDCM到你的項目當你在你的項目設置標題搜索路徑GDCM - 你必須輸入兩個路徑:等等 /gdcm-2.0.17/Source/**和blah/gdcmbin/**。第一條路徑上的尾部'/ Source'是必需的 - 否則你會得到不適合你的架構的頭文件。
  6. 一個小故障(煩人但還沒有花時間弄清楚):當你從模擬器切換到設備(或反之亦然)時,你會遇到一堆鏈接錯誤。這是因爲gdcm項目不會將輸出放到不同目標的不同目錄中。所以 - 當你切換時,在gdcm項目中運行一個乾淨的並重建的程序。我很快就會被這個問題困擾着改變它:-)。

這裏是你如何調用庫,並把結果在一個Objective-C的字典一個粗略的片段:

NSMutableDictionary * imageDictionary = [[NSMutableDictionary alloc] initWithCapacity:40]; 
// The output of gdcm::Reader is a gdcm::File 
gdcm::File &file = reader.GetFile(); 

// the dataset is the the set of element we are interested in: 
gdcm::DataSet &ds = file.GetDataSet(); 
const Tag studyInstance(0x0020,0x000d); // Study Instance UID 
const DataElement &dicomVal = ds.GetDataElement(studyInstance); 
std::string stringVal(dicomVal.GetByteValue()->GetPointer(), dicomVal.GetByteValue()->GetLength()); 
NSString *val = [NSString stringWithCString:stringVal.c_str() encoding:[NSString defaultCStringEncoding]]; 
[imageDictionary setObject:val forKey:@"studyInstanceUID"]; 

(注:這是在*。mm文件混合C++和ObjectiveC)

0

如果您想查找DICOM軟件,請查看idoimaging.com,醫療成像軟件的清算中心。您可以選擇您的平臺,輸入格式,輸出格式,語言等。iOS未列爲格式,但列出的大部分軟件均提供源代碼,可用於圖書館格式,並可用於MacOS X.例如我選擇:

  • 輸入格式:DICOM
  • 平臺:蘋果
  • 語言:C

,發現幾個包。鑑於MacOS和iOS之間的相似之處,以及其中一些與源代碼相關的跨平臺的事實,讓它們中的一個在iOS上工作應該不會太困難。