DICOM (Digital Imaging and COmmunications in Medicine)
DICOM – это стандарт обработки, хранения, печати и передачи информации в системах медицинской визуализации. Он включает описание формата файлов и сетевой протокол. Сетевой протокол использует TCP/IP в своей основе для коммуникации между системами. Также, системы, поддерживающие чтение и запись файлов DICOM, могут обмениваться между собой файлами в формате DICOM. Владельцем стандарта является американская организация National Electrical Manufacturers Association (NEMA). Он разрабатывается комитетом стандарта DICOM, состоящим из нескольких рабочих групп (WG).
DICOM позволяет осуществлять интеграцию сканеров, серверов, рабочих станций, принтеров, и сетевого оборудования множества различных производителей в единую систему PACS (picture archiving and communication system, система архивации и передачи изображений). Различные устройства поставляются совместно с документом, называемым DICOM conformance statement (описание соответствия стандарту), который описывает, как и какие функции выполняет поставляемое устройство.
- PS 3.1: Introduction and Overview
- PS 3.2: Conformance
- PS 3.3: Information Object Definitions
- PS 3.4: Service Class Specifications
- PS 3.5: Data Structure and Encoding
- PS 3.6: Data Dictionary
- PS 3.7: Message Exchange
- PS 3.8: Network Communication Support for Message Exchange
- PS 3.9: Retired (formerly Point-to-Point Communication Support for Message Exchange)
- PS 3.10: Media Storage and File Format for Data Interchange
- PS 3.11: Media Storage Application Profiles
- PS 3.12: Storage Functions and Media Formats for Data Interchange
- PS 3.13: Retired (formerly Print Management Point-to-Point Communication Support)
- PS 3.14: Grayscale Standard Display Function
- PS 3.15: Security and System Management
- PS 3.16: Content Mapping Resource
- PS 3.17: Explanatory Information
- PS 3.18: Web Access to DICOM Persistent Objects (WADO)
Стандарт DICOM разделен на несколько взаимосвязанных, но независимых частей:
История возникновения.
В начале 80-х годов декодировать изображения, генерируемые оборудованием, могли только производители оборудования – рентгеновских компьютерных и магнитно-резонансных томографов. Радиотерапевты хотели использовать изображения для планирования облучения пациента в радиотерапии. ACR и NEMA объединили усилия и создали комитет по стандарту в 1983-м году. Первый стандарт ACR/NEMA 300 был выпущен в 1985-м году. Очень скоро после первого выпуска стало понятно, что нужны доработки стандарта. Текст стандарта оказался неопределенным и внутренне противоречивым.
В 1988-м была выпущена вторая версия. Эту версию стандарта поддержали большее число производителей оборудования. Передача изображений осуществлялась по выделенной линии с 25-ю витыми парами (EIA-485). Первая демонстрация технологии взаимосвязи по ACR/NEMA 2.0 была продемонстрирована в университете Джоржтаун в мае 1990-го года. В событии участвовало 6 компаний: DeJarnette Research Systems, General Electric Medical Systems, Merge Technologies, Siemens Medical Systems, Vortech (приобретенный компанией Kodak в этом же году) и 3M. Вторая версия стандарта тоже требовала улучшений. Были созданы несколько расширений стандарта ACR/NEMA 2.0, например Papyrus (выпущенный University Hospital of Geneva, Швейцария) и SPI (Standard Product Interconnect, выпущенный Siemens Medical Systems и Philips Medical Systems).
Первое широкомасштабное развертывание технологии ACR/NEMA было сделано в 1992-м году Армией США и Воздушными Силами США как часть программы MDIS (Medical Diagnostic Imaging Support). Loral Aerospace и Siemens Medical Systems участвовали в разработке первого военного PACS’а США. DeJarnette Research Systems и Merge Technologies предоставляли возможность соединения нестандартных интерфейсов производителей оборудования с сетью Siemens SPI.
В 1993-м году была выпущена третья версия стандарта. Его название было изменено на DICOM, чтобы расширить возможность международного использования. Были добавлены новые служебные классы, добавлена поддержка локальных сетей и был стандартизован Conformance Statement (описание соответствия стандарту). Версия 3.0 официально остается последней версией стандарта, однако она постоянно обновляется и расширяется. Вместо использования номера версии используется год выпуска стандарта, как например ‘Стандарт DICOM 2007-го года’.
Несмотря на то, что стандарт DICOM достиг широкого распространения в системах медицинской визуализации, он имеет свои ограничения. DICOM – стандарт предназначенный для решения проблем медицинской визуализации. Он не предназначен для создания полной госпитальной системы. Для того, что бы объединить госпитальные системы и системы визуализации (PACS и HIS/RIS) были разработаны и выпущены международные рекомендации - IHE (Integrating the Healthcare Enterprise), помогающие объединить системы, работающие с протоколами DICOM и HL7.
Структура данных DICOM.
В файлах DICOM одновременно содержатся и непосредственно изображения и дополнительная информация о пациенте, которому это исследование проводилось. Информация о пациенте и исследовании не может быть отделена от самого изображения. Это уменьшает число возможных ошибок. Похожим образом организован формат JPEG, который также может иметь в файле дополнительную информацию описывающую изображение.
Любой DICOM объект состоит из множества атрибутов, таких как имя пациента, его идентификатор, дата исследования и т.д. Также один, особенный, атрибут содержит данные изображения (pixel data). Таким образом, не существует какого-то отдельного заголовка у DICOM файла – только множество атрибутов, включающих и данные изображения. Атрибуты в стандарте называются тэгами (tags), каждому тэгу присвоен свой номер, состоящий из двух полей – номера группы и номера элемента. Например, в тэге с номером 0010, 0010 (номера тэгов записываются в шестнадцатеричной нотации) всегда содержатся данные об ФИО пациента. У каждого тэга есть стандартное название. 0010, 0010 называется ‘Patient’s Name’. Список всех стандартизованных тэгов можно посмотреть в 6-м разделе стандарта PS 3.6: Data Dictionarу.
Тэг 7FFE, 0010 ‘Pixel Data’ может содержать в себе одно или несколько изображений. В случае, когда Pixel Data содержит больше одного изображения, говорят, что файл содержит мультифреймовое изображение (multi-frame image). В случае мультифреймового изображения в одном файле будет содержаться трех- или четырех- (например, несколько последовательностей сканов томографа в нескольких местах, но в разное время) мерное изображение. Цифровые рентгеновские аппараты, цифровые считыватели кассет отдают информацию в виде однофреймового изображения. Аппараты УЗИ, ангиографы часто отдают мультифреймовые изображения. Старые рентгеновские и магнитно-резонансные томографы могли отдавать однофреймовые изображения. Современные томографы (после стандартизации расширенных форматов DICOM – CT Enhanced и MR Enhanced) могут отдавать как однофреймовые, так и мультифремовые изображения.
Данные изображения могут быть цветными и монохромными. Цветные могут быть в разной цветовой кодировке – RGB, YBR , Palette Color (цветная палитра). Монохромные могут быть разной глубины градации серого (1 – 16 бит). Данные изображения могут быть упакованными. Стандартизованы следующие алгоритмы упаковки: RLE, JPEG, JPEG Lossless, JPEG LS, JPEG 2000. Для всего файла может быть применена упаковка его с помощью алгоритма LZW (zip), однако реализации такой упаковки в программах и оборудовании редки.
DICOM использует три различные схемы кодировки тэгов (transfer syntax). Кодировка файла помечается соответствующим тэгом в этом же файле (в мета информации, см. ниже). Схемы получаются из комбинаций двух параметров – представления данных и кодировки порядка байт.
Представление данных может быть явным (Explicit) и неявным (Implicit). Нужно знать, как интерпретировать данные, содержащиеся в тэге, т.к. это простая последовательность байт. А какие именно данные там находятся – строка, число, либо последовательность тэгов (SQ - sequence) заранее не известно. Для определенности содержимое каждого тэга было стандартизовано. У каждого тэга существует стандартизованное представление данных тэга (VR, Value Representation) - OB, OW, OF, SQ, UT, UN и т.д. При явном представлении данных в тэгах явно записывается VR тэга. При неявном представлении VR не записывается, а берется из таблицы программы, которая работает с этим изображением.
Порядок байт может быть от старшего к младшему (big-endian, дословно: «тупоконечный»), запись начинается со старшего и заканчивается младшим, и от младшего к старшему (little-endian, «остроконечный»).
В DICOM используется три их четырех возможных комбинаций параметров: Implicit little endian, Explicit little endian и Explicit big endian.
Каждый тэг состоит из: номера группы (2 байта), номера элемента (2 байта), VR (2 байта, в явном представлении данных, в неявном не используется), длины тэга (2 или 4 байта, в зависимости от VR).
Некоторые стандартные VR тэгов: DA – Date, дата; DS - Decimal String, строка представляющая собой десятичную дробь; FL- Floating Point Single (4 bytes), число с плавающей запятой обычной точности; IS - Integer String, целочисленная строка; UL - Unsigned Long, беззнаковое двойное слово и т.д. Полную информацию по VR и принципах кодирования тэгов можно посмотреть в стандарте - PS 3.5: Data Structure and Encoding.
В дополнение к представлению данных (к Value Representation) существует понятие множественности значений (VM, Value Multiplicity). VM никак не помечается в реальных файлах, это только указание, сколько данных предполагает содержать конкретный тэг. Для данных, представленных строками, элементы разделены между собой знаком бэкслэша (‘\’). Числовые данные просто идут подряд побайтно – например, при VM = 2 тэг с VR = FL будет состоять из 8-ми байт – это два числа обычной точности. В таблицах со списками тэгов указывается VM каждого тэга. Например, тэг, содержащий в себе одну координату двумерной точки, будет иметь VM = 2. Содержащий координаты n точек будет иметь VM = 2 * n, n > 0 (в стандарте записывается 2-2n).
Формат тэгов одинаков и для сети и для файлов.
DICOM сервисы.
DICOM состоит из множества различных сервисов, большинство из которых подразумевает обмен данными по сети. Обмен файлами был добавлен в стандарт позже и является только небольшой частью стандарта.
Store
DICOM сервис ‘Store’ предназначен для передачи изображений или других объектов (например, structured reports – структурированных отчетов) между двумя устройствами DICOM.
Storage Commitment
Этот сервис используется для подтверждения того, что пересланные по store объекты успешно размещены в хранилище информации. Этим сообщением тот, кто принимает данные - PACS, либо станция сообщает передающему информацию – аппарату, либо станции, что данные успешно сохранены и их можно удалять.
Query/Retrieve
Сервис поиска и доставки целых исследований или отдельных объектов на удаленном DICOM устройстве. Позволяет найти по определенным фильтрам (например – дата исследования, ФИО пациента и т.д.) интересующее исследование или объект (чаще всего объекты в DICOM – это изображения, но не только) и запросить его пересылку на локальный компьютер.
Modality Worklist
Позволяет аппарату (часто аппараты в DICOM называют модальностями, однако один и тот же аппарат, например, литотрипсер, может иметь несколько модальностей – US, DX) получить список намеченных исследований. В данных о намеченных исследованиях содержится информация и о пациентах, это позволяет сократить повторный ввод одной и той же информации и сопутствующие ошибки.
Modality Performed Procedure Step
Дополнительный к Modality Worklist сервис, который позволяет модальности посылать отчет об успешности выполнения исследования, о полученных изображениях, времени начала и конца исследования, полученной пациентом дозе и т.д. Сервис позволяет получить управлению больницы более точные данные по использованию ресурсов аппарата. Сервис, так же называемый MPPS, позволяет улучшить взаимодействие модальности и системы PACS, предоставляя системе список объектов, которые будут посланы перед самой посылкой.
Printing
Этот сервис позволяет посылать изображения на печать на принтер DICOM, для получения твердой копии изображений, чаще всего на пленках. Существует способ стандартной калибровки (описанный в 14-й части стандарта) принтеров и мониторов, помогающий получить одинаковые изображения на разных мониторах и на твердой копии изображений.
Офлайновое сохранение (файлы DICOM)
Сохранение файлов DICOM описано в 10-й части стандарта. Она описывает, как сохранять информацию медицинской визуализации на извлекаемых устройствах (CD, DVD и т.д.). Кроме непосредственно данных пациента и исследования, данных точек изображения, файлы обязательно должны содержать т.н. мета-информацию (File Meta Information, группа тэгов 0002). В мета информации указано, как верно интерпретировать содержимое файла.
DICOM ограничивает длину имен файлов до 8-ми символов, расширения у файлов не допустимы. Сами имена файлов должны быть такими, что бы из них нельзя было получить никакой информации. Это исторически сложившиеся требования для поддержания обратной совместимости со старыми системами. На носителе, кроме файлов, в корневом каталоге должен быть размещен файл dicomdir. Dicomdir предоставляет общую индексированную информацию обо всех файлах DICOM, находящихся на носителе. Dicomdir предоставляет большую информацию о каждом файле, чем её возможно вместить в название файлов.
DICOM файлы, которые находятся не на носителе, обычно имеют расширение .dcm, на носителе должны содержаться файлы без расширения.
- CT - Modality of type Computed Tomography, компьютерная томография
- DX - Modality of type Digital Radiography, цифровой рентген
- MR - Modality of type Magnetic Resonance, МРТ
- OT - Modality of type Other, прочие
- US - Modality of type Ultra Sound, УЗИ
- XA - Modality of type X-Ray Angiography, ангиография
Некоторые распространенные модальности.
Наиболее часто взаимодействие по сети DICOM идет по порту номер 104. Многие операционные системы требуют дополнительных разрешений для работы с этим портом.