2010-10-13 2 views
0

Мы используем DCM4CHEE в качестве реплики сервера PACS. У меня 8-разрядные и 16-битные изображения, распространяемые по нескольким исследованиям. Все изображения хранятся в DCM4CHEE.Как DCM4CHEE хранит информацию о размещении битов изображения DICOM

Мы используем DICOM DUMP [DCM2TXT] на образцах изображений для идентификации распределения битов. Это длительный процесс.

Поддерживает ли сервер DCM4CHEE представление битов в DB ?, если так, где я могу найти информацию о выделенных битах?

Пожалуйста, помогите мне найти наилучшее решение для этого.

Спасибо,

-Anil Kumar.C

ответ

1

Да, он находится в базе данных и могут быть доступны очень быстро. В базе данных/схеме «pacsdb» имя таблицы - «экземпляр», имя столбца - «inst_attrs». Скорее всего, вам нужно будет сделать выбор с объединениями, включающими таблицы исследований и сериалов, в зависимости от того, как вы будете искать/представлять свои данные.

Проблема в том, что inst_attrs - это BLOB с двоичными данными. Внутри вам нужно будет искать следующую шестнадцатеричную строку (из синтаксиса передачи DICOM) 28 00 00 01 55 53 02 00 xx 00 Здесь 28 00 00 01 фактически является гексом для метки (0028, 0100) (выделенные биты), 55 53 02 00 говорит: «Беззнаковый короткий (US) 2 байта длиной», а после этого обычно 10 00 для 16 бит или 08 00 для 8-битных изображений. Таким образом, вам действительно нужно только значение «xx» из приведенных выше байтов.

В зависимости от инструментов доступа к базе данных, которые вы будете использовать для получения этих данных, вы можете выбрать лучшую стратегию. Это может быть веб-приложение (.war), развернутое вместе с dcm4chee, возможно, достаточно просто кучу jsp; это может быть отдельное приложение java или даже .NET. Инструмент выбора действительно зависит от того, где и для чего он вам нужен. Для доступа к сети я предпочел бы сделать полный сеанс с сессионным компонентом без состояния, чтобы получать данные и небольшое веб-приложение, защищенное паролем, для представления данных и предоставления доступа JSON/WS извне.

Обновление Ниже приведен пример SQL-(MySQL только), которая возвращает исследование UID, серия UID и биты, выделенное как 10 для 16-битных и 08 для 8-битных изображений:

SELECT study_iuid as StudyUID, series_iuid as SeriesUID, 
    SUBSTRING(HEX(inst_attrs), 
       LOCATE('2800000155530200',HEX(inst_attrs))+16 
      ,2) as BitsAllocatedHex 
    FROM instance i JOIN series s ON i.series_fk=s.pk 
     JOIN study st ON s.study_fk=st.pk 

Смежные вопросы