Hi @dgobbi -
You can see it in action at the Imaging Data Commons (IDC) portal. Press the 2D MPR button to see it in action it should look like the images below.
In OHIF we don’t render a thin slice so much as we set the clipping plane to be the MPR plane and set the scalar opacity to 1 everywhere. So it looks like a reslice but it’s really a volume rendering, which is why slab MIP is a natural extension. We have some new work coming with PET/CT compositing and more tools.
Having written the initial implementations of both the Slicer and OHIF MPR modes, I can say there are definite tradeoffs between the two approaches.
First off, the GPU is definitely a more limited resource than the CPU. For example, the IDC contains one lower extremity runoff series of 3000 slices that cannot be allocated in the GPU, but of course that would be fine in most CPUs.
So for Slicer we don’t want to support a wide range of use cases and target platforms and the CPU makes a lot more sense.
In addition of course, as Andras mentioned, we support a lot more functionality in Slicer. One thing we really leverage from C++ VTK is your transform code to allow nonlinear reslicing, which isn’t supported currently in vtk.js.
Rather than extend vtkTexture in C++ VTK, probably better to work on the multivolume volume renderer and support more options in the shader code (e.g. transforms).