Dicom AutoExport 1.9.4

Программа Dicom AutoExport предназначена для:

  • обработки рентгеновских изображений в формате dicom (расширения файлов .dcm, .dic или без расширения), которые были созданы программами получения рентгеновских снимков*, с целью устранения ошибок совместимости примененных кириллических кодировок (в основном win1251) со стандартом Dicom 3.0;
  • добавления/удаления/редактирования «на лету» элементов (dicom-тегов);
  • сохранения обработанного файла в заданной папке экспорта;
  • отправки обработанных изображений на стандартный dicom-сервер, возможна отправка и исходных файлов без обработки, если они соответствуют стандарту.

Все перечисленные операции выполняются автоматически в фоновом режиме.

*Примечание. Возможна обработка не только рентгеновских изображений, но и других файлов, имеющих формат dicom, например, результаты исследований УЗИ, ЭКГ, ангиографии, томографии, маммографии и т.п.

При запуске Программа сворачивает свое окно в область задач или область уведомлений ("трей") и “наблюдает” за заданной папкой. При появлении в ней нового dicom-файла снимка или переименовании старого файла уже находящегося в ней (начиная с версии 1.9.4), последний копируется в рабочую папку Программы и обрабатывается. При успешности обработки снимок отправляется на заданный dicom-сервер.

Поводом для очередного обновления программы стала необходимость изменения некоторых функций по пожеланиям пользователей :).

Что нового в версии 1.9.4?

Внесено одно существенное изменение.  Теперь программа мониторит не только появление новых файлов в папке, но и отслеживает событие переименования файла уже находящегося в этой папке. Причина: При попытке использования программы (для транслитерации и отправки файлов на сервер) на одной из систем с ПО "ИнтегРИС" было обнаружено, что система после получения снимка помещает в папку экспорта исследования временный dicom-файл с расширением .tmp, затем, видимо, проводит с ним какие-то действия, а затем переименовывает его с расширением .dcm. Т.е. файл остается тот же, операционная система не генерирует событие сохранения нового файла, а выдает сообщения о событиях переименования (их два на самом деле). Поэтому пришлось добавить в программу обработку такой ситуации. Ранее с таким случаем не сталкивался. Чаще системы временный файл копируют в новый файл, а временный затем удаляют. А чтобы программа не "хватала" временный файл и не пыталась его обработать, нужно в ини-файле добавить соответствующее раcширение в список игнорируемых.

Добавлена опция  выбора правила транслитерации. Причина: правила транслитерации для русского и украинского языков устанавливаются нормативными документами и, конечно же, различаются. Поэтому стало необходимым  добавить возможность выбора конкретного правила.

По ходу решения вопроса выбора правила транслитерации обнаружилась проблема с некорректной обработкой текстов с двойными кавычками именно при транслитерации. Для других видов обработки она уже решалась ранее. Вообще, двойные кавычки допускаются стандартом, но используемые утилиты dcmtk обработки работают с ними некорректно.

Инструкция Dicom AutoExport 1.9.4

Здесь можете написать автору свои вопросы, предложения, замечания:

Для заполнения данной формы включите JavaScript в браузере.

 

Dicom AutoExport 1.9.3

Как всегда, поводом для разработки новой версии стал опыт применения программы, как собственный, так и пользователей.

Программа Dicom AutoExport предназначена для:

  • обработки рентгеновских изображений в формате dicom (расширения файлов .dcm, .dic или без расширения), которые были созданы программами получения рентгеновских снимков*, с целью устранения ошибок совместимости примененных кириллических кодировок (в основном win1251) со стандартом Dicom 3.0;
  • добавления/удаления/редактирования «на лету» элементов (dicom-тегов);
  • сохранения обработанного файла в заданной папке экспорта;
  • отправки обработанных изображений на стандартный dicom-сервер, возможна отправка и исходных файлов без обработки, если они соответствуют стандарту.

Все перечисленные операции выполняются автоматически в фоновом режиме.

*Примечание. Возможна обработка не только рентгеновских изображений, но и других файлов, имеющих формат dicom, например, результаты исследований УЗИ, ЭКГ, ангиографии, томографии, маммографии и т.п.
При запуске Программа сворачивает свое окно в область задач или область уведомлений ("трей") и “наблюдает” за заданной папкой. При появлении в ней нового dicom-файла снимка, последний копируется в рабочую папку Программы и обрабатывается. При успешности обработки снимок отправляется на заданный dicom-сервер.

Что нового в версии 1.9.3?

Добавлена опция фильтрации файлов в папке импорта по имени файла (или фрагменту имени). Причина? Столкнулся лично с рентгеновским аппаратом китайского производства типа Titan 2000 и как-то там ещё дальше. Работает в качестве флюрика. Снимки неплохие, достаточно надежен, судя по отзывам персонала. При организации экспорта на сервер выяснилось, что программа аппарата сохраняет в папку снимков сразу три dicom-файла, два из которых потом удаляются, а третий переименовывается. Причем отфильтровать ни по расширению, ни по размеру нельзя. Пришлось на ходу дописывать опцию, чтобы игнорировать эти временные файлы по имени.

Так появилась версия 1.9.2, но до публикации её дело не дошло. Было установлено лишь несколько экземпляров. Пришлось внести ещё некоторые изменения и опции, которые и вошли уже в представленную 1.9.3.

Добавлена опция конвертации кодировки отдельно для элементов Code String. Причина в том, что на эти элементы не распространяется установка типа кодировки в элементе (0008,0005). Подробнее здесь: Кодировка dicom-элементов типа Code String

Неожиданно появился запрос на английский интерфейс программы. Пришлось сделать мультиязычный интерфейс - русский, украинский, английский.

Добавлена возможность просмотреть историю полученных и отправленных файлов.

Подчищены некоторые процедуры и функции по мелочам.  Изменил логирование.

Всё описал в инструкции, которую можно скачать по ссылке ниже.

Ссылка для скачивания программы инсталляции: Dicom AutoExport setup v.1.9.3

Для обновления с версий 1.9.x (для тех, у кого уже установлена программа): Update to ver. 1.9.3

Скачать  инструкцию: Manual DicomAutoExport v.1.9.3

Manual_DicomAutoExport_v.1.9.3-2

Dicom AutoExport 1.9.1

Поводом для обновления программы стало то, что коллеги прислали образцы dicom-файлов, которые производятся программным обеспечением плоскопанельного детектора корейского производителя Vieworks FXRD-1417WB.

То что ПО этого производителя не понимает кириллических шрифтов понять можно. Для корейцев кириллица, что для нас их иероглифы 🙂 Поэтому это не только у данной модели имеется такая проблема. И не только этого производителя. Китайские товарищи тоже в основном с кириллицей не дружат. И для "правки" кириллицы вполне успешно используется DicomAutoExport.

Но коллеги указывали на другую странность. Программа при сохранении снимка в dicom-формате "производит" два файла, например с именами I0000000.dcm и T0000000.dcm). При этом первый из них - это "в натуре" снимок, а вот второй - его уменьшенная копия, попросту - миниатюра. И при передаче программой  файлов на сервер, если не установить генерацию UID, там будет сохранён только один из них, и не факт, что это будет снимок. Для чего вообще миниатюру "делать" в дайкоме, мне непонятно.  Такая вот задачка.

"Вскрытие" показало, что оба файла совпадают абсолютно один в один по всем тегам, кроме высоты и ширины в пикселях. Т.е. все, абсолютно все остальные теги идентичны. В т.ч. и все UID-ы. О, как! Что делать? Было решено, что передача миниатюры не имеет никакого смысла. Но как её "автоматически" отфильтровать. Расширение тоже самое, что и нужного файла. Сигнатура DICM в наличии. Решил просто "смотреть" размер файла и, если он меньше, например 30 кБ, то игнорировать такой файл.За компанию предусмотрел и ограничение максимального размера. На всякий случай, вдруг пригодится 🙂

Опция активируется правкой ини-файла, в интерфейс программы не выводил. Некуда уже, нужно расширяться.

Кроме того по пути выяснил ещё одну неприятную особенность такого микса файлов. Если их копировать сразу пачкой штук так за сотню, то программа начинает вообще пропускать файлы. Т.е. функция, которая мониторит в отдельном потоке папку, может пропускать события записи файлов. Как будто просто не успевает их регистрировать из-за очень быстрой записи большого количества мелких файлов. Поэтому подправил режим работы этого потока.

Кое-что по мелочам ещё подправил. Рекомендую тем, кто использует программу, обновиться до этой версии.

Ссылка для скачивания программы инсталляции: DcmAutoExp_setup-1.9.1-30.exe

Скачать полный комплект для обновления с версий до 1.9 (для тех, у кого уже установлена программа): Full_Update_DicomAutoExportTo_1.9.1

Скачать  инструкцию: Dicom AutoExport-1.9.1 User manual

Актуальная версия Программы -  1.9.4

 

Dicom AutoExport. Версия 1.9. Продолжение следует…

После долгого перерыва представляю новую версию программы. Очень существенные правки.

Что нового?

До-отправка файлов по умолчанию проводится без запроса у пользователя, чтобы исключить ошибки или невнимательность. А учёт всех полученных файлов и результат их отправки теперь ведётся в базе данных. Исключается такой вариант, когда пользователь на запрос о до-отправке подтверждал отправку и тут же выключал компьютер (и такое я неоднократно наблюдал!!!). В предыдущей версии программы список сразу очищался, а новый формировался по итогам отправки. Но если компьютер выключался, то файлы и не отправились, и в список не отправленных не попали. Теперь же файл сначала записывается в БД, а по итогу отправки в неё вносится результат.

Улучшен алгоритм регистрации вновь полученных файлов. При одновременном копировании большого количества файлов старая версия программы не успевала запустить потоки для их обработки и допускались пропуски. Теперь поток «отлова» файлов только ставит файлы в очередь на обработку, что происходит намного быстрее, а отдельный поток выбирает файлы из очереди и запускает потоки для их обработки. Практика показала, что время обработки большого количества практически одновременно полученных файлов не зависит линейно от того, сколько потоков одновременно запущено. «Узким горлышком», как правило, является скорость сетевого соединения с сервером. Поэтому количество потоков также было принудительно ограничено, чтобы уменьшить нагрузку на железо.

Убрал показ событий в трее. По многочисленным просьбам телезрителей 🙂

Изменено логирование.

Добавлена опция удаления файлов из папок импорта. Опять же по просьбам пользователей. Под их, пользовательскую, ответственность. СтоПятьсот раз повторяю: не нужно трогать папку программы, которая снимки получает. Нет же, просят. Ну что-ж берите. Не говорите, что я не предупреждал.

В случае, когда папка импорта содержит вложенные папки, то теперь и в экспорт файлы копируются с таким же путём. Полезно, когда есть риск одновременного появления в папке импорта файлов с одинаковым именем в разных под-папках. В более ранних версиях это могло привести к непредсказуемым ошибкам, т. к. все файлы копировались в одну папку.

Также в добавлена опция игнорирования файлов с заданными расширениями, чтобы не нагружать программу лишней работой, когда помимо dicom-файлов, в папку импорта складывается ещё куча всякого-разного.

Ссылка для скачивания программы инсталляции: DcmAutoExp_setup-1.9.0

Скачать только обновление (для тех, у кого уже установлена программа): DicomAutoExport_Update-1.9

Скачать  инструкцию: Dicom AutoExport-1.9.0 User manual

Актуальная версия Программы -  1.9.4

Программа автоэкспорта рентгеновских снимков на dicom-сервер

Программа Dicom AutoExport (далее — Программа) предназначена для:

  • обработки рентгеновских изображений в формате dicom (расширения файлов .dcm, .dic или без расширения), которые были созданы программами получения рентгеновских снимков отечественных производителей, с целью устранения ошибок совместимости примененных кириллических кодировок (в основном win1251) со стандартом Dicom 3.0;
  • добавления/удаления/редактирования «на лету» элементов (dicom-тегов);
  • сохранения обработанного файла в заданной папке экспорта;
  • отправки обработанных изображений на стандартный dicom-сервер, возможна отправка и исходных файлов без обработки, если они соответствуют стандарту.

Все перечисленные операции выполняются автоматически в фоновом режиме.

При запуске Программа сворачивает свое окно в область задач или область уведомлений ("трей") и “наблюдает” за заданной папкой. При появлении в ней нового дайком-файла снимка, последний копируется в рабочую папку Программы и обрабатывается. При успешности обработки снимок отправляется на заданный dicom-сервер.

Ссылка для скачивания программы инсталляции: Dicom AutoExport-1.8.3

Скачать только обновление (для тех, у кого уже установлена программа): Update DicomAutoExport to ver. 1.8.3

Скачать  инструкцию: Dicom AutoExport. User manual

(Данный материал устарел. Актуальная версия Программы -  1.9.4)

Системные требования

Программа работает на компьютерах под управлением операционных систем Microsoft от Windows ХР до Windows 10. На рабочем диске должно быть достаточно пространства для размещения программы и временных рабочих файлов, которые примерно равны объему отправляемых данных.

Назначение программы

Программа Dicom AutoExport (далее — Программа) предназначена для:
обработки рентгеновских изображений в формате dicom (расширения файлов .dcm, .dic или без расширения), которые были созданы программами получения рентгеновских снимков отечественных производителей, с целью устранения ошибок совместимости примененных кириллических кодировок (в основном win1251) со стандартом Dicom 3.0
добавления/удаления/редактирования «на лету» элементов (dicom-тегов);
сохранения обработанного файла в заданной папке экспорта;
отправки обработанных изображений на стандартный dicom-сервер, возможна отправка и исходных файлов без обработки, если они соответствуют стандарту.
Все перечисленные операции выполняются автоматически в фоновом режиме.
*Примечание. Возможна обработка не только рентгеновских изображений, но и других файлов, имеющих формат dicom, например, результаты исследований УЗИ, ЭКГ, ангиографии, томографии, маммографии и т.д.

При запуске Программа сворачивает свое окно в область задач или область уведомлений ("трей") и “наблюдает” за заданной папкой. При появлении в ней нового дайком-файла снимка, последний копируется в рабочую папку Программы и обрабатывается. При успешности обработки снимок отправляется на заданный dicom-сервер.

Инсталляция

Для инсталляции Программы необходимо запустить файл DcmAutoExport-*setup*.exe

install1

После нажатия на кнопку «Далее» ознакомиться и согласиться с лицензионным соглашением

install2

Затем выбрать папку установки Программы. По умолчанию Программа установится в папку D:DCMEXPORT.

install3

После нажатия «Далее» файлы Программы распакуются в выбранную папку

install4

После успешной распаковки закрыть окно инсталляции

install5

Файлы Программы находятся в папке, выбранной при инсталляции. Исполняемый файл Программы —dicomexp.exe

dir program
Редактирование настроек. Вкладка «Dicom-сервер»

При первом запуске Программы необходимо произвести необходимые настройки. Настройки «по умолчанию» после инсталляции ориентированы на отправку снимков, созданных программой АльфаПлюс (AlfaPlus) компании «Телеоптик». Поэтому, если у Вас установлено именно это ПО, то все, что нужно сделать — указать сервер, на который Программа должна отправлять файлы. Вообще же можно отправлять файлы от любых систем, которые сохраняют изображения в формате dicom, как с обработкой их, так и без нее.

1zapusk

Редактирование настроек будет доступно после нажатия на кнопку «Редактировать настройки». Надпись на кнопке изменится на «Сохранить», прекратится мониторинг сетевых подключений, а также «слежение» за папкой импорта. Таким образом, следует иметь ввиду, что появление файлов снимков во время редактирования настроек, останется для Программы «незамеченным» 🙂 . И если такое все-таки произошло, то отправить файл на сервер можно впоследствии только переместив его в другую папку, а затем снова скопировав в папку импорта.

tab server

На вкладке «Dicom-сервер» введите локальный AETitle - «имя», от которого на сервер будут отправляться снимки. Как правило, оно должно быть зарегистрированным на сервере, иначе последний откажется принимать информацию. Однако иногда бывает, что сервер настроен на прием файлов от любых имен. Узнать о настройках нужно у администратора сервера, который также должен сообщить AETitle Dicom-сервера, IP-адрес и порт.

edit dicom

После внесения этих данных, можно проверить их правильность, нажав кнопку «Эхо Dicom». Если все записано правильно, сетевой доступ есть, сервер включен, то по результатам запроса должна появиться соответствующая индикация

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

Установить его можно на вкладке «Dicom-сервер» нажав на стрелку выпадающего списка «Интервал проверки доступности сервера, минут: »

Время последней такой проверки отображается ниже.

interval echo1

Индикация состояния подключения по локальной сети и Dicom-соединения действительны именно на это время.

interval echo2

Естественно, в промежутках между «пингами» сервера может произойти обрыв связи. В этом случае Программа будет вести учет неотправленнных файлов (если установлена соответствующая опция), а после восстановления предложит их переслать.

Выбор длительности интервала зависит от стабильности сетевого соединения и доступности сервера. В любом случае не следует устанавливать его слишком малым, чтобы не перегружать сервер запросами. По умолчанию предлагается интервал 20 минут.

Вкладка «Файлы»

Здесь можно отредактировать следующие настройки:

папка, в которой будет отслеживаться появление файлов — «Папка импорта»;

папка, в которую будут копироваться исходные файлы, обрабатываться, сохраняться и из которой отправляться на сервер — «Папка экспорта» ;

папка, где будут вестись логи Программы;

и другие настройки действий (об этом ниже подробнее).

Для выбора папки импорта нужно нажать на кнопку справа от поля ввода «Папка импорта». Откроется диалог выбора папки. При этом папка уже должна существовать, т. к. создание новых папок в процессе выбора здесь (и далее) не предусмотрено. Выбор осуществляется собственно выбором нужной папки с подтверждением кнопкой «ОК».

ВНИМАНИЕ: Папка импорта не может быть сетевым ресурсом! Допускается только локальное расположение.

Ниже поля ввода пути к папке импорта находятся два чекбокса.

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

select dir export.png

«Чек» «Проверять соответствие формату dicom по сигнатуре DICM» устанавливается, если в папке возможно появление других (не dicom) файлов. Тогда Программа будет сразу их отсеивать, не затрачивая ресурсов на попытки их декодирования.

Примечание. Сигнатура DICM обязательно присутствует в dicom-файлах. Но есть и такие «как-бы» dicom-файлы, которые содержат набор dicom-элементов, поддающийся извлечению и редактированию, изображение, поддающееся просмотру, но не имеющих этой сигнатуры. Например, файлы снимков, полученные на старых версиях программного обеспечения «Нейрон» производства компании «Квант». В этом случае «чек» можно убрать. Эти как-бы dicom-файлы Программа обрабатывать умеет 🙂

Аналогичным выбору папки импорта образом выбираются папка экспорта и папка логов.

По умолчанию они находятся в папке Программы: D:\DCMEXPORT\Export и D:\DCMEXPORT\Log. Если были назначены другие папки, то снимки и логи будут размещаться в них. Если же по какой-либо причине (например будут удалены) Программа не найдет иные заданные пути к указанным папкам, то они будут созданы в папке Программы.

Также эти папки не могут совпадать или быть вложенными в папку импорта.

«Чек» «Удалить файлы из папки экспорта через, дней» устанавливается для очистки папки от файлов, старше указанного справа от «чека» числа дней. Поиск таких файлов и их удаление будет производиться при каждом запуске Программы. Необходимость такой «автоматической» очистки и длительность хранения обработанных перед отправкой на сервер файлов, пользователь должен определить, исходя из наличия свободного дискового пространства.

Примечание. Папка экспорта специально «придумана» и является по сути временной рабочей папкой с целью никаким случайным образом не повредить «рабочую» папку системы получения снимков и собственно полученные снимки. Т.е. полученные оригинальные снимки остаются нетронутыми на своих местах. Программа копирует их в свою «рабочую» папку и там над ними проводятся заданные операции. Кроме того, в этой папке во время обработки создаются, пишутся, читаются, удаляются различные необходимые временные файлы.

Аналогично «автоматически» очищается и папка логов.

Возможно также при необходимости удалить все файлы из указанных папок. Для этого необходим нажать соответствующую кнопку, находящуюся справа от кнопки выбора папки.

delete dcm export

Ниже поля ввода папки логов имеется выпадающий список «Уровень ведения логов», т. е. подробность сообщений, которые будут выводиться в логи Программы. Можно выбрать из вариантов «error», «warn», «info», «debug».

loglevel.png

По умолчанию рекомендуется «info». В некоторых случаях Программа сама выбирает уровень лога. Отправка на сервер в любом случае происходит с уровнем «info».

transfer sint

«Чек» «Отправлять файлы на Dicom-сервер» устанавливается для отправки обработанных файлов на dicom-сервер. Однако в некоторых случаях может потребоваться только обработать и сохранить файлы (например, нет доступа или вообще сервера, а файлы нужно отправить почтой, записать на диск и т. д.). Для этого нужно «чек» снять.

При отправке программа выберет синтаксис передачи автоматически по данным из самого файла, либо, в случае неудачности отправки, можно установить трансфер-синтаксис принудительно из выпадающего списка.

Адрес сервера устанавливается на вкладке "Dicom-сервер".

«Чек» «Автоматически предлагать досылать не отправленные файлы после восстановления связи».

В процессе работы Программы может возникнуть ситуация, когда сервер стал недоступен в силу каких-либо причин. Если установлен этот «чек», то Программа будет вести список файлов, которые не удалось отправить. При этом на вкладке «Dicom-сервер» появится сообщение «Имеются файлы, не отправленные на сервер» и кнопка «Просмотреть»

message NoSendFile

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

list no send file

В некоторых случаях программы, "производящие" снимки, сохраняют файл в отслеживаемой папке сразу после получения изображения от детектора. А затем дают возможность персоналу его обработать (отредактировать) и сохранить уже в отредактированном виде (Например, Econsole1 DrTech).
Также бывают случаи, когда программы не освобождают файл сразу после сохранения, дописывая в него какую-либо информацию в течение некоторого времени (Например, Digipax при серии снимков).
В таких случаях целесообразно отложить обработку и передачу файлов на некоторое время. Иначе на сервер будут либо отправлены исходные изображения, либо программы получения изображений будут выдавать ошибки обработки

delay edit

Значение задержки в секундах можно прописать вручную или выбрать из выпадающего списка.

Так как предполагается, что Программа будет работать в свернутом виде, то, естественно, персонал может и не увидеть сообщения о том, что имеются проблемы связи с сервером и т. п. Поэтому список не отправленных файлов будет выведен на экран в любом случае либо при следующем запуске Программы, либо когда после восстановления соединения Программа очередной раз «пропингует» сервер и получит положительный отклик.

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

Сворачивание при запуске.

Если установлен «чек» «При запуске», то окно Программы будет либо свернуто в панель задач, если выбрана радиокнопка «минимизировать»

panel zadaniy

либо свернута в трей — если выбрано - «сворачивать в трей». В последнем случае при установленном «чеке» «Показывать события в трее» будут отображаться сообщения о текущих событиях в Программе.

message in tray

Развернуть окно Программы на экран можно, щелкнув по пиктограмме в панели задач или трее. Также окно Программы будет развернуто при попытке повторного запуска программы. В этом случае новый экземпляр Программы не запускается, а разворачивается выполняющийся.

Свернуть окно Программы можно, нажав кнопку «Свернуть». При этом окно будет свернуто в панель задач или трей в зависимости от выбора. В режиме редактирования настроек кнопка «Свернуть» недоступна.

Вкладка «Обработка»

Редактирование заданий обработки набора dicom-элементов производится на вкладке. «Обработка».

tab edit

«Конвертировать текст из WIN-1251"  устанавливается в том случае, когда значения в исходном наборе элементов содержат кириллические символы в кодировке win-1251, а сервер, на который отправляются файлы, или используемый dicom-вьювер не могут корректно передать и отобразить их.

fail kod1       fail kod2

fail kod3

В некоторых случаях файлы не могут быть переданы на сервер без предварительной установки поддерживаемой кодировки.

Некоторые приложения, формирующие dicom-файлы вообще могут не поместить в набор тег (0008,0005), содержащий значения кодировки символов.

Или тег имеет значение, не предусмотренное стандартом, или неправильное написание значения.

fail tag kod1

fail tag kod2

fail tag kod3

fail tag kod4

При установке «чека» Программа присваивает тегу (0008,0005) значение ISO_IR 144 (соответствует ISO_8859-5) или ISO_IR 192 (UTF-8) и конвертирует символы кириллицы из win-1251 в зависимости от установки соответствующей "радиокнопки". При этом фактическая кодировка набора не распознается. Если файл имеет уже кодировку ISO_IR 144 или ISO_IR 192, то «чек» устанавливать не нужно, иначе кириллический текст станет нечитаемым из-за лишнего преобразования.

Не нужно также устанавливать эту обработку в случае, когда набор значений содержит латиницу (в большинстве ПО иностранного производства вообще не предусмотрено ввода кириллических символов и значения ФИО пациентов, например, персонал вводит транслитом).

В случае, когда "чек" не установлен, программа все равно учитывает установку "радиокнопки" кодировки для конвертации текста, если он есть в дополнительных операциях.

convert win no

dop edit table

Поэтому для правильности конвертации текста из дополнительных операций необходимо знать, какую кодировку имеют обрабатываемые файлы.

Идентификация пациента (ИД) является важным фактором для правильности сохранения сервером информации об исследованиях. ИД хранится в теге (0010,0020).

Однако встречаются ситуации, когда некоторые программы автоматически не генерируют это значение, а предусмотренный ручной его ввод персоналом не осуществляется.

generateID2

В этом случае сервер может вообще отказаться принимать файл. Поэтому для присваивания этому тегу непустого значения необходимо установить этот «чек»

generateID1

Программа сформирует «уникальный» ИД, "вычислив" его по определенному алгоритму из ФИО и даты рождения

generateID3

Примечание. Вообще проблема идентификации пациента очень широка и нетривиальна для простого решения. В настоящее время сложилась такая ситуация, когда каждая модальность в клинике, формируя dicom, присваивает пациенту и свой ИД. Где-то за него выступает номер истории болезни, где-то номер паспорта, номер телефона и т. д. Или же программы дают просто свой порядковый номер в базе данных. Т.е. единого стандарта и подхода не наблюдается. Поэтому весьма проблематично становится собрать результаты исследований от разных модальностей на просто Dicom-сервере. Выходом может быть внедрение в клинике общей госпитальной информационной системы (ГИС), где вопрос присвоения идентификатора решался бы на уровне регистратуры. Но пока что такие системы не слишком широко распространены в большинстве медицинских учреждений. Да и при их внедрении проблема останется на уровне вышестоящего обмена (район, область и т. д.)

Генерация ИД программой экспорта решает всего лишь проблему отсутствия или «не уникальности» значений, которые присваиваются программами формирования dicom-файлов.

new UID

«Чеки» «Новые Instance UID (Study, Series, SOP)» устанавливается в том случае, когда программа, сформировавшая dicom-файл «забыла» 🙂 присвоить значения соответствующим тегам набора элементов или значение не соответствует правилам

generateUID1

generateUID3

generateUID4

Программа исправляет эти недостатки

generateUID2

Иногда возникает необходимость транслитерировать информацию, т. е. записать кириллические значения латинскими символами. Для этого нужно установить «чек» «Транслитерировать текстовую информацию»

translit1

translit2

anonim no

Анонимизировать данные - удалить информацию личного характера пациента, медперсонала и т.п.
При установке "чека" станут активными переключатели, которые отвечают за анонимизацию конкретного тега.

Установка "чека" говорит о том, что эти данные будут анонимизированы следующим образом.
ФИО - тег (0010,0010) - ФИО пациента заменяется словом Anonymous;
Пол - тег (0010,0010) - пол пациента заменяется на "О".
Значения остальных данных заменяется пустым значением:
Дата рождения - тег (0010,0030) - дата рождения пациента;
Оператор - тег (0008,1070) -  данные специалиста  (лаборанта), проводившего исследование;
Врач - тег (0008,1070) -  данные врача, проводившего исследование (врач-рентгенолог, например);
Леч.Врач - тег (0008,1070) -  лечащий врач пациента, направивший на исследование;
Леч.учреждение - тег (0008,1070) -  - тег (0008,1070) -  наименование и адрес лечебного учреждения, где проводилось исследование.

Анонимизировать другие данные можно, используя возможность добавления других операций редактирования тегов. См. Дополнительные операции. Следует иметь ввиду, что дополнительные операции выполняются после операция анонимизации.

Дополнительные операции.

Бывают ситуации, когда необходимо во всех обрабатываемых "на лету" файлах добавлять, изменять или удалять какие-либо одни и те же теги или их значения.

Для этого необходимо добавить операцию, которая будет описывать необходимое действие.

Чтобы добавить операцию нажмите кнопку "Добавить операцию"

add operation1

Для выбора редактируемого элемента необходимо нажать кнопку открытия формы выбора элемента (справа от поля ввода "Элемент")

add operation2

Непосредственно выбор элемента осуществляется двойным щелчком мыши.

add operation3

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

Например, вставку/изменение, при этом нужно ввести и новое значение элемента.

После нажатия "ОК" в таблице появится новая строка с операцией

add operation4

Удаление элемента

add operation5

add operation6

Для удаления операции из таблицы необходимо выбрать нужную строку и нажать кнопку "Удалить операцию"

После подтверждения операция из таблицы будет удалена.

add operation8

Следует иметь ввиду, что добавляемые (изменяемые) значения не проверяются на соответствие словарю стандарта, поэтому могут возникнуть проблемы при дальнейшем сохранении файла или его передаче на сервер, если добавленная операция будет некорректна. Поэтому будьте внимательны при добавлении таких операций.

Сохранение настроек

После проведения изменений настроек Программы, для их записи в файл настроек - expdcm.ini, необходимо нажать кнопку «Сохранить».

save option1

После этого вкладки станут снова недоступными для редактирования, надпись на кнопке изменится на "Редактировать настройки", включатся мониторинг сетевых подключений, слежение за папкой импорта, пропингуется и отобразится состояние dicom-соединения.

save option2

Пример содержания файла expdcm.ini приведен в Приложении 1.

Логи Программы

Сведения о производимых действиях и других событиях в Программе отображаются в мемо-поле внизу окна Программы

memolog

Однако здесь отображается не вся информация. Более информативны логи Программы, которые ведутся в заданной, как было указано выше, папке.

Работа с Программой

Как указывалось выше, Программа работает в фоновом режиме. Поэтому запуск ее логично поместить в автозагрузку. При наличии бесперебойного сетевого соединения и доступности dicom-сервера в работе не должно быть никаких проблем. Потребление ресурсов весьма незначительное. Если раздражают сообщения из трея, то их можно отключить. Если возникли какие-либо проблемы с отправкой, то большинство причин можно выявить по логам.

Получение лицензионного ключа

В настоящее время Программа не является свободно распространяемым продуктом. Поэтому ее использование должно соответствовать Лицензионному соглашению (Приложение 2).

По окончании срока, оговоренного в соглашении, при запуске Программы будет выведено сообщение

license key1

Если Вы не собираетесь больше использовать Программу, то нажмите кнопку «Ок» и проведите ее деинсталляцию, воспользовавшись инструментом «Программы и компоненты» Панели управления операционной системы, и удалите оставшиеся файлы (папки), если они есть.

Для продолжения использования Программы, необходимо получить от автора или его представителей лицензионный ключ. Условия дальнейшего использования (оплата или иные договорные условия) оговариваются индивидуально в каждом случае. Более подробную информацию можно получить, связавшись по электронной почте.

Если условия соблюдены, нажмите кнопку «Enter Key». Появится диалоговое окно, в котором будет указан буквенно-цифровой код Hardware fingerprint.

license key2

Значение Hardware fingerprint необходимо скопировать и выслать на электронную почту автору для генерации по нему ключа.

license mail1

В ответ на запрос будет выслан файл с ключом

license key5

Имя и ключ нужно скопировать и вставить в соответствующие поля. Если все скопировано правильно, то появится сообщение о валидности ключа и после нажатия «Ок» Программа запустится.

license key6

Разрешение проблем

В случае возникновения вопросов, связанных с работой Программы, ответы на которые не отображены в данном руководстве или справке, а также о критических замечаниях, требующих изменения логики работы или устранения иных багов просьба сообщать об этом по электронной почте автору.

© Alexandr Kuznetsov, 2016-2018

alexandr.v.kuznetsov1@gmail.com

Приложение 1

Пример содержимого файла настроек Программы expdcm.ini

[Pathes]

;Папка, в которой контролируется появление новых файлов ("Папка импорта!!!)

PathImport=D:AlfaPlusImages

;Слежение за вложенными папками, 0 - выключено, 1 - включено

InsertDir=0

; Папка, в которой проводятся все работы по изменению файлов

; и из которой идет отправка на сервер ("Папка экспорта")

PathExport=D:DCMEXPORTExport

; Папка логов

PathLog=D:DCMEXPORTLog

[Options]

;Уровень ведения логов только: error, warn, info, debug

loglevel=info

;Локальный AeTitle

aet=PROGRAF_CRB

;AeTitle Dicom-сервера

aec=BCRB_PACS

; IP адрес сервера

IPAdress=192.168.1.201

;Порт сервера

DcmPort=5678

;Интервал проверки доступности дайком-сервера в минутах

IntervalEcho=20

;Проверять, что файл имеет формат dicom по сигнатуре DICM

;0 - нет, 1 - да

CheckFileIsDicom=1

; Конвертировать символы из win-1251 в ISO_IR 144 (ISO-8859-5 Cyrillic)

;0 - нет, 1 - да

ConvCharSet=1

; Генерировать новые уникальные ИД (дляАльфа+ обязательно 1)

;0 - нет, 1 - да

GenerateUIDs=1

;Генерировать новые уникальные ИД пациентов, 0 - нет, 1 - да

;Для АльфаПлюс - 1 обязательна!!!

GenerateNewPatientID=1

;Транслитерировать (из кириллицы в латиницу) текстовые теги

;0 - нет, 1 - да

Translit=0

;Анонимизировать личные данные пациентов и ЛПУ

;0 - нет, 1 - да

Anonimize=0

; Удалять файлы из папки экспорта автоматически

; 0 - нет, 1 - да

DelExportFile=1

; Количество дней, через которое файлы будут удалены

NumDayDeleteExport=14

; Удалять логи

; 0 - нет, 1 - да

CheckDeleteLog=1

; Логи удалять через дней

DelLogDay=30

;Включить отправку файлов на дайком-сервер

;0 - нет (снимки будут обрабатываться и сохраняться в папке экспорта), 1 - да

SendDicom=1

;Вести учет и автоматически предлагать досылать не отправленные на сервер файлы

; 0 - нет, 1 - да

AutoSendOffer=1

; Запускать программу свернутой

;0 - нет, 1 - да

TrayStart=1

;куда сворачивается (при TrayStart=1): 0 - минимизировать в панель задач, 1 - в трей

TurnTray=1

; Показывать события в трее (при TrayStart=1 и при TurnTray=1)

;0 - нет, 1 - да

HintTray=1

Приложение 2

ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ

Все права на программное обеспечение Dicom AutoExport (исполняемый файл dicomexp.exe) в дальнейшем именуемое Программа, принадлежат ее автору - Александру Кузнецову (alexandr.v.kuznetsov1@gmail.com).

Любой желающий может использовать Программу в течение ознакомительного периода - 30 дней со дня установки. Для того, чтобы продолжить использование Программы по истечении ознакомительного периода, Программа должна быть зарегистрирована у автора и на нее должен быть получен лицензионный ключ, который можно получить у автора или его официальных представителей на платной или иной договорной основе.

Зарегистрированному пользователю предоставляется неэксклюзивное право использовать Программу в любых легальных целях не более чем на одном компьютере одновременно. Зарегистрированная копия Программы не может быть взята на прокат или сдана в аренду.

Незарегистрированная ознакомительная версия Программы может свободно распространяться только в не измененном виде. Ни одно частное лицо или организация не имеет права взимать плату за сам Программу и ее распространение без письменного согласия автора.

ПРОГРАММА ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЕЕ НА СВОЙ РИСК. АВТОР НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ НИ ЗА КАКИЕ УБЫТКИ ЛЮБОГО РОДА, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ СЛЕДУЮЩИМИ: ПОТЕРЮ ВЫГОДЫ ИЛИ ИСКАЖЕНИЕ ЛЮБЫХ ДАННЫХ, ПРЯМО ИЛИ КОСВЕННО СВЯЗАННЫХ С ИСПОЛЬЗОВАНИЕМ ИЛИ НЕПРАВИЛЬНЫМ ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ.

Вы не имеете права предпринимать какие-либо действия, направленные на скрытие либо изменение авторских прав на Программу, включая модификацию исходных файлов или иных данных, содержащих упоминание об авторских правах на продукт.

Установка и использование Программы означает, что вы понимаете и принимаете положения данного Лицензионного соглашения. Нарушение любого из пунктов настоящего Лицензионного соглашения ведет к автоматическому прекращению действия данного соглашения и может повлечь за собой преследования правового характера.

Если вы не согласны с условиями данной лицензии, то должны удалить файлы Программы со своих устройств хранения информации и отказаться от ее использования.

Другие АВТОРСКИЕ ПРАВА

Программа использует также программные продукты DCMTK - http://dicom.offis.de/dcmtk.php.en

На них распространяются следующие авторские права:

* Copyright (C) 1994-2011, OFFIS e.V.

* All rights reserved.

*

* This software and supporting documentation were developed by

*

* OFFIS e.V.

* R&D Division Health

* Escherweg 2

* 26121 Oldenburg, Germany

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

*

* - Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

*

* - Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in the

* documentation and/or other materials provided with the distribution.

*

* - Neither the name of OFFIS nor the names of its contributors may be

* used to endorse or promote products derived from this software

* without specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*

*/

Please note that some DCMTK modules, especially those that are not part

of the free toolkit, are covered by a separate license which can be found

in the COPYRIGHT file in the corresponding module directory.

Some portions of the DCMTK software package are derived from earlier

versions of this software with the following copyright, and can be

identified by the following copyright notice located in each source file:

/*

* Copyright (C) 1993/1994, OFFIS, Oldenburg University and CERIUM

*

* This software and supporting documentation were

* developed by

*

* Institut OFFIS

* Bereich Kommunikationssysteme

* Westerstr. 10-12

* 26121 Oldenburg, Germany

*

* Fachbereich Informatik

* Abteilung Prozessinformatik

* Carl von Ossietzky Universitaet Oldenburg

* Ammerlaender Heerstr. 114-118

* 26111 Oldenburg, Germany

*

* CERIUM

* Laboratoire SIM

* Faculte de Medecine

* 2 Avenue du Pr. Leon Bernard

* 35043 Rennes Cedex, France

*

* for CEN/TC251/WG4 as a contribution to the Radiological

* Society of North America (RSNA) 1993 Digital Imaging and

* Communications in Medicine (DICOM) Demonstration.

*

* THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER OFFIS,

* OLDENBURG UNIVERSITY NOR CERIUM MAKE ANY WARRANTY REGARDING

* THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR

* FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER

* DISEASES OR ITS CONFORMITY TO ANY SPECIFICATION. THE

* ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE SOFTWARE

* IS WITH THE USER.

*

* Copyright of the software and supporting documentation

* is, unless otherwise stated, jointly owned by OFFIS,

* Oldenburg University and CERIUM and free access is hereby

* granted as a license to use this software, copy this

* software and prepare derivative works based upon this

* software. However, any distribution of this software

* source code or supporting documentation or derivative

* works (source code and supporting documentation) must

* include the three paragraphs of this copyright notice.

*

*/

Some other parts of this software within the dcmtk/dcmnet sub-package

related to the DICOM Upper Layer Protocol are derived from software

developed for the RSNA'93 DICOM demonstration and kindly made available

to us by the Mallinckrodt Institute of Radiology. Such software can be

identified by the following copyright notice located in each affected

source file:

/*

* Copyright (C) 1993, RSNA and Washington University

*

* The software and supporting documentation for the Radiological

* Society of North America (RSNA) 1993 Digital Imaging and

* Communications in Medicine (DICOM) Demonstration were developed

* at the

* Electronic Radiology Laboratory

* Mallinckrodt Institute of Radiology

* Washington University School of Medicine

* 510 S. Kingshighway Blvd.

* St. Louis, MO 63110

* as part of the 1993 DICOM Central Test Node project for, and

* under contract with, the Radiological Society of North America.

*

* THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR

* WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS

* PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR

* USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY

* SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF

* THE SOFTWARE IS WITH THE USER.

*

* Copyright of the software and supporting documentation is

* jointly owned by RSNA and Washington University, and free access

* is hereby granted as a license to use this software, copy this

* software and prepare derivative works based upon this software.

* However, any distribution of this software source code or

* supporting documentation or derivative works (source code and

* supporting documentation) must include the three paragraphs of

* the copyright notice.

*/

The dcmjpeg sub-package includes an adapted version of the Independent

JPEG Group Toolkit Version 6b, which is contained in dcmjpeg/libijg8,

dcmjpeg/libijg12 and dcmjpeg/libijg16. This toolkit is covered by the

following copyright. The original README file for the Independent JPEG

Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt.

/*

* The authors make NO WARRANTY or representation, either express or implied,

* with respect to this software, its quality, accuracy, merchantability, or

* fitness for a particular purpose. This software is provided "AS IS", and you,

* its user, assume the entire risk as to its quality and accuracy.

*

* This software is copyright (C) 1991-1998, Thomas G. Lane.

* All Rights Reserved except as specified below.

*

* Permission is hereby granted to use, copy, modify, and distribute this

* software (or portions thereof) for any purpose, without fee, subject to these

* conditions:

* (1) If any part of the source code for this software is distributed, then this

* README file must be included, with this copyright and no-warranty notice

* unaltered; and any additions, deletions, or changes to the original files

* must be clearly indicated in accompanying documentation.

* (2) If only executable code is distributed, then the accompanying

* documentation must state that "this software is based in part on the work of

* the Independent JPEG Group".

* (3) Permission for use of this software is granted only if the user accepts

* full responsibility for any undesirable consequences; the authors accept

* NO LIABILITY for damages of any kind.

*

* These conditions apply to any software derived from or based on the IJG code,

* not just to the unmodified library. If you use our work, you ought to

* acknowledge us.

*

* Permission is NOT granted for the use of any IJG author's name or company name

* in advertising or publicity relating to this software or products derived from

* it. This software may be referred to only as "the Independent JPEG Group's

* software".

*

* We specifically permit and encourage the use of this software as the basis of

* commercial products, provided that all warranty or liability claims are

* assumed by the product vendor.

*/

The code for the interpolatePixel() image scaling algorithm in module

dcmimgle has been derived from code written by Jef Poskanzer for the

"Extended Portable Bitmap Toolkit" (pbmplus10dec91) which has the

following copyright:

/*

* Copyright (C) 1991 by Jef Poskanzer.

*

* Permission to use, copy, modify, and distribute this software and its

* documentation for any purpose and without fee is hereby granted, provided

* that the above copyright notice appear in all copies and that both that

* copyright notice and this permission notice appear in supporting

* documentation. This software is provided "as is" without express or

* implied warranty.

*/

The color quantization code in module dcmimage (dcmquant and the related

classes) has been derived from code written by Jef Poskanzer for the

NetPBM toolkit which has the following copyright:

/*

* Copyright (C) 1989, 1991 by Jef Poskanzer.

*

* Permission to use, copy, modify, and distribute this software and its

* documentation for any purpose and without fee is hereby granted, provided

* that the above copyright notice appear in all copies and that both that

* copyright notice and this permission notice appear in supporting

* documentation. This software is provided "as is" without express or

* implied warranty.

*/

The code for the OFStandard::strlcpy and OFStandard::strlcat helper

functions in ofstd/libsrc/ofstd.cc has been derived from the BSD

implementation of strlcpy() and strlcat() and which carries the

following copyright notice:

/*

* Copyright (c) 1998 Todd C. Miller <Todd.Miller(at)courtesan.com>

* All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

* 1. Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

* 2. Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in the

* documentation and/or other materials provided with the distribution.

* 3. The name of the author may not be used to endorse or promote products

* derived from this software without specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,

* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY

* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL

* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR

* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF

* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/

The code for the OFStandard::atof helper function in ofstd/libsrc/ofstd.cc

has been derived from an implementation which carries the following

copyright notice:

/*

* Copyright 1988 Regents of the University of California

* Permission to use, copy, modify, and distribute this software and

* its documentation for any purpose and without fee is hereby granted,

* provided that the above copyright notice appear in all copies. The

* University of California makes no representations about the

* suitability of this software for any purpose. It is provided "as

* is" without express or implied warranty.

*

*

* The code for OFStandard::ftoa has been derived

* from an implementation which carries the following copyright notice:

*

* Copyright (c) 1988 Regents of the University of California.

* All rights reserved.

*

* Redistribution and use in source and binary forms are permitted

* provided that the above copyright notice and this paragraph are

* duplicated in all such forms and that any documentation,

* advertising materials, and other materials related to such

* distribution and use acknowledge that the software was developed

* by the University of California, Berkeley. The name of the

* University may not be used to endorse or promote products derived

* from this software without specific prior written permission.

* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR

* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED

* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

*/

The "Base64" encoder/decoder in ofstd/libsrc/ofstd.cc has been derived

from an implementation which carries the following copyright notice:

/*

* Copyright (c) 1999, Bob Withers - bwit(at)pobox.com

*

* This code may be freely used for any purpose, either personal or commercial,

* provided the authors copyright notice remains intact.

*/

The oflog sub-package is based on the log4cplus library which is covered by

the following two copyright notices (for details see oflog/docs/LICENSE):

/*

* Copyright (C) 1999-2009 Contributors to log4cplus project.

* All rights reserved.

*

* Redistribution and use in source and binary forms, with or without modifica-

* tion, are permitted provided that the following conditions are met:

*

* 1. Redistributions of source code must retain the above copyright notice,

* this list of conditions and the following disclaimer.

*

* 2. Redistributions in binary form must reproduce the above copyright notice,

* this list of conditions and the following disclaimer in the documentation

* and/or other materials provided with the distribution.

*

* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,

* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND

* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE

* APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,

* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-

* DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS

* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON

* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF

* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*

*/

// Module: Log4CPLUS

// File: appender.h

// Created: 6/2001

// Author: Tad E. Smith

//

//

// Copyright 2001-2009 Tad E. Smith

//

// Licensed under the Apache License, Version 2.0 (the "License");

// you may not use this file except in compliance with the License.

// You may obtain a copy of the License at

//

// http://www.apache.org/licenses/LICENSE-2.0

//

// Unless required by applicable law or agreed to in writing, software

// distributed under the License is distributed on an "AS IS" BASIS,

// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

// See the License for the specific language governing permissions and

// limitations under the License.

The dcmjpls sub-package is based on the CharLS library, which is contained

in dcmjpls/libcharls. This toolkit is covered by the following copyright:

/*

* The CharLS library is available under the following license:

* -------------------------------------------------------------------------------

* Copyright (c) 2007-2010, Jan de Vaan

* All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions are met:

*

* * Redistributions of source code must retain the above copyright notice, this

* list of conditions and the following disclaimer.

*

* * Redistributions in binary form must reproduce the above copyright notice,

* this list of conditions and the following disclaimer in the documentation

* and/or other materials provided with the distribution.

*

* * Neither the name of my employer, nor the names of its contributors may be

* used to endorse or promote products derived from this software without

* specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR

* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON

* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/

Scroll to top