Как получить доступ и отобразить файлы DICOM на iPhone

Я хотел бы разработать приложение для iPhone для обработки изображений, доступа и отображения файлов DICOM на экране, например OsiriX..Но я не знаю, в каких библиотеках это сделать.

Я не знаю, что у OsiriX есть библиотека или плагин для разработчиков. Вы знаете ?? (Извините за мой плохой английский.)

Посоветуйте мне, пожалуйста

Спасибо.


person miniplayground    schedule 31.05.2011    source источник


Ответы (5)


DCMTK отлично работает на IOS

person Johan Moreau    schedule 31.05.2011

Если вы хотите рассмотреть Monotouch, возможно, будет DICOM# — http://sourceforge.net/projects/dicom-cs/

person tofutim    schedule 31.05.2011
comment
Спасибо за ответ. Но приложение для iPhone использует Objective-C, а не C#. - person miniplayground; 31.05.2011
comment
@miniplayground, с Mono вы можете компилировать коды С# в среде obj-c. - person Gary Tsui; 31.05.2011
comment
@ Гэри Цуй, правда!! Извините, я не знаю. :) - person miniplayground; 01.06.2011

idoimaging.com содержит список библиотек, совместимых с DICOM. Я бы начал с этого списка и посмотрел, можно ли легко перенести один или несколько из них на iOS.

person Caleb    schedule 31.05.2011

более простым способом было бы найти библиотеку c/c++ dicom (поскольку вам нужна только библиотека для извлечения пар тег-значение и данных пикселей). И свяжите свою разработку (я предполагаю, что это будет просмотрщик) с этой библиотекой c/c++. Обратите внимание, что для сжатия j2k вам, вероятно, понадобится более продвинутая библиотека dicom, а не другая библиотека img, поддерживающая j2k.

FYR (DICOM в C/C++) [1] http://sourceforge.net/projects/gdcm/ [2] http://imebra.com/

person Gary Tsui    schedule 31.05.2011

Imebra написана на C++, но включает помощники Objective-C, которые позволяют напрямую создавать объекты UIImage или NSImage из загруженных наборов данных.

Вы должны переименовать исходный файл с расширением .mm (вместо .m), чтобы они могли использовать функции C++.

Вот небольшой пример, который загружает файл Dicom, а затем получает изображение как UIImage (без применения презентации VOI/LUT для простоты):

using namespace puntoexe;

// Open the file test.dcm for reading
ptr<stream> readStream(new stream);
readStream->openFile(NSStringToStringW(@"test.dcm"), std::ios::in);
ptr<streamReader> reader(new streamReader(readStream));

// Parse the file into a dataSet structure
ptr<imebra::dataSet> testDataSet = 
        imebra::codecs::codecFactory::getCodecFactory()->load(reader);

// Get the patient name
NSString* patientNameCharacter = StringWToNSString(testDataSet->getString(0x0010, 0, 0x0010, 0));

// Get the first image
ptr<imebra::image> firstImage = testDataSet->getModalityImage(0);
UIImage* myUIImage = getImage(firstImage, 0);
person Paolo Brandoli    schedule 26.08.2015