# New free video tutorials! VTK.js and OHIF web apps

**URL:** <https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310>\
**Category:** Announcements\
**Tags:** vtk\
**Created:** [November 27, 2019, 2:41pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310 "2019-11-27T14:41:20Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 27, 2019, 2:41pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/1 "2019-11-27T14:41:20Z")

</div>

> **[New free video tutorials! VTK.js and OHIF web apps](https://discourse.vtk.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/2164)**
>
> What: The Open Health Imaging Foundation (OHIF) and Kitware have teamed up to help you create amazing 3D zero-footprint medical imaging web applications using state-of-the-art open- source software. Did we mention it’s totally free and commercially...

---

<div class="post-metadata">

**Author:** ![tbillah](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/tbillah/32/4139_2.png) [@tbillah](https://discourse.slicer.org/u/tbillah)\
**Post date:** [November 27, 2019, 3:06pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/2 "2019-11-27T15:06:12Z")

</div>

Hi Steve, can you provide adress of “HIF exhibit in the Learning Center (IN019-EC-TUA)”?

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 27, 2019, 4:08pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/3 "2019-11-27T16:08:32Z")

</div>

Hi Tashrif - that refers to a booth at [RSNA in Chicago](https://rsna2019.rsna.org/) next week, in case anyone is in town for that and wants to meet face to face.

---

<div class="post-metadata">

**Author:** ![Umesh\_Persad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/umesh_persad/32/4719_2.png) [@Umesh\_Persad](https://discourse.slicer.org/u/Umesh_Persad)\
**Post date:** [November 30, 2019, 1:54pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/4 "2019-11-30T13:54:18Z")

</div>

Thanks Steve, this looks very useful. Say I wanted to build a custom 3D reconstruction web app using medical images for 3D printing etc., would OHIF and VTK.js be the best options for the front end or are there other good contenders? What about good options for back end processing?

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 30, 2019, 3:17pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/5 "2019-11-30T15:17:09Z")

</div>

There are some other very good options to consider, and there are always new developments to keep any eye on, but at least for the projects I’m working on we have settled on the OHIF and VTK.js approach described in the tutorials. OHIF itself is modular, so the viewports can be rendered by other frameworks, like Cornerstone and OpenLayers. We may also end up using threejs/aframe. There’s also XTK and AMI and no doubt others I’m not thinking of right now.

For the medical imaging back end there are several good DICOMweb servers in various languages, and Google offers DICOMweb as a service, so for the data side of things that’s a logical choice.

For server-side processing I personally use Slicer on cloud VMs so that we can leverage the same codebase for desktop and cloud/web scenarios.

These are all works in progress of course. Hope to have some more concrete worked out examples soon.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [November 30, 2019, 3:28pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/6 "2019-11-30T15:28:54Z")

</div>

We are also exploring using Slicer as front-end (launched from OHIF viewer) for more sophisticated visualization and processing, such as segmentation, and processing large data sets without transferring to the user’s computer. See this topic for some more information and updates about the progress: [Can 3D Slicer be hosted on a rendering server?](https://discourse.slicer.org/t/can-3d-slicer-be-hosted-on-a-rendering-server/9256/8)

---

<div class="post-metadata">

**Author:** ![Umesh\_Persad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/umesh_persad/32/4719_2.png) [@Umesh\_Persad](https://discourse.slicer.org/u/Umesh_Persad)\
**Post date:** [November 30, 2019, 7:35pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/7 "2019-11-30T19:35:15Z")

</div>

Great, thanks for the pointers. Where do you see the future of 3D medical imaging going - more toward the cloud and software as a service or there will always be a place for desktop software like 3D Slicer? This is specifically for automated medical image processing.

---

<div class="post-metadata">

**Author:** ![Umesh\_Persad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/umesh_persad/32/4719_2.png) [@Umesh\_Persad](https://discourse.slicer.org/u/Umesh_Persad)\
**Post date:** [November 30, 2019, 7:37pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/8 "2019-11-30T19:37:48Z")

</div>

Looks interesting and I will follow it closely.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [November 30, 2019, 9:25pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/9 "2019-11-30T21:25:58Z")

</div>

> [@Umesh\_Persad](#):
>
> or there will always be a place for desktop software like 3D Slicer?

Most resource-intensive professional software are running as native applications (desktop and mobile) and this will not likely to go away.

Most simple, non-resource-intensive applications can be implemented as web apps with their frontend running completely in the browser. This does not seem to go away either.

These approaches are already mixing with each other and various interfaces are being built between them - desktop applications often embed web browsers, web applications rely on remote rendering by native applications (even for latency-critical applications, such as games - see Google Stadia), app stores make installations easier and may allow running native applications downloaded directly from a website (without users permanently installing it).

If any application wants to remain relevant then it has to make sure it can be used in various environments and connected to a wide range of services and applications.

There are a few more tricks that Slicer needs to learn but its current state is already not too bad: it runs in docker, can be streamed to a browser using VNC, runs as Jupyter kernel, has embedded web browser, there are experimental projects that make Slicer provide web services, there is coordination with web GUI (OHIF/Cornerstone) and server (Girder, XNAT) folks, etc. - and it’s just keep getting better.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 30, 2019, 10:30pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/10 "2019-11-30T22:30:44Z")

</div>

I agree with everything @lassoan said, we are in a pretty interesting time, with new options to make convenient and powerful computing and visualization software. It’s really good that there is so much open software on all these fronts. To me, standards-based interoperability is the key, which is why I keep focusing on DICOMweb, SEG, SR, and related standards in javascript, python and c++. That way we can keep using the hardware and software that best suits our needs (e.g. Slicer as a processing environment).

I do think there will be a lot of cases where cloud processing and rendering will make the most sense. Like in [this video](https://www.youtube.com/watch?v=oHZBFm02wbM) where the data volume is 16G. I could barely render that data on a state of the art laptop after a long download, but it works nicely on a big cloud hosted GPU.

---

<div class="post-metadata">

**Author:** ![Umesh\_Persad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/umesh_persad/32/4719_2.png) [@Umesh\_Persad](https://discourse.slicer.org/u/Umesh_Persad)\
**Post date:** [December 1, 2019, 9:11am UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/11 "2019-12-01T09:11:30Z")

</div>

Great. Slicer as a platform for research is ideal if it enables prototyping locally and deployment to both native and web services.

---

<div class="post-metadata">

**Author:** ![Umesh\_Persad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/umesh_persad/32/4719_2.png) [@Umesh\_Persad](https://discourse.slicer.org/u/Umesh_Persad)\
**Post date:** [December 1, 2019, 9:15am UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/12 "2019-12-01T09:15:26Z")

</div>

Couldn’t agree more on the standards and interoperability. One area I’ve been looking at is the use of 3D reconstruction and printing via Implicit Functions. For example, nTopology is a field based CAD tool ([https://ntopology.com/](https://ntopology.com/)), and creating .stl files could be skipped entirely because the implicit models could be sliced directly for 3D printing shortening the workflow while reducing the data requirements. Seems like an interesting direction to go in.

---

<div class="post-metadata">

**Author:** ![Gaurav\_Gupta](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/gaurav_gupta/32/5944_2.png) [@Gaurav\_Gupta](https://discourse.slicer.org/u/Gaurav_Gupta)\
**Post date:** [June 12, 2020, 7:20pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/13 "2020-06-12T19:20:23Z")

</div>

can someone help with vtk.js and react-vtkjs-components?  
Due to lack of API documentation, I am having trouble setting origin and direction for LabelMap in vtk.js  
Please see this short video:

[![](https://img.youtube.com/vi/jQNOye3iB0I/maxresdefault.jpg "Welcome to TD") ](https://www.youtube.com/watch?v=jQNOye3iB0I)

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [June 12, 2020, 8:12pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/14 "2020-06-12T20:12:56Z")

</div>

The [vtk extension in OHIF](https://github.com/OHIF/Viewers/tree/master/extensions/vtk) has labelmap in volume-based reslicing worked out. There’s also [this example in dcmjs](https://github.com/dcmjs-org/dcmjs-examples/tree/master/vtkDisplay).

@Gaurav_Gupta is your project open source?

---

<div class="post-metadata">

**Author:** ![Gaurav\_Gupta](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/gaurav_gupta/32/5944_2.png) [@Gaurav\_Gupta](https://discourse.slicer.org/u/Gaurav_Gupta)\
**Post date:** [June 12, 2020, 8:34pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/15 "2020-06-12T20:34:03Z")

</div>

Steve, as of now it is only exploratory project. I am trying to understand capabilities & limitations of react-vtkjs-components. Would you know if HU threshold based segmentation with multiple colors is functional in react-vtkjs-components?

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [June 12, 2020, 10:56pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/16 "2020-06-12T22:56:05Z")

</div>

> [@Gaurav\_Gupta](#):
>
> Would you know if HU threshold based segmentation with multiple colors is functional in react-vtkjs-components?

No, I don’t know about that.

---

<div class="post-metadata">

**Author:** ![Marko\_Nikovic](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/marko_nikovic/32/9755_2.png) [@Marko\_Nikovic](https://discourse.slicer.org/u/Marko_Nikovic)\
**Post date:** [February 3, 2021, 2:25pm UTC](https://discourse.slicer.org/t/new-free-video-tutorials-vtk-js-and-ohif-web-apps/9310/17 "2021-02-03T14:25:52Z")

</div>

Hello @Gaurav_Gupta  
I am using react-vtkjs-veiwport module in my react app.  
I set webpack as this requirement([Using vtk.js as an ES6 dependency | vtk.js](https://kitware.github.io/vtk-js/docs/intro_vtk_as_es6_dependency.html))  
[I want to add 2 features of vtkjs library to my Reactjs project - Web - VTK](https://discourse.vtk.org/t/i-want-to-add-2-features-of-vtkjs-library-to-my-reactjs-project/5082)  
But I have error like above url, so I am not this module now.  
I hope you help me.  
Thank you in advance
