Как извлечь пиксельные данные из файлов DICOM в iOS?

Кто-нибудь знает, как я могу извлечь данные пикселя из файла DICOM и передать его в программу просмотра изображений на iOS?

Извините, если это простой вопрос, но он, кажется, является основным компонентом огромной банки червей, которую я открыл.

2 Solutions collect form web for “Как извлечь пиксельные данные из файлов DICOM в iOS?”

Я использую GDCM для iOS. Я пока не очень сильно его подтолкнул, но пока это хорошо работает. Я в основном придерживался инструкций по взлому проектов XCode для запуска в iOS в этой замечательной статье о ITK .

Вот как я получил его для компиляции для iOS:

  1. Загруженный источник из sourceforge, установленный cmake через порты. Вам понадобится последняя версия cmake (я использую 2.8.2)
  2. Если источник находится в папке с именем gdcm-2.0.17 /, затем создайте другую директорию на этом уровне (скажем gdcmbin), cd в этом каталоге и введите ccmake -GXCode ../gdcm-2.0.17/ в окне терминала , Это создает проект XCode. Когда я это сделал, я не создавал ни одну из примеров программ или не создавал разделяемые библиотеки (которые не будут работать в iOS). Просто запустите настройки по умолчанию.
  3. Следуйте указаниям в документе ITK об изменении параметров сборки (шаг № 7 на стр. 4).
  4. Затем подключите GDCM к своему проекту, используя отличные инструкции в блоге Clint Harris
  5. Когда вы настраиваете путь поиска заголовка в своем проекте на GDCM – вам нужно ввести два пути: blah /gdcm-2.0.17/Source/** и blah / gdcmbin / **. Конечный «/ Источник» на первом пути необходим – в противном случае вы получаете заголовки, которые не подходят для вашей архитектуры.
  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)

Если вы хотите найти программное обеспечение DICOM, посмотрите на idoimaging.com , центр обмена медицинскими изображениями. Вы можете выбрать платформу, формат ввода, формат вывода, язык и т. Д. IOS не отображается в виде формата, но большая часть программного обеспечения, указанного там, доступна с исходным кодом, полезной в виде библиотеки и доступной для MacOS X. Например , Я выбрал:

  • формат ввода: DICOM
  • платформа: Macintosh
  • язык: C

и нашел несколько пакетов. Учитывая сходство между MacOS и iOS и тот факт, что некоторые из них являются кросс-платформенными с включенным источником, не должно быть слишком сложно заставить одного из них работать в iOS.

  • Как проверить, включен ли Parallax
  • UIScrollview делает текущий Image Larger
  • Проверьте поддерживаемые архитектуры фреймворка в Objective C
  • Как исключить индикаторы прокрутки при перечислении подпунктов UIScrollView?
  • Значения IndexPath меняются при прокрутке UITableviewcells?
  • Oauth внезапно не работает на iphone (только с установленным FS-приложением)
  • UILocalNotification загорается, когда я открываю лоток уведомлений, чтобы увидеть уведомление
  • Пользовательские шрифты iPhone с чехлом для шрифтов
  • Не показывать панель вкладок с первой страницы входа в Iphone SDK
  • iOS. Когда на экране появляется UIView, какой метод он вызывает?
  • отправить событие календаря / пригласить с eventkit
  • Interesting Posts

    Ограничьте мое устройство iOS определенным приложением

    Проблемы с мультимедийными запросами CSS с устройствами iOS

    приложение ссылается на непубличные селекторы в add_hatch_load_load: (CoreDataGeneratedAccessors)

    UISearchbar searchBarTextDidEndEditing не называется

    Проводка JSON как тела запроса POST с использованием AFHTTPClient

    Как перенести изображение из библиотеки ресурсов в частное местоположение конкретного приложения?

    AWS S3 SDK v2 для iOS – Загрузка файла изображения в UIImage

    Как обнаружить ответвления на MKPolylines / Overlays, например Maps.app?

    Алгоритм слияния датчиков Madgwick на iOS

    touchsMoved рисунок в CAShapeLayer медленный / отсталый

    iOS 9: Как изменить объем программно, не отображая всплывающее окно звуковой панели системы?

    Маска просмотра анимации перехода с React Native

    Затвор UIImagePickerController

    Когда использовать «sharedExamplesFor» для specta?

    NULL при использовании fopen с xcode

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.