Как написать приложение DICOM на PHP - PullRequest
3 голосов
/ 02 сентября 2010

Я хотел бы разработать приложение на PHP, которое могло бы получать образы DICOM от различных устройств DICOM, подключенных к одной и той же локальной сети.

Я знаю, что есть некоторые проекты для работы с DICOM и PHP, однакоAFAIK Эти проекты не поддерживают отправку и получение изображений по сети.

Я хотел бы знать, если вы знаете, возможно ли разработать приложение, подобное этому, с PHP.Хотелось бы узнать, работали ли вы с PHP и DICOM, и у вас есть опыт в этой теме.

Заранее спасибо.Juan

Ответы [ 4 ]

3 голосов
/ 11 апреля 2011

Я написал PHP-класс, который использует DICOM Toolkit, который будет делать то, что вам нужно.Он может читать и писать теги DICOM, делать преобразования JPEG, а также отправлять и получать через DICOM.Вы можете найти его здесь: http://thevedic.net/projects/class_dicom_php/

1 голос
/ 06 декабря 2010

Даже несмотря на то, что этот инструментарий не поддерживает сетевые коммуникации, парсер можно использовать для чтения и записи файлов. Проверьте это: www.nanodicom.org

0 голосов
/ 20 июля 2011

Я не уверен, что PHP будет лучшим способом выступить в качестве поставщика класса хранения (SCP) для обработки получения изображений.Возможно, вы захотите запустить инструмент командной строки storecp из DCMtk и иметь веб-интерфейс PHP, который просматривает каталоги полученных файлов и генерирует выходные данные.

Если вы просто хотите отправить изображения, что я делаю, это PHP-сценарий вызова инструмента storecu (опять же, из DCMtk), чтобы отправить файл.Функция PHP exec () позволяет вам обрабатывать вызов, и любой веб-пользователь не будет знать, что происходит.(Я предполагаю, что это веб-приложение, использующее PHP, а не скрипт оболочки).Вы можете назвать exec так:

exec("storescu [options] 123.123.123.123 104 dicom_file.dcm");

Немного хакерский, но работает!

0 голосов
/ 02 сентября 2010

В прошлом я работал с наборами данных DICOM, но не использовал PHP.

Первое, что я бы сказал: данные DICOM действительно большие, поэтому постарайтесь свести к минимуму объем передачи, поскольку он будет медленным.

Если уже есть проекты PHP для чтения иманипулируя DICOM, я бы взял один из этих проектов, который, как вы знаете, работает и отвечает вашим потребностям, а затем напишет отдельный фрагмент кода, чтобы перенести данные DICOM туда, где они вам нужны.Я подчеркиваю отдельное положение, поскольку вы не хотите связывать свой код переноса данных с кодом чтения / манипуляции, держите его отдельно, чтобы обеспечить поддержку вашего кода.

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

Функция копирования PHP может быть хорошим местом для начала передачи ваших файлов: http://php.net/manual/en/function.copy.php

...