Is there a way to scale an imported image within 3D slicer?
I try to capture a 3D volume render of a patient’s head based on the point of view of a picture taken from somebody else. The purpose is to make the point of view match in order to use both sources for several illustrations.
By the way, is it possible to make the 3D render transparent?
Can you show an example visualization that you would like to achieve?
If you want to overlay a 3D rendering over a 2D photo then you can do the followings:
- load a 3D volume, set up volume rendering with a transparent preset, such as CT X-ray
- load a photo and show the slice view in 3D view
- rotate the 3D view to see the photo from a good angle
- apply a transform to the 3D volume to align it with the background photo
By default, Slicer uses a perspective camera so you don’t need to scale the 3D volume, just move it closer to the camera to make it appear bigger compared to the photo. If you want, you can change the scale of the volume in Volumes module / Volume information section.
I love this program
Nice. To remove the woodgrain artifact from the volume rendered CT, you can enable “Surface smoothing” or set Quality to “Maximum” in volume rendering module’s advanced section (Techniques tab).
You can make the volume more transparent by moving control points on “Scalar Opacity Mapping” function lower (if you find it hard to precisely manipulate the points by your mouse then you can select a point and type the opacity “O” value in the top-right corner of the function editor).
Can I set up the picture with a transparent view?
I would recommend to simply put the semi-transparent 3D rendering in front of the slice view, but for example you can make the red slice view transparent by copy-pasting this to the Python console (before showing the slice view in 3D):
getNode("Red Volume Slice").GetDisplayNode().SetOpacity(0.5)
See some discussion about this feature here: Can the image slices be made semi-transparent in 3D view?