Need help with med3web?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

137 Stars 46 Forks Other 531 Commits 9 Opened issues


Med3Web is a high performance web tool for advanced 2-D and 3-D medical visualizations.

Services available


Need anything else?

Contributors list

Med3Web Dicom 2d/3d web viewer.

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


Med3Web 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. Other popular formats will be planned for future improvements. Med3Web can read local data from files/folders and from predefined web locations. Demonstration project shows both (local data / remote data) usage types. It works as a standalone HTML5 web application. The latest version can be used with WebGL-enabled desktop browsers (Chrome, Firefox, Opera) and allow limited usage with mobile browsers (Android Chrome). Version for Safari (macOS, iOS) is planned for future.

Background image

Market evaluation

Med3Web 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) and qualified medical personnel can provide diagnosis or conclusion based on provided visualization. Unlike the range of standalone Dicom viewers executables, this app can be used as a web application as a part of large websites and services. Also, it can be used by research institutes due to Nifti, Hdr, etc. file standards support (more popular for researchers rather than physicians). Medical centers can create their clients database, based on this viewer.


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.


Links to publications that contain med3web references * Belyaev, S., Smirnov, P., Smirnova, N., Shubnikov, V. Fast adaptive undersampling for volume rendering * Belyaev, S.Y., Smirnova, N.D., Smirnov, P.O., Savchuk, D.A. Fast selective antialiasing for direct volume rendering * Savchuk, D.A., Belyaev, S.Y. Two-pass real-Time direct isosurface rendering algorithm optimization for HTC Vive and low performance devices * Belyaev, S., Shubnikov, V., Motornyi, N. Adaptive screen sampling algorithm acceleration for volume rendering * Belyaev, S., Smirnov, P., Shubnikov, V., Smirnova, N. Adaptive algorithm for accelerating direct isosurface rendering on GPU

Project documentation

Introduction to the project can be loaded here: Application user interface documentation.

Demo app

Here you can find a demo app.

Getting started

Load project from git server:

git clone

Start operations in order to load all required Node.js packages:

cd med3web
npm install


Node.js and Tools

Download link: NodeJS.

Version not below than v.6.10.3 is required.

After NodeJS installation please check that everything is installed correctly (for example, PATH ), using command:

node --version
Stdout should be v6.10.3 (or higher).

Project installation on local machine

Run command

npm install
to download all required for this project nodeJS packages

Build and run

All build commands performed via npm interface. Please, see commands details in package.json nfile.

Start app on local server

npm run start

Start app on local virtual server: localhost://3000

Lint project

npm run lint

You will see lint result

Perform auto-tests

npm run test

Run all auto - tests for project. *.test.js files will be used for test run

Create autodocumentation

npm run doc

See results in esdoc folder

Create app build for project deploy on server

npm run build

See results in build folder

Development notes

You can read more technical notes here if wish to deep inside tech details of the project

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.