Перейти к содержимому. | Перейти к навигации

УНИИТО Лучевая Диагностика

Персональные инструменты

This is SunRain Plone Theme

Navigation

Вы здесь: Главная / Users / BuzzXray / Делаем управляемый flash-ролик из DICOM-серии (КТ,МРТ,etc.) для презентации.

Делаем управляемый flash-ролик из DICOM-серии (КТ,МРТ,etc.) для презентации.

Сценарий из 3-х шагов.

Постановка задачи: Имеем данные исследования (КТ, МРТ) в виде серии DICOM-файлов. Хотим иметь

прокручивающийся ролик, котрый можно разместить на слайде презентации Power Point.

История вопроса: Простая, казалось бы, задача превращается в проблему по простой причине - Power Point не

поддерживает работу с форматом DICOM, а изменения в версиях Power Point часто "сводят на нет" усилия

программистов, работающих над этим недостатком. Для решения упомянутой задачи, в  Сети, чаще всего,

упоминаются такие инструменты как PACstaker, StackView (макросы для работы с сериями снимков) и

Radfiler - plug-in для создания ролика из серии, Читайте про эти решения в конце статьи по адресу

(http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3354356/). На практике, эти инструменты "грешат" теми или иными

недостатками. Альтернативным подходом является создание видео или flash ролика, с последующим внедрением

его на страницу презентации. Видео ролик делают специальными программами, котрые могут записывать в

видео-файл все что происходит на экране. Но это будет просто ролик, без возможности управления. Flash-ролик

может иметь кнопки управления. Этому методу и посвящена наша заметка.

Решение: Создать замечательный flash-ролик из серии DICOM-файлов позволяет ресурс находящийся по адресу:

radviewer.kmle.com. На этой странице можно запрузить файлы с вашего компьютера и дать команду на

генерацию flash-файла ! Но есть ряд моментов, которые надо учитывать. Указанное web-приложение принимает

только графические файлы в "обычных" форматах (jpg, png, gif,..), но не DICOM-файлы. Поэтому, предварительно

нужно преобразовать свою серию в обычный формат. Еще одна задача - это научить Ваш Power Point принимать и

показывать flash-ролики.

 

Итак, Шаг 1 - Подготовка серии файлов для генерации ролика на radviewer.kmle.com

Серия в обследовании может оказаться слишком большой, поэтому сначала надо выбрать файлы для ролика

("прорядить" серию) или взять только часть файлов. Возможно, необходимо будет убрать с изображений

персональные данные пациента. И, наконец, преобразовать DICOM-файлы, например, в JPG-файлы.

Последняя задача может быть решена с использованием одной из утилит пакета dcmtk (смотрите заметку на нашем

сайтеi) и потребуется написать программку-скрипт для обработки всей серии.

Легко сказать - "написать программку-скрипт"! Если Вы счастливый пользователь ОС Linux - у Вас всегда

множество инструментария для такой задачки (bash, awk, sed,...), А если у Вас Windows ! Придется установить

какой нибудь язык для написания/выполнения скриптов. Наше решение для пользователей Windows - установить

интерпретатор языка Python. Как это сделать читайте здесь. Почему Python ? Он прост в изучении и использовании,

работает во всех операционках, имеет средства для работы с файлами. Если Вам ближе BASIC или еще что то,

пишите на привычных средствах. Наш выбор - Python. Вот смотрите, пишем такой скрипт (conv2jpg.py):

import os
import sys
import subprocess
 
try:
    os.mkdir('JPG_IMAGES')
except WindowsError:
    print "Directory JPG_IMAGES exist! In first instance remove it"
    sys.exit()
 
for dcmfile in os.listdir('.'):
    cmd = 'dcmj2pnm -d -v -im +oj +Jq 90 +Wi 1 ' + dcmfile + ' JPG_IMAGES\\' + os.path.splitext(dcmfile)[0]+'.jpg'
    ret = subprocess.call(cmd, shell=True)

 

Помещаем его в папку C:\Python27\Scripts. Теперь он может выполняться в любоим месте.

Предположим, что серия Ваших  dcm-файлов находится в папке DIR1. Находим проводником Windows эту папку, но

не заходим в нее. Придерживая кнопку Shift на клавиатуре, правой кнопкой мыши щелкаем на значке нашей папки.

В откывшимся меню выбираем "Открыть окно команд". Появляется черное окно коммандной строки и в подсказке

видно, что Вы уже в нужной папке. Теперь осталось вызвать скрипт преобразования - conv2jpg.py

Возвращаемся в проводник и видим, что наша папка DIR1 содержит подпапку JPG_IMAGES, в которой появились

файлы с расширением .jpg

 

Шаг 2 - Генерируем flash-ролик

Как мы уже упоминали, главная магия происходит на страницах по адресу radviewer.kmle.com.

Заходим на ресурс:

p2

Теперь, нажимаем кнопку "Upload file..." и указываем наши jpg-файлы, которые находятся в нашем примере в папке DIR1\JPG_IMAGES.

(Нет кнопки Upload !!!)

После закачки видим картинку:

p3

Внизу число закаченных файлов.

Теперь можно запустить генерацию (открыласть кнопка "Create..."):

 

p4

Вскоре увидите страницу:

p5

Теперь можно скачать .ppt  .swf файлы. Файл с расширением swf это нужный нам flash-ролик.


Шаг 3 - вставляем flash-ролик в слайд презентации.