Hi Amine,
Thank you very much for your help. The code worked great. I had to change all the " symbols and the ’ symbols for it to work as they seemed to have changed format in the copy and pasting process somewhere.
I guess this code does the same thing as changing the volume type to ‘float’ in the ‘cast scalar volume’ module?
The Unsharp mask filtering gave excellent results. The following is an image of a segmented orbit with no filters applied. The volume has just been cropped and converted to isotropic voxels and b spline interpolation using the ‘crop volume’ module.
The following is the segmented orbit with some filtering done on the volume:
This is a really big improvement and saves between half an hour to an hour of manual painting slice by slice.
Here is what I did:
-
Import the DICOM images, make an ROI around the orbit of interest. Then crop the volume with isotropic voxels selected and b spline interpolation.
-
Once the volume is cropped I go to the ‘Cast Scalar Volume’ module and convert the volume to ‘float’.
-
Then go to the Simple filters module and select Unsharp Mask Image Filter. Choose the cropped volume as an input and create a new output volume. The settings which worked the best for me were sigmas = 1x1x1, Amount = 2 and Threshold = 40.
Increasing the sigmas seemed to fatten up the walls but result in more noisyness. Increasing the amount seems to increase the definition of the orbital walls but the noise seems to increase with it. The threshold of 40 seemed to be optimal for reducing the noise in the soft tissue without creating many holes in the orbital walls (for this particular scan at least). I imagine for CBCT scans then these settings would not apply.
Another option I found was to leave the threshold at 0 (which creates higher noise in the soft tissue) and then use the ‘Gradient Anisotropic Diffusion’ filter to reduce the soft tissue noise without affecting the enhanced orbital walls. This actually produced a slightly better result but of course means another step in the process.
Also as a weird side effect the edge between the skin of the face and the air seemed to be significantly enhanced so it showed up in the segmentation. I subsequently deleted the skin with the islands effect in segment editor but this could be a good way of segmenting the bone and the skin easily without including any of the soft tissue in between.