| Deletions are marked like this. | Additions are marked like this. |
| Line 12: | Line 12: |
| # https://surfer.nmr.mgh.harvard.edu/fswiki/TkMeditGuide_2fTkMeditReference_2fTkMeditScripting | # https://surfer.nmr.mgh.harvard.edu/fswiki/TkMeditGuide/TkMeditReference/TkMeditScripting |
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
}