Giter VIP home page Giter VIP logo

mriviewer's Introduction

MRI Viewer: Medical image 2D/3D web viewer.

MRI Viewer is a high performance web tool for advanced visualization (both in 2D and 3D modes) medical volumetric data, provided in popular file formats: DICOM, NIfTI, KTX, HDR.

Description

MRI Viewer can read local data from files/folders and from predefined web locations.

The demonstration project shows both (local data / remote data) usage types.

Background image

Motivation

MRI Viewer can be used in a medical center with diagnostic equipment.

  • ⚡️ MRI and CT scanning results can be viewed in any computer (inside the medical office and in the client home)
  • 💡 Qualified medical personnel can provide diagnosis or conclusion based on provided visualization.
  • 🌐 App can be used as a web application as a part of large websites and services
  • 🎓 Can be used by research institutes due to NIfTI, HDR, etc. file standards support
  • 🏥 Medical centers can create their clients database, based on this viewer.

Installation

It works as a standalone HTML5 web application. The latest version can be used with WebGL-enabled desktop browsers (Chrome, Firefox, Opera) and allows limited usage with mobile browsers (Android Chrome). Version for Safari (macOS, iOS) is planned for future.

npm install
npm run start

References

DICOM file format description can be found here and here. KTX file format details are listed in KTX. Popular DICOM loader framework: GDCM. Some JavaScript libraries to work with DICOM file format:

  1. dicomParser
  2. Daikon
  3. Xtk.

3D volumetric rendering idea in a few words

Three.js is used as some gateway to WebGL renderer. The current Three.js version does not support 3D textures, so we use tricky way to build 2D texture from initial 3D texture by linking 2D slices all together as a large tile map. This idea (with source codes) can be seen in project WebGL Volume Rendering.

Publications

Links to publications that contain the product references

Demo app

Here you can find a demo app.

Contribution

See Contributing Guide.

License

Apache 2.0

Copyright (c) 2015–2021 EPAM Systems, Inc.

mriviewer's People

Contributors

a4k avatar abdurakhmonkobiljonov avatar ajesusflores avatar aleksandrabogdan avatar alterfo avatar belsergur avatar cm-howard avatar daniilsavchuk avatar danilrostov avatar dimitriilnitski avatar dmitrii-romanov avatar dogebonker avatar eduardturbaceanuepam avatar juliamv avatar katrysja avatar kauter1989 avatar lifeart avatar lxndrkrchvtsv avatar lyubimov-ruslan2 avatar marysosh avatar mashaverdina avatar oleksandr-zhynzher avatar oleksandrzhynzher avatar rodakh avatar ruslanlyubimov avatar suzie33 avatar tokhirov-abzal avatar vikaabysova avatar vladislavshubnikov avatar wildkomersant 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

mriviewer's Issues

Error opening dcm files

Describe the bug
i have the error when open dcm files multiframe (only one .dcm file)
this happens with local or remote files

Error read Dicom via Diakon parser
Screenshot_54

I hope to run this project on Mac OS(safari 12.0.2)

Sorry for interrupting you !
I have a urgent project for hospital of our city
I can't run this project on MacOs Safari.
By the way, you wrote it will be run on safari in Readme.md
I need your advice please.

How to run react-js project

I want to build react-js project
I tried to follow readme.md
but I can't build and have some errors
Please help me to build this project.
Thanks!

error opening DICOM

I caught this error when open DICOM files in the local hardisk

1 of 2 errors on the page
Error: noUiSlider (9.2.0): 'range' 'min' and 'max' cannot be equal.
onFileContentReadMultipleDicom
src/demo/ui/UiOpenMenu.js:496

  493 | this.childModalWindowCenterWidth.initWindowRange();
  494 | 
  495 | // show modal: select window center, width
> 496 | this.setState({ showModalWindowCW: true });
      | ^  497 | return; // do nothing immediately after: wait for dialog
  498 | /*
  499 | 

How to integrate with my existing organization's app?

How do i integrate it with my existing organization's app?
My organization is planning to add a dicom viewer feature to their existing react app, how do i integrate this app into our app. Since it's a standalone app, and not available as an npm package, how do i achieve this?

What are the points i need to look up when doing this?
Since i have never worked on open source app, and it's integration with existing app. What things do i need to look up for like in terms of dependencies, components, routing, global state management, etc?

Failed to compile. Error in ./src/demo/engine/loaders/LoaderDicom.js

I am getting following Error Message

Failed to compile.

Error in ./src/demo/engine/loaders/LoaderDicom.js
Syntax error: D:/My.Work/Projects/OTHER/DCMCloud 3D/med3web-master/src/demo/engine/loaders/LoaderDicom.js: "_val" is read-only

365 | // if ((val16 === this.m_padValue) || ((val16 & 0x8000) !== 0)) {
366 | if (val16 === this.m_padValue) {

367 | val16 = 0;
| ^
368 | }
369 | slicePad.m_image[i] = val16;
370 | } // for (i) all slice pixels

@ ./src/demo/ui/UiOpenMenu.js 70:19-59

Amending some wording of Contributing policy

Looking through CONTRIBUTING.md I came across a couple of spots where the wording could be improved.
Namely:

  1. Instead of making a concrete list of people in the Contributing policy document, I'd suggest to create a separate file (i.e. MAINTAINERS or something) and list the maintainers in it. Then simply refer to that list from here.
Please don't report sensitive / security issues via public channels, try to contact maintainers privately first (e.g. at Vladislav Shubnikov or Mariia Verdina).
  1. This sounds pretty abrupt. You don't want 3rd party contributors to feel like they are beggars. Instead, consider explaining how to decisions are made on the roadmap and about new feature development. Perhaps, something like a voting process (https://www.apache.org/foundation/voting.html but just concern yourself with 'Code modifications' part of it, for now) would be a good idea once the community reaches certain size.
Please make sure maintainers are expecting your changes and will consider merging them into master. If the changes do not fit the project roadmap, it might unfortunately happen that you have wasted your time.
  1. This will require a constant effort to add conmmiters' SSH keys to the repositories. Besides, we are keeping these repos in the GH's EPAM organization which could increase the overhead on organization admins. I'd suggest to reconsider this point. PRs are tightly integrated with GH's review process and issue tracking - if you use GH as your main development facility why not to use all of it?
    We will not use pull requests in our everyday life

  2. "Coding standards" section hardly belong to the contributing policy document. Consider it moving elsewhere. Looks like you already have CODINGSTD.md document.

  3. Same goes for the tools and framework requirements. Something like DEVNOTES would better fit.

how to pass a URL to index.html

I want to call med3web page (index.html) from another webpage with a URL link; so when med3web page is onloaded, it is automatically going to load dicom files pointed by URL.
How to achieve that?

Make filters even more performative

Is your feature request related to a problem? Please describe.

I'm always frustrated when I see the progress bar for too long when the application calculates filters

Describe the solution you'd like
I'd like all filter calculations be more performative.
Floating point calculations are not so good in Javascript. Further investigation is needed.

Describe alternatives you've considered
Maybe it is good to show filter appliance on the image (iteratively apply calculations while they are finished)
Maybe WebWorkers are good for that

Additional context

load file from url error

after "gulp build", I copied dist folder to my server's public directory, from where I can open the index.html in a Chrome browser.
For this build, there are two options: either load from computer or URL.
I have about 44 DCM files, from which med3web can construct 3D vision if I load them from computer.
When I tried to load them from URL (http://127.0.0.1:8000/files), I got the following errors:

GET http://127.0.0.1:8000/files/file_list.txt 404 (Not Found)
Loaded file list. 48 files will be loaded. 1st file in list is =
GET http://127.0.0.1:8000/files/%3C!DOCTYPE%20html%3E 404 (Not Found)
...
main.js:1134 Loading ratio = 0
main.js:911 DICM header NOT found
main.js:1134 Error load dicom folder
...

What are the requirements if I want to load DICOM files in a URL folder? Where can I find user manual?

Typos in CODINGSTD.md

Right from the top you can see Debuuging. Please run spell-checker to make sure text documents don't have typos.

Load specific files from url

My problem is that I have too many files on the server and I'm looking to get only some specific files based on the user demand.

When I was having only it was working bit now I think that he's loading all the data, so he can't handle them and he crashes.
Any help please ? And thank you in advance

Online demo and repo not on the same release

Hello,
I'm trying a NIFTI model in the online demo application and it loads without an issue, but when I load it locally it gives me an error as if it has a 'WRONG HEADER DATA TYPE'. Are the two applications not on the same version ?

Build issues with Node 12 LTS

Latest LTS and gulp3 don't play well together.

[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
                                  ^

ReferenceError: primordials is not defined

I forked and 'fixed' this via: https://stackoverflow.com/a/58394828 but it's not a solution. You should update to gulp4

Unable to install or test

Describe the bug

Regardless of whether I use Windows or macOS, the demo web page appears blank. The Chrome Browser developer tools console window reports:

Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR
main.23fe6e18.chunk.js:1          Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR
DevTools failed to load source map: Could not load content for chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/browser-polyfill.js.map: System error: net::ERR_FILE_NOT_FOUND

Regardless of whether I use Windows or macOS, the command npm install listed in the README.md generates a long string of errors, and the subsequent npm run start fails. An example output on macOS:

npm install
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated @hapi/[email protected]: Moved to 'npm install @sideway/address'
npm WARN deprecated [email protected]: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated [email protected]: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm WARN deprecated @hapi/[email protected]: Switch to 'npm install joi'
npm WARN deprecated [email protected]: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm notice 
npm notice New major version of npm available! 8.19.3 -> 9.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.2.0
npm notice Run npm install -g [email protected] to update!
npm notice 
npm ERR! code 1
npm ERR! path /Users/cr/src/mriviewer/node_modules/canvas
npm ERR! command failed
npm ERR! command sh -c -- node-pre-gyp install --fallback-to-build
npm ERR! SOLINK_MODULE(target) Release/canvas-postbuild.node
npm ERR!   CXX(target) Release/obj.target/canvas/src/backend/Backend.o
npm ERR! Failed to execute '/opt/homebrew/Cellar/node/19.2.0/bin/node /opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/cr/src/mriviewer/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/cr/src/mriviewer/node_modules/canvas/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v111' (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using [email protected]
npm ERR! node-pre-gyp info using [email protected] | darwin | arm64
npm ERR! node-pre-gyp WARN Using needle for node-pre-gyp https download 
npm ERR! node-pre-gyp info check checked for "/Users/cr/src/mriviewer/node_modules/canvas/build/Release/canvas.node" (not found)
npm ERR! node-pre-gyp http GET https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v111-darwin-unknown-arm64.tar.gz
npm ERR! node-pre-gyp http 404 https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v111-darwin-unknown-arm64.tar.gz
npm ERR! node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v111-darwin-unknown-arm64.tar.gz 
npm ERR! node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v111 ABI, unknown) (falling back to source compile with node-gyp) 
npm ERR! node-pre-gyp http 404 status code downloading tarball https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v111-darwin-unknown-arm64.tar.gz 
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | arm64
npm ERR! gyp info ok 
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | arm64
npm ERR! gyp info find Python using Python version 3.9.12 found at "/Users/cr/opt/anaconda3/bin/python3"
npm ERR! gyp http GET https://nodejs.org/download/release/v19.2.0/node-v19.2.0-headers.tar.gz
npm ERR! gyp http 200 https://nodejs.org/download/release/v19.2.0/node-v19.2.0-headers.tar.gz
npm ERR! gyp http GET https://nodejs.org/download/release/v19.2.0/SHASUMS256.txt
npm ERR! gyp http 200 https://nodejs.org/download/release/v19.2.0/SHASUMS256.txt
npm ERR! gyp info spawn /Users/cr/opt/anaconda3/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/cr/src/mriviewer/node_modules/canvas/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/cr/Library/Caches/node-gyp/19.2.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/cr/Library/Caches/node-gyp/19.2.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/cr/Library/Caches/node-gyp/19.2.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/cr/src/mriviewer/node_modules/canvas',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info ok 
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | arm64
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from ../src/backend/Backend.cc:1:
npm ERR! In file included from ../src/backend/Backend.h:6:
npm ERR! In file included from ../../nan/nan.h:176:
npm ERR! ../../nan/nan_callbacks.h:55:23: error: no member named 'AccessorSignature' in namespace 'v8'
npm ERR! typedef v8::Local<v8::AccessorSignature> Sig;
npm ERR!                   ~~~~^
npm ERR! In file included from ../src/backend/Backend.cc:1:
npm ERR! In file included from ../src/backend/Backend.h:6:
npm ERR! ../../nan/nan.h:2535:8: error: no matching member function for call to 'SetAccessor'
npm ERR!   tpl->SetAccessor(
npm ERR!   ~~~~~^~~~~~~~~~~
npm ERR! /Users/cr/Library/Caches/node-gyp/19.2.0/include/node/v8-template.h:814:8: note: candidate function not viable: no known conversion from 'imp::Sig' (aka 'int') to 'v8::SideEffectType' for 7th argument
npm ERR!   void SetAccessor(
npm ERR!        ^
npm ERR! /Users/cr/Library/Caches/node-gyp/19.2.0/include/node/v8-template.h:807:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'v8::AccessorGetterCallback' (aka 'void (*)(Local<v8::String>, const PropertyCallbackInfo<v8::Value> &)') for 2nd argument
npm ERR!   void SetAccessor(
npm ERR!        ^
npm ERR! ../src/backend/Backend.cc:111:10: warning: address of stack memory associated with local variable 'msg' returned [-Wreturn-stack-address]
npm ERR!   return msg.c_str();
npm ERR!          ^~~
npm ERR! 1 warning and 2 errors generated.
npm ERR! make: *** [Release/obj.target/canvas/src/backend/Backend.o] Error 1
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:201:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm ERR! gyp ERR! System Darwin 20.6.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/19.2.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/cr/src/mriviewer/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/Users/cr/src/mriviewer/node_modules/canvas/build/Release" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v111"
npm ERR! gyp ERR! cwd /Users/cr/src/mriviewer/node_modules/canvas
npm ERR! gyp ERR! node -v v19.2.0
npm ERR! gyp ERR! node-gyp -v v9.1.0
npm ERR! gyp ERR! not ok 
npm ERR! node-pre-gyp ERR! build error 
npm ERR! node-pre-gyp ERR! stack Error: Failed to execute '/opt/homebrew/Cellar/node/19.2.0/bin/node /opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/cr/src/mriviewer/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/cr/src/mriviewer/node_modules/canvas/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v111' (1)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/cr/src/mriviewer/node_modules/canvas/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1098:16)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:304:5)
npm ERR! node-pre-gyp ERR! System Darwin 20.6.0
npm ERR! node-pre-gyp ERR! command "/opt/homebrew/Cellar/node/19.2.0/bin/node" "/Users/cr/src/mriviewer/node_modules/canvas/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
npm ERR! node-pre-gyp ERR! cwd /Users/cr/src/mriviewer/node_modules/canvas
npm ERR! node-pre-gyp ERR! node -v v19.2.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v0.11.0
npm ERR! node-pre-gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/cr/.npm/_logs/2022-12-13T12_47_03_347Z-debug-0.log

Given the warnings, there seems to be incompatibilities with modern versions of node (e.g. I tried v18.12 on Windows and v19.2 on macOS). Are there work arounds?

No issue template

Everyone thinks and expresses thoughts differently, so, please, add ISSUE_TEMPLATE.md to the project in order to attract open source contributions activities

Is it possible to open DICOMDIR

My EMR images are stored, as exported by a PACS server, with the following structure:

image

If I drag the DICOMDIR file into DicomParser's example I see it's correctly decoded:

image

So I must be missing a step here. Am I supposed to encapsulate the whole contents of the emr_files folder into a ktx file?

Arbitrary drawing on images

There is not enough tool for arbitrary drawing on images (work as Paint). Is it possible to enable this feature?

Implement MPR

Hi
Thank you for your wonderful project.
I`m interested in MPR in this project and going to build individual project that only do the MPR with file or folder input.
Could you let me know some keyword such as which loader it is using or which files are for MPR?
Regards,

I have strange error.

If run this app on several browser (or duplicated url on a browser) and when several clients connect this app's url at a time, other clinet's action click will be display in another's browser.
Screenshot from 2019-04-17 02-06-09

Cant install or run

When i try to run npm install or npm run start I get a bunch of errors and warings. Similar to this case #126

Also in the demo aviable in this repo I cant load a .dcm file

.dcm files can't be used: File Read Error Compressed image formats read is not supported

A very common type .dcm file that works well with pretty standard planmeca_romexis_viewer can't be uploaded here. It says: File Read Error Compressed image formats read is not supported.
If it is needed I can give you the file, show you how it is opened and viewed with romexis_viewer and etc.
Communication can be done in English or Ukrainian.
I'm experienced in C# and some vanilla JS.

Request: documentation on running a version on one's own server

Hi,

I am interested in using your work but I can't find documentation for actually building, running and serving the application. My use case would be to share an interactive visualization with collaborators without needing to send them a file directly. Is there a simple npm command to install and run an instance?

Thank you.

npm i ....

npm ERR! network 'proxy' config is set properly. See: 'npm help config'

gulp build error

OS: Windows 10
npm --version: 5.6.0
node --version: v8.11.3

error:
[14:14:55] Failed to load external module @babel/register
[14:14:55] Requiring external module babel-register

med3web\node_modules\babel-core\lib\transformation\file\options\option-manager.js:180
throw new ReferenceError(messages.get("pluginUnknown", plugin, loc, i, dirname));
^
ReferenceError: Unknown plugin "syntax-dynamic-import" specified in "D:\dajiang\projects\FitPU\Code\Med3Web\med3web\.babelrc" at 0, attempted to resolve relative to "D:\dajiang\projects\FitPU\Code\Med3Web\med3web"
at D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-core\lib\transformation\file\options\option-manager.js:180:17
at Array.map ()
at Function.normalisePlugins (D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-core\lib\transformation\file\options\option-manager.js:158:20)
at OptionManager.mergeOptions (D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-core\lib\transformation\file\options\option-manager.js:234:36)
at OptionManager.init (D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12)
at compile (D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-register\lib\node.js:103:45)
at loader (D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-register\lib\node.js:144:14)
at Object.require.extensions.(anonymous function) [as .js] (D:\dajiang\projects\FitPU\Code\Med3Web\med3web\node_modules\babel-register\lib\node.js:154:7)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)

Usage of med3web as an external library

Hello! I'd like to integrate your tool as a package for datagrok.ai platform (datagrok-ai/public#46), but if I understand correctly currently it is a standalone web app that cannot be used as an external library. Please, let me know how I can use med3web as an external library to read and view MRI files or if it's not currently possible, is it planned to make med3web to work as an external library?

Make it accept files from url in any format and not just .dcm files.

Issue: Currently It accepts only direct ended url (.dcm files).
I want to integrate it to DCM4CHEE server where there's no direct ended url. It's in this format: http://103.11.152.52:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=1.3.6.1.4.1.5962.1.1.0.0.0.1194732126.13032.0.1&seriesUID=1.3.6.1.4.1.5962.1.1.0.0.0.1194732126.13032.0.2&objectUID=1.3.6.1.4.1.5962.1.1.0.0.0.1194732126.13032.0.3&contentType=application/dicom. Even if i remove the existing regex check for the url, it says "No Files provided"

**Solution: Make it accept urls of above type **
The url from backend may be in below formats:
Format 1: http://103.11.152.52:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=1.3.6.1.4.1.5962.1.1.0.0.0.1194732126.13032.0.1&seriesUID=1.3.6.1.4.1.5962.1.1.0.0.0.1194732126.13032.0.2&objectUID=1.3.6.1.4.1.5962.1.1.0.0.0.1194732126.13032.0.3&contentType=application/dicom
Format 2: https://d33do7qe4w26qo.cloudfront.net/dicomweb/studies/2.16.840.1.114362.1.11972228.22789312658.616067305.306.2/series/2.16.840.1.114362.1.11972228.22789312658.616067305.306.3/instances/2.16.840.1.114362.1.11972228.22789312658.616067306.446.301/frames/1

How to use these urls as input? After removing the regex check, it says "No file provided" for both these urls.

If its a series of dicom images, how to accept that as a url.
If I had multiple images in my system then, i can use "Open from device" and select all dicom files and I can see all the images. How to do the same in URL format? Currently it accepts singe file url, i guess.

Issues reading and saving NIfTI images

I tried med3web. When I attempt to load NIfTI images (File/OpenFromComputer) that work fine with MRIcroGL, FSLeyes, SPM, etc, I get the error "Wrong header data type". Examples are the reference images in the "Ref" folder of dcm_qa.

When I choose File/SaveAsNifti a NIfTI file is stored, but when I attempt to view it with popular tools (MRIcroGL, FSLeyes, SPM, etc), the slices are wrapped in the left-right direction (perhaps the file writing ignored the 352 byte header offset).

Compressed image formats read is not supported

When I try to load compressed dcm files, I get the error message "Compressed image formats read is not supported" on the screen and "Wrong image pixels size. Readed 331506, but expected 913152" in the console. I think it's normal for now. Will support of the compressed dcm files be added in the future?

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.