Hi
Post by e***@gmail.comI'm newbie in DICOM and PACS. I have to make PACS system for my company
(both PACS client and server).
That sounds like fun.
Post by e***@gmail.comMy question is what API is suitable for this project?
The only time DICOM uses the term "API" in its traditional sense is
in the PS3.19 Application Hosting API, which really is intended to be
a platform neutral programmer's interface between a "host" and a
"hosted application" (think "plugin"), usually (but not necessarily)
on the same machine.
But though you asked about "API", you also mentioned "open source".
If you are actually asking about which open source "toolkit" to use,
there are lots of them, and which to choose depends on your platform
for client, platform for server, language of choice, etc. There is
an incomplete list in my FAQ.
If you are asking what "protocol" and "services" to use for communication
between client and server, there are also quite as few choices, depending
on whether or not you are restricted to using HTTP, and whether you are
of the RESTful or SOAP religious persuasion. The DICOM standard defines
"open" "APIs" (in that they are freely published and free to use without
any license fees, submarine patents aside).
Assuming that by "client/server" you mean a viewer retrieving images for
display, you could use:
- DICOM PS3.4 services DICOM PS3.7 messages DICOM PS3.8 protocol,
specifically C-MOVE/C-STORE or C-GET images, +/- C-GET metadata
- DICOM PS3.5 JPIP (JPEG Interactive Protocol for JPEG 2000 pixel data)
- DICOM PS3.18 WADO-URI to get DICOM or JPEG rendered images (HTTP)
- DICOM PS3.18 WADO-RS to get DICOM images, metadata or bulk data by (HTTP)
- DICOM PS3.18 WADO-WS to get DICOM or JPEG images (HTTP using SOAP)
- DICOM PS3.19 Application Hosting API using SOAP access to binary,
native or abstract metadata + bulkdata (including shared memory)
- IHE XDS-I.b to get manifest of images, images by PS3.4/7/8, WADO-URI or
RAD-69 (which is the same as PS3.18 WADO-WS RetrieveImagingDocumentSet),
or JPIP
To find the right images to display in the first place, you could use:
- DICOM PS3.4 C-FIND service, DICOM PS3.7 messages, DICOM PS3.8 protocol
- DICOM PS3.18 QIDO (HTTP)
- IHE XDS-I.b XDS metadata (limited) to find the right manifest
If you are interested in other use cases (like workflow, availability),
that is a whole other can of worms.
The nice thing about standards is that there are so many to choose from
(and as you can see, in DICOM/IHE we are making quite a mess in this
respect, in an attempt to cover various use cases, religious preferences
and be buzzword compliant and conventional IT friendly). The price of
"progress" I suppose (plus ça change, plus c'est la même chose).
David