This tutorial for the VOXEL-MAN My Cases module shows you how to create a 3D model for surgery training from CT data. To keep it simple, we will focus on the functions needed, and ignore all other options. For every section, there is a video that shows exactly what was done, that is subsequently explained. We recommend that you replicate the steps on your simulator, and play with the various parameters to get a feel for what they do.
In the following, we will often use the word segmentation. Segmentation means to identify and mark all voxels (3D points) of the dataset which belong to a certain anatomical structure. All voxels that are selected at a time are called a mask. In VOXEL-MAN My Cases, a mask is usually shown in cyan.
Some typical questions and answers about VOXEL-MAN My Cases can be found in the FAQ.
For this tutorial, we use the anonymized “Example Case” which is supplied with the My Cases module. When you start My Cases, this dataset is automatically selected. Selection of other CT datasets is described in chapter 5 of the user manual.
Besides a menu on the left, you will notice a 3D image as well as sagittal, coronal and transverse CT images of the patient on the right. These show the current mask which roughly corresponds to bone.
- Move the patient such that the structure you are interested in becomes visible.
- Smoothing can be applied to improve the optical appearance, especially for noisy data. Note however that the value usually should not exceed 0.5 – 1.0, as small structures such as the ossicles may be smoothed out. This value cannot be changed after data import. You can control your settings on different cross-sections using the slider on the Transverse window.
- The Threshold selects all voxels that have a higher intensity value as part of the mask. It can be adjusted later.
- Finally, press the Import button.
The dataset is now imported. It can later be accessed from the My Cases main menu tab.
After import, the Segmentation menu appears. It is organized as a number of submenus which can be opened or closed. Note that you may have to open a submenu if a button is not visible.
In a first step, we will do a segmentation of the bone.
2.1 Refine the threshold value(s)
The lower threshold value can be further refined. As a rule of thumb, adjust the lower threhold (left slider) such that the mandible head appears without false holes. You can drag the slider, or click on it for finer control.
As there is no need to discriminate between different high intensity objects, the upper threshold value (right slider) should be left at the maximum (3095).
2.2 Define the mask as bone
Next, we need to tell the computer what anatomical structure the mask contains. To do so, go to Define (submenu Object), select bone, and press Apply. On the 3D image and cross-sections, the object now appears in bone color. This indicates that we no longer see a temporary mask, but a properly defined anatomical object.
2.3 Save the results
We have now completed segmentation of the first anatomical structure. To save your work, press Save at the bottom left of the menu.
Next, we want to segment the brain as a major structure at risk. In CT, the brain has similar intensity values as many other soft tissues, so a simple segmentation using threshold values is not sufficient.
3.1 Select threshold values
Nevertheless, we start with an intensity range for brain. As we do not want it to overlap with the intensity range for bone, proceed as follows:
- Go to Select (submenu Object) and select bone. Take a note of its lower threshold value.
- Set this as the upper threshold for soft tissue.
- Select a lower threshold which covers the soft tissue, but not the surrounding air.
You have now created a mask which contains all the soft tissue.
3.2 Region of interest
The first strategy to remove as many non-brain structures as possible is to define a region of interest (ROI). While a threshold applies to all voxels in the dataset, the ROI allows us to limit it to a sphere with a defined center and diameter.
First, set the ROI size (diameter) such that it just covers the brain. Next, click on the transverse image to adjust the center of the ROI. Control your choices by moving the slider of the transverse image and modify your settings as needed.
3.3 Morphological operations
Our mask still contains soft tissues both inside and outside of the skull. To separate these, proceed as follows (submenu Morphology):
- Press the Erode button a few times. For each erosion, you will notice that the outermost layer of the mask is peeled off.
- Press CC Analysis. This checks if the different parts of the mask are still connected (CC means connected components). If they are, they still appear in one color. In this case, press Erode and CC Analysis again. If not, they appear in different colors.
- Click on the brain. Its color switches back to cyan. This means that the mask now contains only the brain.
- Press Dilate app. as many times as you have pressed Erode before. This adds back the eroded layers, but now only for the brain. Stop when you notice that the mask reaches the bone again.
Use Define brain Apply as before.
3.4 Save the results
You have now defined two different anatomical structures. Finally, click on Save.
Note: Save does not overwrite your previously saved versions, but adds a new one. All versions can be accessed from the My Cases main menu tab, so you can always go back. Older versions that are not needed any more can be deleted.
In our CT dataset, the dura has similar intensity values as the brain, so we cannot separate them this way. Nevertheless, we can define the dura as the outermost layer of the brain.
First, go to Select and select brain to get both the associated mask and threshold values.
Next, store this mask in a buffer (submenu Buffer). A buffer is an intermediate storage for the mask. In this case, check Buffer 1 and press the Store button. The mask turns red.
Next, erode the mask, much like in the previous section. Press Erode once or twice, and store the eroded mask in Buffer 2 in the same way as before. In this case, the mask turns green.
We now have the full brain in Buffer 1, and the eroded brain in Buffer 2. With the Logic operators such as AND (intersection), OR (union) or XOR (difference), we can calculate combinations of these buffers. To find the difference, check both Buffer 1 and Buffer 2, and press XOR. On the cross-sectional images, you can see that the mask now contains only the outer layer of the brain.
The next step is to define the mask as dura. As before, go to Define and select dura. Note however that its parts were previously defined as brain. We therefore need to check the Override option. Next, press Apply.
On the cross-sectional images, you can now see the colors of three different anatomical structures. Finally, click on Save.
4.2 Appearance of the brain
For reasons which go beyond the scope of this tutorial, a surface which has not been defined using intensity thresholds such as the surface of the eroded brain shows various artifacts. It is therefore helpful to apply the following steps.
The eroded brain mask is still stored in Buffer 2. Check Buffer 2 and press Load to bring it back to the mask.
As before, go to Define and select brain. In this case, check the options Override and Polish. Next, press Apply.
Finally, save your work.
In the Object menu part, Select * to show all defined objects. They appear in their typical colors on 3D view and cross-sectional images.
Next, click on Surgery at the bottom right of the Segmentation window. A toolbox with instruments appears on the right which can be used as in the Tempo or Sinus modules.
6 Export to Training Modules
When you press the small triangle besides the Save button at the lower left of the menu, you can select the option Save as Case.
With this option, your case is published in one of the training modules such as Tempo or Sinus, where it becomes available in the same way as the predefined training cases. A dialog box opens which prompts you for case name, short and detailed descriptions, and the module where the case is to appear.
Using the task authoring tools (see the manual, section 8.1), you can also define training tasks for your newly defined cases.