3ac04f9147dad65cbf90f8d8296048b71c7ec84a
/frames/{frame} now validates the frame as a positive 1-based integer and
returns 400 for invalid values. The frame number is threaded through
doWadoRs into addFileToBuffer, where it is sliced out of uncompressed Pixel
Data using NumberOfFrames, Rows, Columns, SamplesPerPixel and BitsAllocated.
- add src/dimse/frameExtractor.ts (native frame slicing)
- add src/dimse/errors.ts (status-bearing HttpError types)
- reject compressed/encapsulated frames with 415 instead of full pixel data
- keep JPEG conversion on /rendered and /thumbnail only
- log frame requests with jpegRendererUsed=false
- add frame extraction and validation tests
dicomweb-proxy
A proxy to translate between DICOMWEB and traditional DICOM DIMSE services
Description
- A nodejs tool to easily connect a DICOMWEB capable DICOM viewer to one or more legacy PACS that only know DIMSE services.
Comes preinstalled with the popular OHIF DICOM Web Viewer (version 3.7.0-beta.13).
Note: Since OHIF 3 is still beta you can also switch back to OHIF 2 version: just remove the public directory and unzip public.zip to public
What is it for?
- if you want to view image data from one or more legacy PACS that does not understand DICOMWEB nor come with a web-viewer
How does it work?
- the app should be installed within the hospital intranet and configured to connect via DIMSE networking to on or more PACS (peers)
- it hosts a default DICOMweb viewer (OHIF) which can be replaced
- the webserver exposes the default QIDO and WADOURI/WADORS API needed for the viewer and converts on the fly between the two protocols
- optionally: you can connect to a DICOMWEB-WEBSOCKET-BRIDGE and expose the data to the public (handle with care!)
Prerequisite
- nodejs 12 or newer
Setup Instructions - source
-
clone repository and install dependencies:
npm install -
update config file located in:
./config -
start proxy:
npm start
What to modify
- (optional) change our port or AET
config.source = {
aet: "SOURCE_AET",
ip: "SOURCE_IP",
port: "SOURCE_PORT"
};
- change peer(s) to your PACS
config.peers = [{
aet: "TARGET_AET",
ip: "TARGET_IP",
port: "TARGET_PORT"
}, { more peers here...}];
-
in case your PACS does not support C-GET, switch to C-Move:
config.useCget = false; -
update webserver port:
config.webserverPort = 5000; -
open webbrowser and start viewing:
e.g.http://localhost:5000
License
MIT
Description