#参照VTK自带的例程 Examples/GUI/Python/VolumeRenderWithBoxWidget.py
#
!/usr/bin/env python
#
Demonstrate how to use the vtkBoxWidget to control volume rendering
#
within the interior of the widget.
import
vtk
from
vtk.util.misc
import
vtkGetDataRoot
VTK_DATA_ROOT
=
vtkGetDataRoot()

dicomReader
=
vtk.vtkDICOMImageReader()
dicomReader.SetDirectoryName(
'
.../DICOM/PATH...
'
)
dicomReader.Update()
dataSpacing
=
dicomReader.GetDataSpacing()
#
由于volumeMapper之能接收无符号数,所以必须加以转换
srange
=
dicomReader.GetOutput().GetScalarRange()
min
=
srange[0]
max
=
srange[
1
]

diff
=
max
-
min
slope
=
40000
/
diff
inter
=
-
slope
*
min
shift
=
inter
/
slope

shifter
#从
http://www.vtk.org/doc/nightly/html/ 或者 手册中参考 vtkDICOMImageReader,vtkImageShi
ftScale等类的使用方法,修改例程文件如下:
#由于 volumeMapper 之能接受无符号数 unsigned short 或者 unsigned char,所以必须加以转换。这里使用vtkImageShiftScale
#由于 volumeMapper 之能接受无符号数 unsigned short 或者 unsigned char,所以必须加以转换。这里使用vtkImageShift























