GithubHelp home page GithubHelp logo

ohif / viewers Goto Github PK

View Code? Open in Web Editor NEW
3.0K 118.0 3.2K 316.07 MB

OHIF zero-footprint DICOM viewer and oncology specific Lesion Tracker, plus shared extension packages

Home Page: https://docs.ohif.org/

License: MIT License

Shell 0.11% JavaScript 33.51% HTML 0.77% CSS 1.19% Dockerfile 0.06% TypeScript 62.03% MDX 2.32%
nci-itcr nci-qin quantitative-imaging imaging-informatics cancer-imaging-research dicom image-analysis medical-image-processing medical-imaging reactjs

viewers's People

Contributors

allcontributors[bot] avatar ayselafsar avatar biharck avatar brunoalvesdefaria avatar dannyrb avatar dependabot[bot] avatar eloisalgado avatar emfol avatar evren217 avatar galelis avatar ibrahimcsae avatar igoroctaviano avatar jamesapetts avatar jbocce avatar joao-f-medeiros avatar ladeirarodolfo avatar lobrewis avatar lscoder avatar md-prog avatar ohif-bot avatar pedrokohler avatar rodrigoea avatar romulobordezani avatar salimkanoun avatar sedghi avatar sofien-sellami avatar swederik avatar ubaldomattos avatar wayfarer3130 avatar weiwei-ohif avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

viewers's Issues

Modifying filters to case insensitive

I want to make the filters in the worklist case insensitive instead of case sensitive. My assumption was that there are three choices.

  1. modify comparison server variable and filter variable.
  2. capitalize input filter.
  3. uncapitalize server variable.

I chose for 2. However, I get a server error after adding the toUpperCase() method.

`/**

  • Transforms an input string into a search filter for

  • the Worklist Search call
    *

  • @param filter The input string to be searched for

  • @returns {*}
    */
    function getFilter(filter) {

    if (filter && filter.length && filter.substr(filter.length - 1) !== '*') {
    filter += ' * ' ;
    }

    return filter.toUpperCase();
    }`

server log: Router.route('/', function () { this.render('Home', { data: function () { return Items.findOne({_id: this.params._id}); } }); });

Adding dicom tags to viewport

I want to add several dicom tags to the viewport. I have modified ViewportOverlay.html and ViewportOverlay.js, and QidoRs.cpp in Orthanc.
result.push_back(gdcm::Tag(0x0032, 0x4000)); // Study Comments in Querylevel Study.

I also added the following lines in studies.js to retrieve the following dicom tag:
studyComments: DICOMWeb.getString(study['00324000'])

I added these lines to ViewportOverlay.html
<div class="topleft dicomTag"> <div>{{formatPN patientName}}</div> <div>{{patientId}}</div> <div>{{studyComments}}</div> <div class='priorIndicator'>{{prior}}</div> </div>
And finally these changes to ViewportOverlay.js:
studyComments: function(){ return getInstance.call(this, 'studyComments'); },

However, when debugging ViewportOverlay.js, the studyComments parameter is undefined. Did i forget to make additional changes to other files?

My suspicion is that the retrieval of the dicom tag does not take place in studies.js; however I am not certain.

Running issue

Dear Friends,

I'm new in using this kind of systems.
I'm running Orthanc with plugins server on docker and clone Viewers.git repo. After run bin/orthancDICOMWeb.sh everythings works except when i open localhost:3000 there are no matches found every time. When I open Docker orhtanc sever via 8042 port and select the image I am able to open it with embedded viewer. Could you please help me with setup on OS X 10.12 and Windows 10 as well.

Thank you very much!

Connect to dcm4chee-2.18.1

Hello,
is there a way to start the OHIFViewer and connect to existing dcm4chee PACS server?
I tried to modify siimDCM4CHEE.json without luck.
Thank you
Marko

OHIF Viewer touch support

Hi,

First, fantastic project. The viewer currently almost support touch but requires a double-click to open studies from the worklist which breaks support on most mobile devices. The upstream Cornerstone demo supports touch. Is there any way to get this working? It is incredibly powerful to show the viewer on a tablet.

MRI issue: Image numbering != position

Output from MRI with parallel imaging can result in a stack of images that does not scroll in an orderly manner from one position to the next.

It seems the default viewer behavior is to show the images sequentially by image number. Is there any way to default to scrolling by position?

Along the same lines, once ordered by position, can we reverse the stack?

Runing OHIF Viewer as a service without meteor

I would like tu run OHIF Viewer as a service daemon, and to keep it running when I quit the command line console. It seems like Meteor was made for development purpose and has no daemon running option.
Is there a way to run it as a service with Node.js or another serverside js framework ?

Modifying filters to case insensitive

I want to make the filters case insensitive instead of case sensitive. My assumption was that there are three choices.

  1. modify comparison server variable and filter variable.
  2. capitalize input filter.
  3. uncapitalize server variable.

I chose for 2. However, I get a server error after adding the toUpperCase() method.

`/**

  • Transforms an input string into a search filter for

  • the Worklist Search call
    *

  • @param filter The input string to be searched for

  • @returns {*}
    */
    function getFilter(filter) {

    if (filter && filter.length && filter.substr(filter.length - 1) !== '') {
    filter += '
    ';
    }

    return filter.toUpperCase();
    }`

server log: Router.route('/', function () { this.render('Home', { data: function () { return Items.findOne({_id: this.params._id}); } }); });

How to config with n AETitle

Dear ad,
OHIF only working with 1 AETitle this mean only 1 file config to Server, so i can't change to config differences,
because my system required with n AETitle, i thing this is a new function can change aetitle (add,remove,update) and two paramater (wadoUriRoot,wadoRoot) don't in config.
"wadoUriRoot" : "http://192.168.201.46:1000/wado/CT",
"wadoRoot": "http://192.168.201.46:1000/wado/CT",
paramater:
CT -> user will change in interface

{
"servers": {
"dicomWeb": [
{
"name": "ClearCanvas",
"wadoUriRootNOTE" : "either this uri is not correct for wado-uri or wado-uri is not configured on ClearCanvas currently",
"wadoUriRoot" : "http://192.168.201.46:1000/wado/ CT",
"qidoRoot": "http://192.168.201.46:1000",
"wadoRoot": "http://192.168.201.46:1000/wado/CT",
"qidoSupportsIncludeField": false,
"imageRendering" : "wadouri",
"requestOptions" : {
"auth": "none:none",
"logRequests" : false,
"logResponses" : false,
"logTiming" : false
}
}],
"dimse": [{
"name": "ClearCanvas",
"peers": [
{
"host" : "192.168.201.46",
"port" : 108,
"aeTitle" : "CT",
"default" : true,
"supportsInstanceRetrievalByStudyUid": false
},
{
"host" : "0.0.0.0",
"port" : 104,
"aeTitle" : "OHIFDCM",
"default" : true,
"server" : true
}
]
}]
},
"defaultServiceType": "dimse"
}

Windows Deploy

Any one succeed in deploying OHIF in a windows machine?
It always fail with errors.
I tested both 32 & 64 versions of windows

The error log is:

W20160623-14:53:18.244(3)? (STDERR)
W20160623-14:53:18.244(3)? (STDERR) C:\Users\Win7-32\AppData\Local.meteor\packa
ges\meteor-tool\1.3.2_4\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules
fibers\future.js:245
W20160623-14:53:18.244(3)? (STDERR)
throw(ex);
W20160623-14:53:18.244(3)? (STDERR)
^
W20160623-14:53:18.244(3)? (STDERR) ReferenceError: Accounts is not defined
W20160623-14:53:18.244(3)? (STDERR) at app\Packages\active-entry\lib\Account
s.js:35:3
W20160623-14:53:18.244(3)? (STDERR) at app\Packages\active-entry\lib\Account
s.js:50:4
W20160623-14:53:18.244(3)? (STDERR) at C:\OHIF\Viewers-master---\Viewers-mas
ter\OHIFViewer.meteor\local\build\programs\server\boot.js:283:10
W20160623-14:53:18.244(3)? (STDERR) at Array.forEach (native)
W20160623-14:53:18.244(3)? (STDERR) at Function..each..forEach (C:\Users\W
in7-32\AppData\Local.meteor\packages\meteor-tool\1.3.2_4\mt-os.windows.x86_32\d
ev_bundle\server-lib\node_modules\underscore\underscore.js:79:11)
W20160623-14:53:18.244(3)? (STDERR) at C:\OHIF\Viewers-master---\Viewers-mas
ter\OHIFViewer.meteor\local\build\programs\server\boot.js:133:5
=> Exited with code: 8

OHIFViewer: Previous and Next buttons don't work

In the viewer tab, when you click on the Previous or Next button it throws and error in the getDisplaySetSequenceMap() method in the LayoutManager.js file.

It seems that the viewportDataList variable is undefined.

Unable to open study in worklist; stuck loading

After a while I succeeded in setting up the Orthanc server and meteor server. I uploaded some DICOM images into Orthanc, which I can confirm by going to localhost:8042. However, the Echo test in Orthanc fails. I did not follow the Orthanc tutorial, but the OHIF documentation from this link:
https://github.com/OHIF/Viewers/wiki

I changed the paths in localhostOrthanc.json so that the cornerstone packages are found, and ran the shell script in OHIFViewer/bin/localhostOrthanc.sh

Whenever I run the meteor server, and go to to the worklist, all studies from the Orthanc server are correctly uploaded, including all parameters, except the modality tab. The following error message is shown in the orthanc terminal:

E0217 14:33:47.062190 OrthancInitialization.cpp:520] No modality with symbolic name: null

Did I forget to create a configuration file? Or to modify an existing one? Because all other parameters in my worklist are shown correctly. Also the modality parameter is displayed correctly in the Orthanc DICOM server, but not in the meteor server.

Any help would be greatly appreciated.

How to add new tool to the viewer

I want to add new tools to the viewer. I know how to add the icon to the toolbar for a new tool,but where the code resides for the new tool is not very clear.

Where for instance is the code for the length tool?.

Running on windows

Greetings, I have gotten the main meteor package running however each time I open a patient for viewing I get a:
ohif

I have followed the tutorial (https://github.com/OHIF/Viewers/wiki/Usage) and step 3 cannot be done under Windows (which is why I believe its failing on every patient).

On a side note, not being able to run this without meteor is a serious drawback.

OHIFViewer is always displaying "Loading..."

Hello all,

I installed the latest version of OHIFViewer wit Orthanc 1.2. I tried to run

METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/orthancDIMSE.json

The output is as follows. The display in Chrome browser hang at loading the study... I could not see any display of my DICOM images. Can you help?

[[[[[ ~/Viewers/OHIFViewer ]]]]]

=> Started proxy.

=> Started MongoDB.

I20170307-08:02:18.060(0)? Adding Servers from JSON Configuration

I20170307-08:02:18.110(0)? {

I20170307-08:02:18.111(0)? "servers": {

I20170307-08:02:18.111(0)? "dimse": [

I20170307-08:02:18.111(0)? {

I20170307-08:02:18.112(0)? "name": "ORTHANC_DIMSE",

I20170307-08:02:18.112(0)? "wadoUriRoot": "http://localhost:8042/wado",

I20170307-08:02:18.113(0)? "requestOptions": {

I20170307-08:02:18.113(0)? "auth": "orthanc:orthanc",

I20170307-08:02:18.114(0)? "logRequests": true,

I20170307-08:02:18.114(0)? "logResponses": false,

I20170307-08:02:18.114(0)? "logTiming": true

I20170307-08:02:18.115(0)? },

I20170307-08:02:18.115(0)? "peers": [

I20170307-08:02:18.116(0)? {

I20170307-08:02:18.116(0)? "host": "localhost",

I20170307-08:02:18.117(0)? "port": 4242,

I20170307-08:02:18.117(0)? "aeTitle": "ORTHANC",

I20170307-08:02:18.117(0)? "default": true,

I20170307-08:02:18.118(0)? "server": false,

I20170307-08:02:18.118(0)? "supportsInstanceRetrievalByStudyUid": true

I20170307-08:02:18.119(0)? },

I20170307-08:02:18.119(0)? {

I20170307-08:02:18.120(0)? "host": "0.0.0.0",

I20170307-08:02:18.120(0)? "port": 11112,

I20170307-08:02:18.121(0)? "aeTitle": "OHIFDCM",

I20170307-08:02:18.121(0)? "default": true,

I20170307-08:02:18.121(0)? "server": true,

I20170307-08:02:18.122(0)? "supportsInstanceRetrievalByStudyUid": true

I20170307-08:02:18.122(0)? }

I20170307-08:02:18.122(0)? ]

I20170307-08:02:18.123(0)? }

I20170307-08:02:18.124(0)? ]

I20170307-08:02:18.124(0)? },

I20170307-08:02:18.125(0)? "defaultServiceType": "dimse",

I20170307-08:02:18.125(0)? "dropCollections": true,

I20170307-08:02:18.125(0)? "public": {

I20170307-08:02:18.126(0)? "verifyEmail": false,

I20170307-08:02:18.126(0)? "ui": {

I20170307-08:02:18.126(0)? "studyListFunctionsEnabled": true,

I20170307-08:02:18.127(0)? "leftSidebarOpen": false,

I20170307-08:02:18.127(0)? "displaySetNavigationLoopOverSeries": false,

I20170307-08:02:18.127(0)? "displaySetNavigationMultipleViewports": true,

I20170307-08:02:18.128(0)? "autoPositionMeasurementsTextCallOuts": "TRLB",

I20170307-08:02:18.128(0)? "displayEchoUltrasoundWorkflow": false

I20170307-08:02:18.128(0)? },

I20170307-08:02:18.129(0)? "demoUserEnabled": true

I20170307-08:02:18.129(0)? }

I20170307-08:02:18.129(0)? }

I20170307-08:02:18.136(0)? Adding DIMSE peers

I20170307-08:02:18.136(0)? listening on {"address":"0.0.0.0","family":"IPv4","port":11112}

=> Started your app.

W0307 07:56:10.471874 FromDcmtkBridge.cpp:142] Loading the external DICOM dictionary "/usr/share/libdcmtk5/private.dic"

W0307 07:56:10.479155 OrthancInitialization.cpp:489] Registering JPEG Lossless codecs

W0307 07:56:10.479189 OrthancInitialization.cpp:494] Registering JPEG codecs

W0307 07:56:10.487400 main.cpp:635] Loading plugin(s) from: /home/ubuntu/orthanc-webviewer/Build/libOrthancWebViewer.so

W0307 07:56:10.506998 PluginsManager.cpp:269] Registering plugin 'web-viewer' (version mainline)

W0307 07:56:10.507030 PluginsManager.cpp:168] Initializing the Web viewer

W0307 07:56:10.507216 PluginsManager.cpp:168] Web viewer using 1 threads for the decoding of the DICOM images

W0307 07:56:10.507232 PluginsManager.cpp:168] Storing the cache of the Web viewer in folder: OrthancStorage/WebViewerCache

=> App running at: http://localhost:3000/

I20170307-08:02:22.172(0)? Services.DIMSE.Studies

I20170307-08:02:22.173(0)? Associating...

I20170307-08:02:22.174(0)? Starting Connection...

I20170307-08:02:22.175(0)? Connect

I20170307-08:02:22.175(0)? Connection established

I20170307-08:02:22.182(0)? ==Associated

I20170307-08:02:22.186(0)? Sending command C-FIND-RQ

I20170307-08:02:22.240(0)? Connection closed

I20170307-08:02:25.523(0)? GetStudyMetadata(%s) 1.2.392.200036.9116.2.2.2.1762587269.1055387749.844680

I20170307-08:02:25.528(0)? Associating...

I20170307-08:02:25.528(0)? Starting Connection...

I20170307-08:02:25.529(0)? Connect

I20170307-08:02:25.530(0)? Connection established

I20170307-08:02:25.532(0)? ==Associated

I20170307-08:02:25.534(0)? Sending command C-FIND-RQ

I20170307-08:02:25.967(0)? Data received

I20170307-08:02:26.004(0)? Data received

I20170307-08:02:26.035(0)? Data received

I20170307-08:02:26.076(0)? Data received

I20170307-08:02:26.098(0)? Data received

I20170307-08:02:26.116(0)? Data received

I20170307-08:02:26.142(0)? Data received

I20170307-08:02:26.160(0)? Data received

I20170307-08:02:26.164(0)? Connection closed

I20170307-08:02:26.165(0)? resultDataToStudyMetadata

upload dcm file using curl -x post

hi, i want to upload a .dcm file to orthanc using curl -x post
but when i execute this command
curl -X POST http://localhost:8042/instances -data-binary test.dcm
it replies
curl: (6) Could not resolve host: test.dcm
can anyone help me with this?
any help will be greatly appreciate.

Orthanc server sample data

I have installed the OHIF-Viewer on ubuntu but the app loader keeps rotating as if loading but no data ever gets loaded. I assume its perhaps there is no data in the orthanc server. How can i add data to the orthanc server?. Is there sample data i can get started with?.

Viewer-master is not working (Proxy Issue - Not allowed to open image into Dicom Viewer (on loading))

i did install everything very well according to to the document on https://github.com/OHIF/Viewers/wiki/Getting-Started

rest of all working well my dockers server is running ,
NodeJS version v6.10.0
npm 3.10.10
meteor installed
docker server is running and working fine
Got Latest Viewer-master source code

clone it and run with "PACKAGE_DIRS="../Packages" meteor --settings ../config/orthancDICOMWeb.json"

successfully Run lunched the application http://localhost:3000

the study list appears perfect as soon click on study to view in dicom viewer it goes on LOADING....

here are attache images:

Docker running
Viewers started with metero
debug browser error where it showing the error in proxy_wado

if someone want to browse online and please go here
http://www.medfiles.com:3000/
http://medfiles.com:8042/

debugger_viewers_master
docker
running_ohif

Cannot load images from Orthanc

Dear Friends,

I have a problem with loading images from Orthanc repository via OHIFViewer.
I see patient list from orthanc server, but when I've try to open image, I got this error message
"an error occurred whole loadgin image: dicomweb:http://192.168.99.100:8042/wado?requestType=WADO&studyUID=2.16....." on next line Details: [object ArrayBuffer]"

In firebug I saw this: http://192.168.99.100:8042/wado?requestType=WADO&studyUID=2.16.840.1.113669.632.10.20140407.123623642.0.84&seriesUID=2.16.840.1.113669.632.10.20140407.123623642.0.85&objectUID=2.16.840.1.113669.632.10.20131219.130527112.10002.44&contentType=application%2Fdicom 401 Unauthorized

Unable to load dicom files.[Urgent]

Dicom files loads on local but when running from a hosted site it return with the following error:

uncaught exception: dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.

Unable to figure out what the problem is, both local and live site gets Dicom files from same orthanc server which is also hosted live. Any help is appreciated.

No Matching result

i do have install everything works fine ,

but when i access on localhost:3000 the study list is saying "NO MATCHING RESULT"

here is my logs of access:
I20161013-04:45:59.637(0)? worklist: Services.DIMSE.Studies
I20161013-04:45:59.637(0)? Associating...
I20161013-04:45:59.637(0)? Starting Connection...
I20161013-04:45:59.638(0)? { host: '0.0.0.0',
I20161013-04:45:59.638(0)? port: 11112,
I20161013-04:45:59.638(0)? sockets:
I20161013-04:45:59.640(0)? { '2720':
I20161013-04:45:59.640(0)? CSocket {
I20161013-04:45:59.640(0)? domain: null,
I20161013-04:45:59.641(0)? _events: [Object],
I20161013-04:45:59.641(0)? _eventsCount: 5,
I20161013-04:45:59.641(0)? _maxListeners: undefined,
I20161013-04:45:59.641(0)? socket: [Object],
I20161013-04:45:59.642(0)? negotiatedContexts: {},
I20161013-04:45:59.642(0)? receiving: null,
I20161013-04:45:59.642(0)? receiveLength: null,
I20161013-04:45:59.642(0)? minRecv: null,
I20161013-04:45:59.643(0)? lastReceived: null,
I20161013-04:45:59.643(0)? presentationContexts: [Object],
I20161013-04:45:59.643(0)? associated: false,
I20161013-04:45:59.643(0)? pendingPDVs: null,
I20161013-04:45:59.643(0)? connected: true,
I20161013-04:45:59.644(0)? started: 1476333959,
I20161013-04:45:59.644(0)? intervalId: null,
I20161013-04:45:59.644(0)? lastCommand: null,
I20161013-04:45:59.644(0)? lastSent: null,
I20161013-04:45:59.644(0)? messages: {},
I20161013-04:45:59.645(0)? messageIdCounter: 0,
I20161013-04:45:59.645(0)? callingAe: 'DCM4CHEE',
I20161013-04:45:59.645(0)? calledAe: 'DCM4CHEE',
I20161013-04:45:59.645(0)? id: 2720,
I20161013-04:45:59.645(0)? options: [Object] } },
I20161013-04:45:59.646(0)? server:
I20161013-04:45:59.646(0)? Server {
I20161013-04:45:59.646(0)? domain: null,
I20161013-04:45:59.646(0)? _events:
I20161013-04:45:59.647(0)? { listening: [Object],
I20161013-04:45:59.647(0)? error: [Function],
I20161013-04:45:59.647(0)? connection: [Function] },
I20161013-04:45:59.647(0)? _eventsCount: 3,
I20161013-04:45:59.647(0)? _maxListeners: undefined,
I20161013-04:45:59.648(0)? _connections: 0,
I20161013-04:45:59.648(0)? _handle: null,
I20161013-04:45:59.648(0)? _usingSlaves: false,
I20161013-04:45:59.648(0)? _slaves: [],
I20161013-04:45:59.649(0)? _unref: false,
I20161013-04:45:59.649(0)? allowHalfOpen: false,
I20161013-04:45:59.649(0)? pauseOnConnect: false } }
I20161013-04:45:59.649(0)? ==Associated
I20161013-04:45:59.649(0)? Sending command C-FIND-RQ
I20161013-04:45:59.650(0)? Connect
I20161013-04:45:59.652(0)? Connection established
I20161013-04:45:59.666(0)? ==Associated
I20161013-04:45:59.667(0)? Sending command C-FIND-RQ
I20161013-04:45:59.723(0)? Connection closed
I20161013-04:45:59.728(0)? Connection closed

I20161013-04:50:55.783(0)? worklist: Services.DIMSE.Studies
I20161013-04:50:55.785(0)? Associating...
I20161013-04:50:55.785(0)? Starting Connection...
I20161013-04:50:55.785(0)? { host: '0.0.0.0',
I20161013-04:50:55.785(0)? port: 11112,
I20161013-04:50:55.786(0)? sockets: {},
I20161013-04:50:55.786(0)? server:
I20161013-04:50:55.786(0)? Server {
I20161013-04:50:55.786(0)? domain: null,
I20161013-04:50:55.787(0)? _events:
I20161013-04:50:55.787(0)? { listening: [Object],
I20161013-04:50:55.787(0)? error: [Function],
I20161013-04:50:55.787(0)? connection: [Function] },
I20161013-04:50:55.788(0)? _eventsCount: 3,
I20161013-04:50:55.790(0)? _maxListeners: undefined,
I20161013-04:50:55.791(0)? _connections: 0,
I20161013-04:50:55.791(0)? _handle: null,
I20161013-04:50:55.791(0)? _usingSlaves: false,
I20161013-04:50:55.791(0)? _slaves: [],
I20161013-04:50:55.792(0)? _unref: false,
I20161013-04:50:55.792(0)? allowHalfOpen: false,
I20161013-04:50:55.792(0)? pauseOnConnect: false } }
I20161013-04:50:55.792(0)? Connect
I20161013-04:50:55.793(0)? Connection established
I20161013-04:50:55.798(0)? ==Associated
I20161013-04:50:55.798(0)? Sending command C-FIND-RQ
I20161013-04:50:55.896(0)? Connection closed
I20161013-04:50:55.900(0)? worklist: Services.DIMSE.Studies
I20161013-04:50:55.900(0)? Associating...
I20161013-04:50:55.900(0)? Starting Connection...
I20161013-04:50:55.902(0)? { host: '0.0.0.0',
I20161013-04:50:55.902(0)? port: 11112,
I20161013-04:50:55.903(0)? sockets: {},
I20161013-04:50:55.903(0)? server:
I20161013-04:50:55.903(0)? Server {
I20161013-04:50:55.903(0)? domain: null,
I20161013-04:50:55.904(0)? _events:
I20161013-04:50:55.904(0)? { listening: [Object],
I20161013-04:50:55.904(0)? error: [Function],
I20161013-04:50:55.904(0)? connection: [Function] },
I20161013-04:50:55.904(0)? _eventsCount: 3,
I20161013-04:50:55.905(0)? _maxListeners: undefined,
I20161013-04:50:55.905(0)? _connections: 0,
I20161013-04:50:55.905(0)? _handle: null,
I20161013-04:50:55.905(0)? _usingSlaves: false,
I20161013-04:50:55.905(0)? _slaves: [],
I20161013-04:50:55.905(0)? _unref: false,
I20161013-04:50:55.905(0)? allowHalfOpen: false,
I20161013-04:50:55.906(0)? pauseOnConnect: false } }
I20161013-04:50:55.906(0)? Connect
I20161013-04:50:55.906(0)? Connection established
I20161013-04:50:55.912(0)? ==Associated
I20161013-04:50:55.913(0)? Sending command C-FIND-RQ
I20161013-04:50:55.980(0)? Connection closed
I20161013-04:50:55.983(0)? worklist: Services.DIMSE.Studies
I20161013-04:50:55.984(0)? Associating...
I20161013-04:50:55.984(0)? Starting Connection...
I20161013-04:50:55.985(0)? { host: '0.0.0.0',
I20161013-04:50:55.985(0)? port: 11112,
I20161013-04:50:55.986(0)? sockets: {},
I20161013-04:50:55.986(0)? server:
I20161013-04:50:55.986(0)? Server {
I20161013-04:50:55.986(0)? domain: null,
I20161013-04:50:55.987(0)? _events:
I20161013-04:50:55.987(0)? { listening: [Object],
I20161013-04:50:55.987(0)? error: [Function],
I20161013-04:50:55.987(0)? connection: [Function] },
I20161013-04:50:55.987(0)? _eventsCount: 3,
I20161013-04:50:55.988(0)? _maxListeners: undefined,
I20161013-04:50:55.988(0)? _connections: 0,
I20161013-04:50:55.988(0)? _handle: null,
I20161013-04:50:55.990(0)? _usingSlaves: false,
I20161013-04:50:55.990(0)? _slaves: [],
I20161013-04:50:55.990(0)? _unref: false,
I20161013-04:50:55.990(0)? allowHalfOpen: false,
I20161013-04:50:55.991(0)? pauseOnConnect: false } }
I20161013-04:50:55.991(0)? Connect
I20161013-04:50:55.991(0)? Connection established
I20161013-04:50:55.995(0)? ==Associated
I20161013-04:50:55.996(0)? Sending command C-FIND-RQ
I20161013-04:50:56.083(0)? Connection closed

Meteor unknown packages

Following the docs :

# cd /path/to/OHIF/Viewers/OHIFViewer/bin
# ./localhostOrthanc.sh

Starting Meteor server...
[[[[[ /path/to/OHIF/Viewers/OHIFViewer ]]]]]

=> Started proxy.
=> Started MongoDB.
=> Errors prevented startup:

   While selecting package versions:
   error: unknown package in top-level dependencies: cornerstone
   unknown package in top-level dependencies: dicomweb
   unknown package in top-level dependencies: viewerbase
   unknown package in top-level dependencies: worklist
   unknown package in top-level dependencies: hangingprotocols

=> Your application has errors. Waiting for file change.

The packages are in /path/to/OHIF/Viewers/Packages but it seems that the meteor app isn't aware of this !
What is the point ? Do I have to edit meteor config ?
I'm new to meteor, please help !

Marc

Added modality in worklist, unable to filter

I've found out that the modalities tag is empty, so filtering on modalities tag would be impossible. Therefore the modalities filter is replaced by the modality filter. I have been succesfull at loading the corresponding modality tag for each study into the worklist.

Every filter works correctly, except the (recently added) modality filter. I have tried to debug the javascript WorklistResult.js through the console window of google chrome. The filter string is added successfully when looking at local variables in console, and the same goes for loading the modality string for the corresponding study. It seems something is going wrong when comparing string A vs string B, and check whether they are identical or not.

I have added this line of code in WorklistResult.js: modality: getFilter($('input#modality').val()), //added

The filter function seems to work when debugging (I can filter on other tags, i.e. Patient Name ). My suspicions are that the fault remains in this piece of code.

    // Loop through all identified studies
    studies.forEach(function(study) {

        // Search the rest of the parameters that aren't done via the server call
        if (isIndexOf(study.modalities, modality) &&
            (new Date(studyDateFrom).setHours(0, 0, 0, 0) <= convertStringToStudyDate(study.studyDate) || !studyDateFrom || studyDateFrom === "") &&
            (convertStringToStudyDate(study.studyDate) <= new Date(studyDateTo).setHours(0, 0, 0, 0) || !studyDateTo || studyDateTo === "")) {

            // Convert numberOfStudyRelatedInstance string into integer
            study.numberOfStudyRelatedInstances = parseInt(study.numberOfStudyRelatedInstances);
            // Insert any matching studies into the WorklistStudies Collection
            WorklistStudies.insert(study);
        }
    });

    if (WorklistStudies.find().count() === 0) {
        // Show notFound text
        searchResults.showNotFoundMessage = true;
        Session.set("searchResults", searchResults);
    }`

DICOM Segmentation image storage IOD support

It would be really helpful if OHIF viewers supported DICOM Segmentation. There are several on-going projects in ITCR and beyond that would probably benefit from this capability. Lots of sample data is publicly available for testing. Several tools, both open source and commercial, support DICOM SEG natively. Would be great to get an idea if/when this capability will be supported by OHIF Viewers.

Not able to run server.

According to Running and building the Standalone Viewer, I followed all the steps to deploy Server, Still I am not able to get it started. Can anyone explain me what am I missing here?

Things I tried

  1. Installed meteor using sudo curl https://install.meteor.com/ | sh
  2. cd /home/systemuser/Viewers-master -> meteor npm install [Here, system crashed.]

I saw Having trouble getting started.., but i am not able to find this file -> ./bin/localhostOrthanc.sh. neither this -> ./setupLocalOrthanc.sh.

Any help would be appreciated very much!
Thanks,

Trouble adding modality filter to worklist

I have some trouble adding the modality and accessionnumber tags as filters to the worklist. Furthermore I want to display the amount if images per study in the worklist as well.

The accessionnumber and # images show NaN. This is correct for the accessionnumber, since in my case a prefix is added in my DICOM files before the ''actual accession number''. For example: UMCA12345678. However, I have no idea why #images is shown as NaN. What DICOM tag is used to display # images?

I changed the following files to add these filters:
worklistResult.html
worklistStudy.html
retrieveMetaData.js
worklistResult.js
getStudyMetaData.js

I'm currently trying to get the modality filter, the accession number and the #images up and running. The modality filter is shown blank; it does not even load.
worklist

It is important to know that there are two DICOM tags: modality (0008,0060), and modalities (0008,0061).
My modalities tag is non-existent when I look at the dicom tags in orthanc, my modality tag is filled with the string "DX".

Is there more documentation available? And does anyone have tips on how to accomplish this?

Having trouble getting started..

Hi -

I can install the docker container and export DICOM images to it -but it's not clear to me how to install the viewer so that I can see them. Do I need to copy the viewer files to the docker instance? Or do these somehow run on my local machine which uses web services on doctor instance?

I'm running this on a Mac but I could run on a different OS if that made things simpler.

Thanks

Sean

Modify filters; make filter independent of location in String

Whenever entering a filter that matches after several non-match characters, the worklist is emptied anyway. See example image below. If I enter thorax, I want to return all studies with StudyDescription CR THORAX. At the moment all the correct studies are returned only when entering cr, not when entering thorax.

PS: the filters are case-insensitive.

schermafbeelding 2016-03-30 om 16 12 54

Unrecognized tag 80000

I'm trying to connect with dcm4che 2x but when connection and the following problem is generated:

=> Meteor server restarted
I20160912-17:04:56.080(-5)? worklist: Services.DIMSE.Studies
I20160912-17:04:56.082(-5)? Associating...
I20160912-17:04:56.084(-5)? Starting Connection...
I20160912-17:04:56.102(-5)? { host: '10.10.0.1', port: 11112 }
I20160912-17:04:56.300(-5)? Connect
I20160912-17:04:56.303(-5)? Connection established
I20160912-17:04:56.475(-5)? ==Associated
I20160912-17:04:56.481(-5)? Sending command C-FIND-RQ
W20160912-17:04:56.838(-5)? (STDERR)
W20160912-17:04:56.840(-5)? (STDERR) /Users/xxxxxxx/developer/Viewers-master/OHIFViewer/.meteor/local/build/programs/server/packages/dimseservice.js:5016
W20160912-17:04:56.841(-5)? (STDERR) throw 'Unrecognized tag ' + (tag >>> 0).toString(16); // 809
W20160912-17:04:56.842(-5)? (STDERR) ^
W20160912-17:04:56.842(-5)? (STDERR) Unrecognized tag 80000
=> Exited with code: 1
=> Your application is crashing. Waiting for file change.

captura de pantalla 2016-09-12 a las 5 05 40 p m

thank you very much.

Lost search results with qido + date filtering

When using the qido-rs query method, filtering first in the qido query and then filtering those results by date and modality on the client will obscure search results in certain circumstances.

For example, if a user wishes to search for studies between two dates, and if qido-rs will be used with a limit filter of say 20 (such as may be the case for a paging system), then first a qido-rs query will be made without the date filter, and the first 20 such results will be returned to the client. Then the client will remove from those any that don’t match the date filter, leaving some number of results less than 20.

Even without setting the limit filter on the qido-rs query, this is still a problem, because servers are allowed to set their own maximum for the number of returned results. (On my test server this is 1000). If the number of studies on the server is more than 1000, then when using any date filter, only the matching results of the first 1000 studies are able to be found. The others seem to just vanish from the search.

Dicom wado not loading...

Deal ad,
I'm loading images from server but not show images use wado, have not response
how to fix it.
thank so much.
capture

Same mistake!

Same mistake! The Phorum does not work ... I did my registration to 4 days and I am waiting for the confirmation e-mail today.

Can anyone help?

current Viewer-master is broken ()

I was using Viewer-Master from last three months it was working fine , just got the latest and start using

started metoer with these
ROOT_URL=http://: METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/orthancDICOMWeb.json

which is started perfectly
docker is running fine ,
installed nodeJS 6.x.x
npm installed

the studylist is coming in dicomeviewer , but when click on study to view in dicome view its Just loading loading....

here is live my system πŸ‘
http://medfiles.com:3000/
http://medfiles.com:8042/app/explorer.html

feel free to add more studyies to test it

just noted in chrom debugger its shows under network tag these errors:

"500 Internal Server Error xh"
"Error: Problem with request to PACS: getaddrinfo ENOTFOUND http http:80"

Use HTML5 routing

Hi there,
Maybe we could improve the user experience using HTML5 routing (currently used only in user area). Most of the user navigation is stored in a single history state and this is lost when page is refreshed and after back/forward interaction. Use could use HTML5 routing to:

  • Specify active viewer tab;
  • Specify the image shown in the current tab;
  • Specify work list filters and sort;
  • DO NOT specify active tools.

Best regards.

Doctor's note for study

Some commercial full-pacs have viewers with the ability for a radiologist and doctors to view and edit a note about a study.

I was wondering if anyone knows what kind of protocol might be used for this kind of functionality. Would it normally just be a custom solution layered on top of a DICOM server + viewer setup? Or is there a special protocol for this? (Such as HL7)

Thanks for any help, I hope it is okay to post this here since I am wondering about whether this feature could exist in the OHIF viewer.

Long patient list takes time to load

Hello,

I am trying to use the OHIF viewer with a dicom store of X-Ray images. It's deployed and working (without Docker), but I am unsure of how to make customizations to it.

Specifically, when the startup page opens (worklist?) it takes some time to load the patient list. I can only imagine this getting worse as I add the rest of the X-Ray archive to the system (18000 images). Is there a way to make it not show an initial list of patients, or to enable some kind of pagination?

Thanks

Retrieve and display amount of images per study and total in worklist

I want to show the amount of images in the worklist. This means in every row (corresponds to 1 study) the amount of instances of that study must be shown (1). In the top the total amount of images must be shown (2).

So far I know the instanceNumber tag is necessary, i.e. instanceNumber(0020,0013). To accomplish (1), I have to count the total amount of instances within the study row. Then show this sum in the corresponding row.

To accomplish (2), I have to count all the instances of all studies in the worklist. The sum of this count is the total amount of instances of all studies, i.e. the total count of all images.

So far I have some trouble accomplishing this. Is there someone who could give me a suggestion?

upload study error

at [object Object].createStudyImportStatus (packages/worklist/server/methods/importStudies.js:76:16)
I20161013-05:02:41.808(0)? at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1711:12)
I20161013-05:02:41.808(0)? at packages/ddp-server/livedata_server.js:711:19
I20161013-05:02:41.808(0)? at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20161013-05:02:41.808(0)? at packages/ddp-server/livedata_server.js:709:40
I20161013-05:02:41.809(0)? at [object Object].
.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20161013-05:02:41.809(0)? at packages/ddp-server/livedata_server.js:707:46
I20161013-05:02:41.809(0)? at Session.method (packages/ddp-server/livedata_server.js:681:23)
I20161013-05:02:41.809(0)? at packages/ddp-server/livedata_server.js:551:43
I20161013-05:08:49.135(0)? Exception while invoking method 'createStudyImportStatus' TypeError: Cannot read property 'insert' of undefined
I20161013-05:08:49.135(0)? at [object Object].createStudyImportStatus (packages/worklist/server/methods/importStudies.js:76:16)
I20161013-05:08:49.136(0)? at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1711:12)
I20161013-05:08:49.136(0)? at packages/ddp-server/livedata_server.js:711:19
I20161013-05:08:49.136(0)? at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20161013-05:08:49.136(0)? at packages/ddp-server/livedata_server.js:709:40
I20161013-05:08:49.136(0)? at [object Object].
.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20161013-05:08:49.137(0)? at packages/ddp-server/livedata_server.js:707:46
I20161013-05:08:49.137(0)? at Session.method (packages/ddp-server/livedata_server.js:681:23)
I20161013-05:08:49.137(0)? at packages/ddp-server/livedata_server.js:551:43
I20161013-05:09:05.376(0)? Exception while invoking method 'createStudyImportStatus' TypeError: Cannot read property 'insert' of undefined
I20161013-05:09:05.376(0)? at [object Object].createStudyImportStatus (packages/worklist/server/methods/importStudies.js:76:16)
I20161013-05:09:05.376(0)? at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1711:12)
I20161013-05:09:05.377(0)? at packages/ddp-server/livedata_server.js:711:19
I20161013-05:09:05.377(0)? at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20161013-05:09:05.377(0)? at packages/ddp-server/livedata_server.js:709:40
I20161013-05:09:05.377(0)? at [object Object].
.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20161013-05:09:05.378(0)? at packages/ddp-server/livedata_server.js:707:46
I20161013-05:09:05.378(0)? at Session.method (packages/ddp-server/livedata_

How does meteor generate the explorer.html?

After running in localhost successfully , i can see the Orthanc Explorer web page when visiting localhost:8042, but i can not find explorer.html, so how does meteor generate explorer.html?
Thanks.

Does not run on windows

Hi,

setting up test for Conquest DICOM server. Installed latest meteor, set METEOR_PACKAGE_DIRS=C:\Users\marcel\Desktop\Viewers-master\Packages

run meteor, fails (after a long time) with:

While loading package momentjs:[email protected]:
error: Command failed:
C:\Users\marcel\AppData\Local.meteor\packages\meteor-tool\1.4.2\mt-os.window
.x86_32\dev_bundle\bin\npm.cmd
rebuild --update-binary
node-pre-gyp ERR! Tried to download:
https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.14/fse-v1.0.14-node
v46-win32-ia32.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and
[email protected] (node-v46 ABI) (falling back to source compile with
node-gyp)
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable

It seems there are more dependencies? Please advise.

Marcel

The trouble of getting started

I really want to know how to run the OHIFViewer of Viewers in right way, First time I running the ./bin/medkenOrthanc.bat on windows10, but have the error about:

`=> Started proxy.
=> Started MongoDB.
=> Errors prevented startup:

While selecting package versions:
error: unknown package in top-level dependencies: cornerstone
unknown package in top-level dependencies: dicomweb
unknown package in top-level dependencies: design
unknown package in top-level dependencies: ohif:core
unknown package in top-level dependencies: viewerbase
unknown package in top-level dependencies: worklist
unknown package in top-level dependencies: hangingprotocols
unknown package in top-level dependencies: wadoproxy

=> Your application has errors. Waiting for file change.`

So I copy the Viewers/Packages in to the OHIFViewers , and run medkenOrthanc.bat again. Then it show me another errors:

`=> Started proxy.
=> Started MongoDB.

Unable to resolve some modules:

"jquery" in /C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/cornerstone/client/jquery.hammer.js
(web.browser)
"jsdom" in
/C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/active-entry/lib/jquery.pwstrength.bootstrap.js
(web.browser)
"zlib" in /C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/cornerstone/client/dicomParser.js
(web.browser)
"hammerjs" in /C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/cornerstone/client/jquery.hammer.js
(web.browser)
"fs" in /C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/cornerstone/client/libCharLS.js (web.browser)
"path" in /C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/cornerstone/client/libCharLS.js (web.browser)

If you notice problems related to these missing modules, consider running:

meteor npm install --save jquery jsdom meteor-node-stubs hammerjs

Unable to resolve some modules:

"jquery" in
/C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/active-entry/lib/jquery.pwstrength.bootstrap.js
(os.windows.x86_32)
"jsdom" in
/C/Users/Jamie/OHIF_workspace/Viewers/OHIFViewer/Packages/active-entry/lib/jquery.pwstrength.bootstrap.js
(os.windows.x86_32)

If you notice problems related to these missing modules, consider running:

meteor npm install --save jquery jsdom

=> Errors prevented startup:

While preparing to run:
../config/medkenOrthanc.json: file not found (settings file)

=> Your application has errors. Waiting for file change.
`
Thanks
Jamie

I'm trying to connect dcm4chee 2.18.3 to OHIF

How can I setup ae Title for OHIF?

We can't echo OHIF but we can ping from dcm4chee.

As of now, we have an instance of DCM4CHE ver 5 running and connected to OHIF. This is working fine. However, we need to connect OHIF to an existing DCM4CHE ver 2. The DCM4CHE ver 5 is on the same ip as OHIF, while DCM4CHE ver 2 is on a different one.

This is how we tried to edit the DIMSE file. We read somewhere that DCM4CHE ver 2 doesn't support QIDO and that we might have to rely on a DIMSE connection.

{
"servers": {
"dicomWeb": [
{
"name": "DCM4CHEE",
"wadoUriRoot": "http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado",
"qidoRoot": "http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs",
"wadoRoot": "http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs",
"qidoSupportsIncludeField": false,
"imageRendering": "wadouri",
"requestOptions": {
"auth": "admin:admin",
"logRequests": true,
"logResponses": false,
"logTiming": true
}
}],
"dimse": [{
"name": "DCM4CHEE_DIMSE",
"wadoUriRoot": "http://192.168.88.143:8080/wado",
"requestOptions": {
"auth": "admin:admin",
"logRequests": true,
"logResponses": false,
"logTiming": true
},
"peers": [
{
"host": "192.168.88.143",
"port": 11112,
"aeTitle": "OHIFDCM",
"default": true,
"supportsInstanceRetrievalByStudyUid": false
},
{
"host": "0.0.0.0",
"port": 11112,
"aeTitle": "DCM4CHEE",
"default": true,
"server": true
}
]
}]
},
"defaultServiceType": "dimse",
"public": {
"verifyEmail": false,
"ui": {
"studyListFunctionsEnabled": true
}
}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.