dcmjs-org / dicomweb-server

Lightweight DICOMweb Server with CouchDB
Apache License 2.0
96 stars 26 forks source link

Fix the correct return formats for instance endpoints #63

Open emelalkim opened 3 years ago

emelalkim commented 3 years ago
We need to define the correct return formats for WADO-RS and WADO-URI endpoints and fix them. This is related to #59 and further discussion can be found in links there Is the correct format this? WADO Path Return format
WADO-RS instance multipart/related
WADO-URI instance application/dicom (DICOM Part 10)

Are we going to support/respect accept header sent from the client? which types we need to support? I created this issue to start a discussion to define the best solution. We appreciate any input @pieper, @swederik, @hackermd, @lassoan

hackermd commented 3 years ago

The retrieve instance resource is a bit of a mess. In principle, clients can request instances as Part10 files (multipart/related; type="application/dicom"; transfer-syntax=*) or as bulkdata (multipart/related; type="application/octet-stream"; transfer-syntax=* for uncompressed images and multipart/related; type="image/*" for compressed images). The latter is a bad idea in my opinion, since the resource may not actually represent an instance, but only parts of it (i.e., data elements above a given size threshold, such as Pixel Data). However, an origin server that would claim compliance with the standard would need to support all of these media types as far as I know.

On the client side, I decided to always request instances from the origin server using multipart/related; type="application/dicom".