Set Up Slicer Virtual reality environment

I already installed Slicer VR extension and connected HTC VIVE. This works both 4.9 and 4.10. Moreover, I want to do many changes set up VR boundaries like a room. Disable moving of the model and some advanced functionality ( to add volume, to do some visualization and manipulating ). So fat I used slicer python kernel

to do some small changes.
But when it comes to adding multiple features in VR environment how to do this?
Is there any platform to develop it?
The jupyter notebook can support VR development ?

SlicerVirtualReality extension is open-source. Source code is available here. Pull requests with fixes and improvements are welcome.

Yes, you can run scripts in Jupyter notebook that set up VR views, etc. You can also customize behavior by creating a Python scripted module.

You can set the Selectable flag on the nodes you don’t want to be movable. You can do it from python or in the Data module by right-clicking the nodes.

I’ve updated the extension’s documentation. I think all features that have been implemented are now described.

1 Like

Are there some basic recommendations for a graphics cards to run VR. We are getting a lot of lag in our VR movements.

for me I am using GeForce GTX 1080 Ti FTW3 Gaming 11G - slightly expensive was around CAD 2000.

It highly depends on what you want to do. If you want to display a few not too complex models, then you don’t need anything fancy. Even if you render a lower resolution MR volume, a 1060 will do. However once you start volume rendering CTs, then you’ll need a high end GPU.

Keep in mind that you can reduce the lag with changing settings. There are FPS and motion sensitivity controls in the VR module to adjust quality vs speed (click the wrench icon next to the VR headset icon in the toolbar to get there). There is an “optimize scene for VR” button on the toolbar as well (looks like a magic wand) that helps with this. Also helps to change the desktop Slicer layout to one that does not have 3D view. You can also play with volume rendering quality settings directly.

@Nicholas.jacobson Make sure you choose Rendering: “VTK GPU Ray Casting” in Volume rendering module.

@cpinter Could you add switching to GPU volume rendering method to “Optimize scene for VR”?

1 Like

I’m implementing the change you suggested. It seems to me that the best way to implement it is to pass the volume rendering logic to the VR logic in order to be able to do this. Let me know if you have a better idea.

I also added this question to the SlicerVR page’s FAQ section.

I think it is the right thing to do.

We should probably add to the extension documentation the list of optimization steps performed.

I did that but then decided to remove it to keep it simple. I was also thinking about pointing to the dox, where in the header the steps are explained. But whatever you think the best…

I agree that it could be too complex to show on the GUI, I just meant to add it to the documentation (

Yes that’s how I understood.

We can also link to the appropriate header file from the FAQ section for the list of exact steps (so that we don’t need to duplicate information).

Again, that’s what I meant :slight_smile: I’ll do this then!

1 Like