Up to TkMeditGuide

Back to TkMeditScripting

Continue to TkMeditFileNameSubstitution

Sample Script

This is a sample script that shows a few ways to take screen shots. You can use it as a basis for your own scripts.

# Sample script for setting up and taking screen shots. Scripting
# reference is available at:

# https://surfer.nmr.mgh.harvard.edu/fswiki/TkMeditGuide/TkMeditReference/TkMeditScripting

# You can set the cursor or view center with the SetCursor command.

# SetCursor coordinateSpace x y z 
# coordinateSpace:
# 0     volume index
# 1     RAS
# 2     Talairach
SetCursor 0 128 128 128

# Alternatively you can set the slice number (in volume index
# coordinates). This will not change the in-plane center.

# SetSlice sliceNumber 
SetSlice 128

# Use SetZoomLevel to zoom in and out. 1 is normal, >1 is zoomed in,
# and 0-1 is zoomed out.

# SetZoomLevel level 
SetZoomLevel 4

# SetOrientation orientation 
# orientation:
# 0     coronal
# 1     horizontal
# 2     sagittal
SetOrientation 0

# This command turns on and off various display flags.
# SetDisplayFlag flag value 
# flag:
# 1     Aux Volume - set to 1 to show aux volume
# 2     Anatomical Volume - set to 0 to hide main and aux volume
# 3     Cursor
# 4     Main Surface
# 5     Original Surface
# 6     Pial Surface
# 7     Interpolate Surface Vertices
# 8     Surface Vertices
# 9     Control Points
# 10    Selection
# 11    Functional Overlay
# 12    Functional Color Scale Bar
# 13    Mask to Functional Overlay
# 14    Histogram Percent Change
# 15    Segmentation Volume Overlay
# 16    Aux Segmentation Volume
# 17    Segmentation Label Volume Count
# 18    DTI Overlay
# 20    Focus Frame
# 21    Undoable Voxels
# 22    Axes
# 23    Maximum Intensity Porjection
# 24    Head Points
# 25    Verbose GCA DumpSetDisplayFlag 

# Turn cursor display off.
SetDisplayFlag 3 0

# Turn the axes on.
SetDisplayFlag 22 1

# Use this command to go to multiple views. This will copy the current
# view settings from the current view, so all the above commands will
# apply to all new views.
# SetDisplayConfig numberOfColumns numberOfRows linkPolicy 
# linkPolicy:
# 0     none
# 1     linked cursors
# 2     linked slice changes
SetDisplayConfig 2 2 1

# Use the RedrawScreen command to force a redraw after you have a view
# set up, beofre taking a picture.
RedrawScreen

# This command will save the actual screenshot.
# SaveTiff fileName
SaveTIFF /tmp/screenshot.tif


# Use tcl loops to change orientations and take multiple
# screenshots. This will set the view to a single view, and take three
# screenshots, one of each orientation.
SetDisplayConfig 1 1 0
foreach orientation {0 1 2} label {cor horiz sag} {

    SetOrientation $orientation
    RedrawScreen
    SaveTIFF /tmp/screenshot-$label.tif
}

# Or take pictures of multiple slices for a movie. This goes through
# slices 0-255 and takes a shot at each one.
for { set slice 0 } { $slice < 256 } { incr slice } {

    SetSlice $slice
    RedrawScreen
    SaveTIFF /tmp/screenshot-$slice.tif
}

TkMeditGuide/TkMeditReference/TkMeditSampleScreenshotScript (last edited 2008-05-07 16:38:19 by NickSchmansky)