You can do all that is shown in the video quite easily in Slicer. You can split bone fragments using scissors tool in Segment Editor then export them to model nodes so that you can move each of them separately.
In the video they used a Phantom 6-DOF positioning arm to move around bone segments. Now you can buy a virtual reality headset for $300 that comes with two 6-DOF controllers to grab the bone segments and rearrange them and see all that in immersive 3D view. Similarly how you move around tools in this SlicerVirtualReality demo video: https://youtu.be/F_UBoE4FaoY
Thanks so much, Andras. That YouTube video is impressive. Slicer has certainly made a lot of progress since I first tried it years ago.
I have more newbie questions. I have been using the provided data files, a filled cranium is there. However, at this point I am only interested in the cranium bone. I have models in the usual CAD formats, the documentation says that Slicer can read OBJ and STL models.
What is the procedure to display my models? In 3D apps, I simply select “Import”. I tried “Add Data” but nothing is displayed.
You can load STL and OBJ files, for example by drag-and-dropping them to the application window. If you want to cut them then you can load it directly as segmentation by selecting “Segmentation” in the “Description” column before clicking “OK”.
(b) Data downloaded and built-in. There is a cranium perfect for my purposes. The 3 orthogonal views are displayed but the most I can achieve in the 3D/perspective window is a flat surface that may be rotated. Other than drawing a line, the scissors don’t seem to cut anything.
I will leave that for advanced practice. For now, I would like to encircle a region and press Delete. Hopefully the bone fragment will disappear? Or will I have to export and then remove?
Also, in which of the 4 windows will I be using the scissors tool?
You need to choose a master image. If you don’t have any image then you can generate one by exporting the segmentation node to a labelmap image (in Data module, right-click on the segmentation node and choose “Export visible segments to binary labelmap”). When you are in Segment Editor module, choose the created label volume as "Master volume.
“bad allocation” means that the operating system was not able to allocate the requested amount of memory. Increase virtual memory size in your system settings, it’ll use disk space instead of physical RAM to fulfill memory needs (of course, this is much slower than having more physical memory in your system, so if you find the software too slow then you may consider upgrading your computer with more RAM).
16GB physical RAM should be OK, just adjust your settings to have 30GB virtual memory to make sure you don’t temporarily run out of memory in any case.
Size of the OBJ file does not matter, because only the only internal labelmap in the segmentation node consumes significant amount of memory. The larger the model’s physical extent and finer the resolution of the segmentation’s internal labelmap, the more memory you’ll need.
This should work for you:
Load obj file as model (you can only load STL files directly as segmentation)
Import model to segmentation node in Segmentations module
Export segmentation to binary labelmap in Data module (by right-clicking on segmentation node)
Go to Segment Editor module, select the binary labelmap as master volume
Apply Hollow effect if you use a simplistic model (such as this), where the cranium is modeled as a solid blob instead of a shell
Create a craniotomy as described in the page linked above (create a new segment, select Scissors effect, set masking editable area to “inside all segments”, scissors operation to “Fill inside”, draw in 3D view, etc.)
Being a clueless newbie, just wanted to double check.
BTW: I discovered a very useful module: as soon as I load my model, I select “Models”. I can see characteristics of the file, mesh type, the visibility and opacity may be adjusted. etc.