Skip to content
Snippets Groups Projects
Commit 1bc76b6d authored by Andrew Maclean's avatar Andrew Maclean
Browse files

Remove WindowLevelInterface.tcl and WindowLevelInterface.py


This is a code fragment providing an interface to a viewer of
type vtkImageViewer. It seems to be just a helper used to setting the window
level etc. in the viewer.

I am proposing that this code be removed.

If there is a need to test Tkinter stuff then Attenuation.tcl from the
VTK Text Book exercises would be a good candidate. I have converted this to
VTK 6 and also written a Python version of it.

Marcus pointed out that Imaging/Core/Testing/Python/WindowLevelInterface.py
and has syntax errors and that this and the Tcl version are never run.

This arose from the VTK hackathon.

Change-Id: Ic57d8940a240e1939051f4e68d5a329bac645918
Signed-off-by: default avatarAndrew Maclean <andrew.amaclean@gmail.com>
parent 9f8d83a4
No related branches found
No related tags found
No related merge requests found
......@@ -77,7 +77,6 @@ vtk_add_test_python(voxelModel.py)
vtk_add_test_python(TestBlendStencil.py)
vtk_add_test_python(TestExtractVOI.py)
vtk_add_test_python(TestImageWeightedSum.py)
# vtk_add_test_python(WindowLevelInterface.py) # TCL test not being made as well !!!
vtk_add_test_python(imageMCAll NO_RT)
vtk_add_test_python(TestAllBlends NO_RT)
vtk_add_test_python(TestAllBlendsFloat NO_RT)
......
#!/usr/bin/env python
# a simple user interface that manipulates window level.
# places in the tcl top window. Looks for object named viewer
#only use this interface when not doing regression tests
if (info.commands(globals(), locals(), rtExMath) != "rtExMath"):
# Take window level parameters from viewer
def InitializeWindowLevelInterface (__vtk__temp0=0,__vtk__temp1=0):
global viewer, sliceNumber
# Get parameters from viewer
w = viewer.GetColorWindow()
l = viewer.GetColorLevel()
sliceNumber = viewer.GetZSlice()
zMin = viewer.GetWholeZMin()
zMax = viewer.GetWholeZMax()
# set zMin 0
# set zMax 128
frame..slice()
label..slice.label(-text,"Slice")
scale..slice.scale([-from,zMin,-to,zMax,-orient,horizontal,-command,SetSlice,-variable,sliceNumber])
# button .slice.up -text "Up" -command SliceUp
# button .slice.down -text "Down" -command SliceDown
frame..wl()
frame..wl.f1()
label..wl.f1.windowLabel(-text,"Window")
scale..wl.f1.window([-from,1,-to,expr.expr(globals(), locals(),["w","*","2"]),-orient,horizontal,-command,SetWindow,-variable,window])
frame..wl.f2()
label..wl.f2.levelLabel(-text,"Level")
scale..wl.f2.level(-from,expr.expr(globals(), locals(),["l","-","w"]),-to,expr.expr(globals(), locals(),["l","+","w"]),-orient,horizontal,-command,SetLevel)
checkbutton..wl.video(-text,"Inverse Video",-command,SetInverseVideo)
# resolutions less than 1.0
if (w < 10):
res = expr.expr(globals(), locals(),["0.05","*","w"])
.wl.f1.window.configure(-resolution,res,-from,res,-to,expr.expr(globals(), locals(),["2.0","*","w"]))
.wl.f2.level.configure(-resolution,res,-from,expr.expr(globals(), locals(),["0.0","+","l","-","w"]),-to,expr.expr(globals(), locals(),["0.0","+","l","+","w"]))
pass
.wl.f1.window.set(w)
.wl.f2.level.set(l)
frame..ex()
button..ex.exit(-text,"Exit",-command,"exit")
pack..slice(.wl,.ex,-side,top)
pack..slice.label(.slice.scale,-side,left)
pack..wl.f1(.wl.f2,.wl.video,-side,top)
pack..wl.f1.windowLabel(.wl.f1.window,-side,left)
pack..wl.f2.levelLabel(.wl.f2.level,-side,left)
pack..ex.exit(-side,left)
def SetSlice (slice,__vtk__temp0=0,__vtk__temp1=0):
global sliceNumber, viewer
viewer.SetZSlice(slice)
viewer.Render()
def SetWindow (window,__vtk__temp0=0,__vtk__temp1=0):
global viewer, video
if (video):
viewer.SetColorWindow(expr.expr(globals(), locals(),["-window"]))
pass
else:
viewer.SetColorWindow(window)
pass
viewer.Render()
def SetLevel (level,__vtk__temp0=0,__vtk__temp1=0):
global viewer
viewer.SetColorLevel(level)
viewer.Render()
def SetInverseVideo (__vtk__temp0=0,__vtk__temp1=0):
global viewer, video, window
if (video):
viewer.SetColorWindow(expr.expr(globals(), locals(),["-window"]))
pass
else:
viewer.SetColorWindow(window)
pass
viewer.Render()
InitializeWindowLevelInterface()
pass
else:
viewer.Render()
pass
# --- end of script --
package require vtkinteraction
# a simple user interface that manipulates window level.
# places in the tcl top window. Looks for object named viewer
#only use this interface when not doing regression tests
if {[info commands rtExMath] != "rtExMath"} {
# Take window level parameters from viewer
proc InitializeWindowLevelInterface {} {
global viewer sliceNumber
# Get parameters from viewer
set w [viewer GetColorWindow]
set l [viewer GetColorLevel]
set sliceNumber [viewer GetZSlice]
set zMin [viewer GetWholeZMin]
set zMax [viewer GetWholeZMax]
# set zMin 0
# set zMax 128
frame .slice
label .slice.label -text "Slice"
scale .slice.scale -from $zMin -to $zMax -orient horizontal \
-command SetSlice -variable sliceNumber
# button .slice.up -text "Up" -command SliceUp
# button .slice.down -text "Down" -command SliceDown
frame .wl
frame .wl.f1
label .wl.f1.windowLabel -text "Window"
scale .wl.f1.window -from 1 -to [expr $w * 2] -orient horizontal \
-command SetWindow -variable window
frame .wl.f2
label .wl.f2.levelLabel -text "Level"
scale .wl.f2.level -from [expr $l - $w] -to [expr $l + $w] \
-orient horizontal -command SetLevel
checkbutton .wl.video -text "Inverse Video" -command SetInverseVideo
# resolutions less than 1.0
if {$w < 10} {
set res [expr 0.05 * $w]
.wl.f1.window configure -resolution $res -from $res -to [expr 2.0 * $w]
.wl.f2.level configure -resolution $res \
-from [expr 0.0 + $l - $w] -to [expr 0.0 + $l + $w]
}
.wl.f1.window set $w
.wl.f2.level set $l
frame .ex
button .ex.exit -text "Exit" -command "exit"
pack .slice .wl .ex -side top
pack .slice.label .slice.scale -side left
pack .wl.f1 .wl.f2 .wl.video -side top
pack .wl.f1.windowLabel .wl.f1.window -side left
pack .wl.f2.levelLabel .wl.f2.level -side left
pack .ex.exit -side left
}
proc SetSlice { slice } {
global sliceNumber viewer
viewer SetZSlice $slice
viewer Render
}
proc SetWindow window {
global viewer video
if {$video} {
viewer SetColorWindow [expr -$window]
} else {
viewer SetColorWindow $window
}
viewer Render
}
proc SetLevel level {
global viewer
viewer SetColorLevel $level
viewer Render
}
proc SetInverseVideo {} {
global viewer video window
if {$video} {
viewer SetColorWindow [expr -$window]
} else {
viewer SetColorWindow $window
}
viewer Render
}
InitializeWindowLevelInterface
} else {
viewer Render
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment