You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.8 KiB
70 lines
1.8 KiB
package require vtk
|
|
package require vtkinteraction
|
|
package require vtktesting
|
|
|
|
if {[catch {set channel [open "fullHead.tri" "w"]}] == 0 } {
|
|
close $channel
|
|
file delete -force "fullHead.tri"
|
|
file delete -force "fullHead.lim"
|
|
# reader reads slices
|
|
vtkVolume16Reader v16
|
|
v16 SetDataDimensions 64 64
|
|
v16 SetDataByteOrderToLittleEndian
|
|
v16 SetFilePrefix "$VTK_DATA_ROOT/Data/headsq/quarter"
|
|
v16 SetDataSpacing 3.2 3.2 1.5
|
|
v16 SetImageRange 30 50
|
|
v16 SetDataMask 0x7fff
|
|
|
|
# write isosurface to file
|
|
vtkSliceCubes mcubes
|
|
mcubes SetReader v16
|
|
mcubes SetValue 1150
|
|
mcubes SetFileName "fullHead.tri"
|
|
mcubes SetLimitsFileName "fullHead.lim"
|
|
mcubes Update
|
|
|
|
# read from file
|
|
vtkMCubesReader reader
|
|
reader SetFileName "fullHead.tri"
|
|
reader SetLimitsFileName "fullHead.lim"
|
|
|
|
vtkPolyDataMapper mapper
|
|
mapper SetInputConnection [reader GetOutputPort]
|
|
|
|
vtkActor head
|
|
head SetMapper mapper
|
|
eval [head GetProperty] SetColor $raw_sienna
|
|
|
|
# Create the RenderWindow, Renderer and Interactor
|
|
#
|
|
vtkRenderer ren1
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren1
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
# Add the actors to the renderer, set the background and size
|
|
#
|
|
ren1 AddActor head
|
|
ren1 SetBackground 1 1 1
|
|
renWin SetSize 500 500
|
|
eval ren1 SetBackground $slate_grey
|
|
[ren1 GetActiveCamera] SetPosition 99.8847 537.926 15
|
|
[ren1 GetActiveCamera] SetFocalPoint 99.8847 109.81 15
|
|
[ren1 GetActiveCamera] SetViewAngle 20
|
|
[ren1 GetActiveCamera] SetViewUp 0 0 -1
|
|
|
|
ren1 ResetCameraClippingRange
|
|
|
|
# render the image
|
|
#
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
|
|
renWin Render
|
|
|
|
|
|
# prevent the tk window from showing up then start the event loop
|
|
wm withdraw .
|
|
file delete -force "fullHead.tri"
|
|
file delete -force "fullHead.lim"
|
|
}
|
|
|