Hello! I am a surgeon trying to segment a hip joint for 3-D printing. I have become pretty good at isolating the femur and pelvis bones making different segments, however, I’ve noticed in all of my models I have these “ridges” or “steps” on the side of the segmented model. When I set the master file as axial, I notice the steps in the axial plane. In this picture, I used the sagittal file and have these ridges in that plane.
The CT DICOMs I’m using have high resolution cuts in axial, sagittal, and coronal planes, but 3D slicer is making me pick one for the master volume for segmenting. When it picks the master volume, it’s creating these other planes but they are usually much lower resolution. In the attached image you can see the sagittal plane is very smooth and anatomic, but the coronal plane made from the master file has multiple steps or ridges.
Questions:
Are these ridges the product of the DICOM data I’m putting in 3-D slicer–in other words, should I tell the radiologist to take a different type of CT scan?
Can I tell 3D slicer to use the high resolution inputs from the axial, coronal, and sagittal data instead of it selecting only one for the master file and then creating the other low-resolution views?
Is there any way to smooth these ridges in the attached image with the current DICOM data? I tried the smoothing function and changing the kernal size, but that only helped a little.
Thank you very much for your time and consideration!
Unfortunately, this is a common image acquisition problem. See for example this discussion. Maybe imaging techs don’t know that such scans are not well suited for 3D reconstruction or high-resolution 3D reconstruction is not a priority.
Anyway, you can address this by forcing the segmentation’s internal labelmap representation to have isotropic voxel spacing.
Example: Bone segmentation with thresholding. 3D surface representation is created with surface smoothing disabled, master volume’s interpolation is disabled to see voxel boundaries more clearly.
Using the master volume’s spacing (0.7 x 0.7 x 2.5):
Enable “Isotropic spacing” in the segmentation geometry window (resulting spacing: 0.7 x 0.7 x 0.7) and then re-thresholding (see how blocky the master volume is and how smooth the segmentation(:
@nwskelley I would just add that if you work with your radiologist and technologist you should be able to optimize the scanner to image the details you are looking for. There are lots of parameters that trade off radiation dose, processing time, etc.
Specifically, modern spiral/helical CTs can reconstruct at arbitrary spacing for a given beam thickness, current, and table speed, so you may be able to get more slices from the scanner’s raw data (say at 1mm or 0.5mm spacing) that have more detail than you can get from resampling the 2.5mm slices after the fact. It’s probably best to get these in the axial plane, which is the acquisition plane of the CT.
Also there are different reconstruction kernel options that may provide better contrast for the features of interest (e.g. hard tissue compared to soft tissue).
Let us know how it goes - I’m sure other people will also be interested in best practices for acquiring and processing this kind of data.
Thank you very much @lassoan and @pieper. That is extremely helpful!
So, what I’ve learned is that I need to talk to the radiology team before obtaining these scans to obtain a better protocol for imaging the bone ROI and obtain the high resolution/thin cuts in one plane–likely the axial plane.
I was looking forward to trying @lassoan technique using isotropic spacing in the segmentation geometry window, but when I applied it to my program (version 4.9.0) I noticed that I do not have that box he is pointing to with the arrow. Next to the master volume drop down menu, I do not have that cube to click on. This is what my screen shows:
I noticed on the slicer 3D website they’ve had an update, and I was going to try to download that later today. If you have any other tips for reaching the segmentation geometry window, I’ll try that.
Thank you both again–I really appreciate your time and assistance!