Deletions are marked like this. | Additions are marked like this. |
Line 16: | Line 16: |
AverageSurfaceVertexPositions numberOfAverages Averages the vertex positions of the Main surface numberOfAverages times. |
''Average``Surface``Vertex``Positions'' '''''numberOfAverages''''' Averages the vertex positions of the Main surface '''numberOfAverages''' times. |
Up to TkMeditGuide |
Back to [:../TkMeditScripting: TkMeditScripting] |
Continue to [:../TkMeditFileNameSubstitution: TkMeditFileNameSubstitution] |
Scripting
This section assumes you are familiar with Tcl and how to write basic scripts.
Most of TkMedit's functions have Tcl bindings. As you have probably noticed, the interface is just a Tk/Tix window. You can look at the interface script, TkMedit.tcl, to see how most of the functionality is used. Following is a list of Tcl commands defined by TkMedit. You can use these commands in your own scripts and call them with the -tcl command line option to execute them on startup. TkMedit can run in a kind of batch mode in this fashion, altho it still requires X and has to be able to open its main window.
You can also enter these script commands from the shell that TkMedit was launched in. You can use the Tcl source command to load a script file from the Tcl shell as well.
This list is provided for reference. If you can figure out something that works, great, but it is not officially a feature of TkMedit.
Commands Functions arguments are listed by their name followed by their arguments. Arguments in square brackets are optional.
AverageSurfaceVertexPositions numberOfAverages
Averages the vertex positions of the Main surface numberOfAverages times. script commands index
Clears the current voxel selection. script commands index
Clears the undoable voxels. script commands index
DebugPrint string
Prints string to debugging output (either the xdebug_TkMedit.txt file or the screen). script commands index
ExportChangedSegmentationVolume volume [destinationDirectory]
Saves the segmentation volume in its original location (overwriting the original), or a new location if destinationDirectory is specified. volume should be 0 for the Main volume, and 1 for the Aux volume. The volume will be saved in COR format. script commands index
FlipVolume xAxis yAxis zAxis
Flips the Main anatomical volume over an axis. Specify 0 or 1 for xAxis, yAxis, and zAxis to not flip or flip, respectively, on that axis. Axes are in anatomical index coordinate space. script commands index
Returns the subject directory path. volume should be 0 for the Main volume, and 1 for the Aux volume. script commands index
Returns the subject name. volume should be 0 for the Main volume, and 1 for the Aux volume. script commands index
GotoMainVertex vertexNumber
Sets the cursor to the location of the numbered vertex in the Main surface. vertexNumber should be between 0 and the number of vertices in the surface. script commands index
GotoOriginalVertex vertexNumber
Sets the cursor to the location of the numbered vertex in the Original surface. vertexNumber should be between 0 and the number of vertices in the surface. script commands index
GotoPialVertex vertexNumber
Sets the cursor to the location of the numbered vertex in the Pial surface. vertexNumber should be between 0 and the number of vertices in the surface. script commands index
Graphs the average timecourse for the selected voxels. script commands index
ImportSurfaceAnnotationToSegmentation surface annotationFileName colorTableFileName
Loads annotationFileName into a surface, creates a new segmentation volume, and goes through the surface, mapping a vertex location to a voxel in the segmentation volume. For each, it looks up a label value from the RGB color stored in the annotation value using colorTableFileName and sets the segmentation value to the label value. surface should be 0 for the Main surface, and 1 for the Aux surface. script commands index
LoadAuxVolume volumeFileName
Loads volumeFileName as the Aux volume. script commands index
LoadDTIVolumes vectorVolumeFileName intensityVolumeFileName redAxis greenAxis blueAxis
Loads a DTI volume using vectorVolumeFileName as the volume containing the vectors, and intensityVolumeFileNameas the volume containing the scaling factor. The former should be a three frame volume and the latter should be a one frame volume. The redAxis, greenAxis, and blueAxis parameters should be x, y, or z, indicating which value in the vector volume corresponds to which color. script commands index
LoadFunctionalOverlay volumeFileName [registrationFileName]
Loads a functional overlay volume from volumeFileName. Can also apply an option registration transformation from registrationFileName. The overlay will be displayed in the graphics widnow. script commands index
LoadFunctionalTimeCourse volumeFileName [registrationFileName]
Loads a functional time course volume from volumeFileName. Can also apply an option registration transformation from registrationFileName. The time course graph will be displayed in a separate window. script commands index
LoadGCA volumeFileName transformFileName
Loads a GCA volume from volumeFileName using the transform in transformFileName. script commands index
LoadGCARenormalization renormalizationVolumeFileName
Loads a GCA renormalization volume from renormalizationVolumeFileName. script commands index
LoadHeadPts headPointsFileName transformFileName
Loads a head points array from headPointsFileName using the transform in transformFileName . script commands index
LoadLabel labelFileName
Loads a label file from labelFileName. This will add the voxels in the label file to the selection. script commands index
LoadMainSurface surface surfaceFileName
Loads a surface file from surfaceFileName. surface should be 0 for the Main surface, and 1 for the Aux surface. Note that this loads the main surface object, and will unload the Original or Pial surface configurations if they exist. script commands index
LoadOriginalSurface surface surfaceFileName
Loads the Original vertex configuration from surfaceFileName into an existing surface. surface should be 0 for the Main surface, and 1 for the Aux surface. Note that the Main surface (that is, the Main Main or Aux Main) must already be loaded; this just loads in an alternate vertex configuration. script commands index
LoadPialSurface surface surfaceFileName
Loads the Pial vertex configuration from surfaceFileName into an existing surface. surface should be 0 for the Main surface, and 1 for the Aux surface. Note that the Main surface (that is, the Main Main or Aux Main) must already be loaded; this just loads in an alternate vertex configuration. script commands index
LoadSegmentationVolume volume volumeFileName colorTableFileName
Loads a segmentation volume from volumeFileName using the color table in colorTableFileName. volume should be 0 for the Main volume, and 1 for the Aux volume. script commands index
LoadSurfaceAnnotation surface annotationFileName
Loads a surface annotation file from annotationFileName into a surface. surface should be 0 for the Main surface, and 1 for the Aux surface. This will color the vertices and edges of the surface display using the RGB annotation values. script commands index
LoadVolumeDisplayTransform volume transformFileName
Loads a display transform from transformFileName for an anatomical volume. volume should be 0 for the Main volume, and 1 for the Aux volume. script commands index
LoadVolume volumeFileName
Loads volumeFileName as the Main volume. script commands index
Creates a new control point where the cursor is. script commands index
NewSegmentationVolume volume fromAnatomicalVolume colorTableFileName
Creates a new segmentation volume based on one of the anatomical volumes using the color table in colorTableFileName. volume should be 0 for the Main segmentation volume, and 1 for the Aux segmentation volume, and fromAnatomicalVolume should be 0 for the Main anatomical volume, and 1 for the Aux anatomical volume. script commands index
Overlay RestoreRegistration
Restores the functional overlay registration to the last saved value. script commands index
Overlay SaveRegistration
Saves the current overlay registration. Overwrites previous file. script commands index
Overlay_SetCondition condition
Sets the functional overlay's current condition. condition must be with in the valid range of conditions. script commands index
Overlay_SetDisplayFlag flag value
Sets a display flag for the functional overlay in the current display pane. value should be 0 or 1. flag should be one of the following, corresponding to an item in the View, Configure Overlay... dialog box: script commands index
0 Truncate Negative Values 1 Truncate Positive Values
2 Reverse Phase
3 Offset Values
4 Ignore Threshold
5 Grayscale Overlay
6 Opaque Overlay
Overlay_SetRegistrationToIdentity
Sets the functional overlay registration to the identity matrix. script commands index
Overlay_SetThreshold min mid slope
Sets the functional overlay threshold. min and mid should be valid functional values, and slope should a positive floating point number. script commands index
Overlay_SetTimePoint timePoint
Sets the functional overlay's current time point. timePoint must be with in the valid range of time points script commands index
Overlay_SetVolumeSampleType sampleType
Sets the functional overlay sampling method. sampleType should be 0 for nearest neighbor sampling and 1 for trilinear sampling. script commands index
Quits the program. script commands index
Reads a location from the edit.dat file and sets the cursor to that location. script commands index
ReadVoxelLabels voxelLabelVolume1FileName voxelLabelVolume2FileName
Reads VLI volumes from voxelLabelVolume1FileName and voxelLabelVolume2FileName. script commands index
RecomputeSegmentation volume
Recomputes the Main or Aux segmentation volume based on the Main anatomical volume, the GCA volume, and the specified segmentation volume and its changed values. volume should be 0 for the Main volume, and 1 for the Aux volume. script commands index
This schedules a redraw of the graphics window which will happen at the next update. It is best suited when a redraw does not need to happen until a series of script commands is finished. script commands index
This forces an immediate redraw of the graphics window. This should be used when a script takes multiple screen captures in the middle of a loop. script commands index
Restores the head points transformation to the original matrix. script commands index
RestorePreviousSegmentation volume
Restores a segmentation volume to the state it was in before it was recomputed. volume should be 0 for the Main volume, and 1 for the Aux volume. script commands index
Restores the Main volume to the state it was in when the snapshot was taken. script commands index
RotateHeadPts degrees axis
Rotates the head points orientation by degrees degrees over the x, y, or z axis. degrees can be a floating point number and axis should be x, y, or z. script commands index
RotateOverlayRegistration degrees axis
Rotates the functional overlay registration by degrees degrees over the x, y, or z axis. degrees can be a floating point number and axis should be x, y, or z. script commands index
RotateVolume axis degrees
Rotates the Main anatomical volume over the x, y, or z axis by degrees degrees. degrees can be a floating point number and axis should be x, y, or z. script commands index
SaveGCA volumeFileName
Saves the GCA volume as volumeFileName. script commands index
SaveLabel labelFileName
Saves the current selection as a label file in labelFileName. script commands index
SaveRGB imageFileName
Takes a screen shot of the graphics window and saves it as an RGB file in imageFileName. script commands index
SaveSegmentationVolume volume [destinationDirectory]
Saves the specified segmentation volume in its original location (overwriting the old file), or in a new location if destinationDirectory is specified. volume should be 0 for the Main volume, and 1 for the Aux volume. The volume will be saved in COR format. script commands index
SaveVolume volume
Saves the anatomical volume in its original location, overwriting the old file. volume should be 0 for the Main volume, and 1 for the Aux volume. The volume will be saved in COR format. script commands index
SaveVolumeAs volume destinationDirectory
Saves the anatomical volume in destinationDirectory. volume should be 0 for the Main volume, and 1 for the Aux volume. The volume will be saved in COR format. script commands index
ScaleOverlayRegistration distance axis
Scales the functional overlay registration by distance over the x, y, or z axis. distance can be a floating point number and axis should be x, y, or z. script commands index
SelectVoxelsByFuncValuecompareType compareType
Adds to the selection all contiguous voxels whose functional value pass the comparison with the value under the cursor. compareType should be one of the following: script commands index
0 Greater than or equal to, or less than or equal to: If the value is positive, this will select all voxels whose value are greater than or equal to the value, and if negative, less than or equal to. 1 Equal to: Values must be equal 2 Greater than or equal to threshold minimum: This will select all voxels whose values are above the threshold minimum SendCursor
Writes the location of the cursor to the edit.dat file, to be shared with tksurfer. script commands index
SetBrushInfo brush low high new
Sets information about the anatomical Edit Voxel Tool shape. brush should be 2 or 3, for the brush associated with button 2 or 3. low, high, and new should be within the range of voxel values, and set the threshold and new values for the brush. script commands index
Restores the brush info (see above) to the default values. script commands index
SetBrushShape radius shape 3D
Sets the brush shape, which affects both edit tools and the Select Voxels tool. radius should be an integer greater than 0. shape should be 0 for circle, and 1 for square. 3D should be 0 for in-plane edits only, and 1 for three dimensional editing. script commands index
SetBrushTarget target
Sets the brush Edit Voxel Tool target. target should be 0 for the Main volume, and 1 for the Main and Aux volume. script commands index
SetCursor coordinateSpace x y z
Sets the cursor in the volume and moves the current slice to display it. coordinateSpace should be 0 for volume index space, 1 for RAS world space, and 2 for Talairach space. x, y, and z can be floating point numbers. script commands index
SetCursorColor r g b
Sets the display color for the cursor. r, g, and b should be floating point values from 0 to 1. script commands index
SetCursorShape shape
Sets the display shape for the cursor. shape should be 0 for crosshair and 1 for diamond. script commands index
Sets the cursor location to the center of the current selection, changing the view appropriately. script commands index
SetDTIAlpha alpha
Sets the opacity alpha for the DTI overlay. alpha should be a floating point number between 0 and 1. script commands index
SetDisplayConfig numberOfColumns numberOfRows linkPolicy
Sets the number of rows and columns of display panes in the graphics window. Calling this function will configure the panes in default orientations and slice numbers. numberOfCols and numberOfRows should be between 1 and 4. linkPolicy should be one of the following: script commands index
0 None: Normal link policy; cursor actions in other panes don't affect each other. 1 Cursor: Changing the cursor in one pane will set the cursor in other panes. Zoom levels are linked. Orientation changes are linked. When the display is set to this configuration, all panes are set to different orientations around the cursor. 2 Slice: Changing the slice number in one view will change all other views by the same amount. Cursor changes are not linked. Zoom levels are linked. Orientation changes are linked. When the display is first set to this configuration, all panes are set to the same orientation but to different slices. SetDisplayFlag flag value
Sets a display flag for the current display pane. value should be 0 or 1. flag should be one of the following, corresponding to an item in the View menu: script commands index
1 Aux Volume 2 Anatomical 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
SetFloodSelectParams 3D sourceVolume fuzziness distance
Sets the parameters for the flood select part of the Select Voxels tool. 3D should be 0 or 1. sourceVolume should be 0 for the Main anatomical volume, 1 for the Aux anatomical volume, 2 for the Main segmentation volume, and 3 for the Aux segmentation volume. fuzziness and distance should be floating point numbers. script commands index
SetFuncOverlayAlpha alpha
Sets the opacity alpha for the functional overlay. alpha should be a floating point number between 0 and 1. script commands index
SetGCADisplayStatus displayIntermediateResults
Sets the display status for GCA operations. displayIntermediateResults should be 0 or 1. script commands index
SetLinkedCursorFlag linked
Sets cursor linking on or off. linked should be 0 or 1. script commands index
SetOrientation orientation
Sets the orientation of the current display pane. orientation should be 0 for coronal, 1 for horizontal, or 2 for sagittal. script commands index
SetSegBrushInfo newValue 3D sourceVolume fuzziness distance
Sets the parameters for the Edit Segmentation tool, both brush and fill parameters. newValue should be a valid index in the currently loaded color table. 3D should be 0 or 1. sourceVolume should be 0 for the Main anatomical volume, 1 for the Aux anatomical volume, 2 for the Main segmentation volume, and 3 for the Aux segmentation volume. fuzziness and distance should be floating point numbers. script commands index
SetSegmentationAlpha alpha
Sets the opacity alpha for the segmentation overlay. alpha should be a floating point number between 0 and 1. script commands index
SetSelectedHeadPointLabel label
Sets the label for the currently selected head point. label should be a string. script commands index
SetSlice sliceNumber
Sets the slice number in the currently selected display pane for the anatomical volume. Note that this may trigger updates in other panes due to cursor linking. sliceNumber should be within the valid range of volume index coordinates. script commands index
Copies the current surface distance value into the Main surface vertex nearest the cursor. script commands index
SetSurfaceLineColor surface set r g b
Sets the surface line color. surface should be 0 for the Main surface, and 1 for the Aux surface. set should be 0 for Main, 1 for Original, and 2 for Pial. r, g, and b should be floating numbers from 0 to 1. script commands index
SetSurfaceLineWidth surface set width
Sets the surface line width. surface should be 0 for the Main surface, and 1 for the Aux surface. set should be 0 for Main, 1 for Original, and 2 for Pial. width should be an integer. script commands index
SetTool tool
Sets the currently active tool. tool should be 0 for Navigate, 1 for Select Voxels, 2 for Edit Voxels, 3 for Edit Segmentation, or 4 for Edit Control Points. script commands index
SetVolumeBrightnessContrast volume brightness contrast
Sets the brightness and contrast values for a volume. volume should be 0 for the Main volume, and 1 for the Aux volume. brightness should be a floating point number from 0 to 1 (0 is brighter than 1) and contrast should be a floating point number from 0 to 30.script commands index
SetVolumeColorScale volume brightness contrast min max
Sets the color (grayscale, really) scale for a volume. volume should be 0 for the Main volume, and 1 for the Aux volume. brightness should be a floating point number from 0 to 1 (0 is brighter than 1) and contrast should be a floating point number from 0 to 30. min and max define the values for black and white and should be valid numbers in the voxel value range. script commands index
SetVolumeMinMax volume min max
Sets the color (grayscale, really) scale for a volume. volume should be 0 for the Main volume, and 1 for the Aux volume. min and max define the values for black and white and should be valid numbers in the voxel value range. script commands index
SetVolumeResampleMethod volume method
Sets the resampling method for an anatomical volume. volume should be 0 for the Main volume, and 1 for the Aux volume. method should be 0 for RAS and 1 for slice. script commands index
SetVolumeSampleTypevolume sampleType
Sets the sampling method for an anatomical volume. volume should be 0 for the Main volume, and 1 for the Aux volume. sampleType should be 0 for nearest neighbor, 1 for trilinear, and 2 for sinc. script commands index
SetZoomCenter x y z
Sets the zoom center of the current display pane, changing the visible area without setting the cursor. x, y, and z should be integers in the anatomical index space. script commands index
SetZoomLevel level
Sets the zoom level of the current display pane. level should be an integer from 1 to 128. script commands index
ShowNearestInterpolatedMainVertex
Sets the cursor to the point of the nearest interpolated vertex on the Main surface configuration. script commands index
ShowNearestInterpolatedOriginalVertex
Sets the cursor to the point of the nearest interpolated vertex on the Original surface configuration. script commands index
ShowNearestInterpolatedPialVertex
Sets the cursor to the point of the nearest interpolated vertex on the Pial surface configuration. script commands index
Sets the cursor to the point of the vertex on the Main surface configuration. script commands index
Sets the cursor to the point of the vertex on the Original surface configuration. script commands index
Sets the cursor to the point of the vertex on the Pial surface configuration. script commands index
Performs a smart cut operation at the current cursor location. script commands index
SmoothFunctionalOverlay sigma
Smooths the functional overlay volume with given sigma. sigma should be a floating point number. script commands index
Saves the state of the Main anatomical volume so it can be restored later. script commands index
ThresholdVolume thresholdValue direction newValue
Performs a thresholding operation on the Main anatomical volume. thresholdValue is the value above or below which all values will be set to newValue, and both must be valid anatomical values. direction should be 0 for below, or 1 for above. script commands index
TimeCourse_PrintSelectionRangeToFile fileName
Prints information about the averaged time course values over all time points for the selected voxels to a text file fileName. script commands index
TimeCourse_SetDisplayFlagflag flag value
Sets a display flag for the functional time course. value should be 0 or 1. flag should be one of the following, corresponding to an item in the View, Configure Time Course... dialog box: script commands index
7 Open Graph Window 8 Offset Values 9 Show Prestim Offset
TimeCourse_SetNumPreStimPoints numPoints
Sets the number of pre-stim time points in the time course volume to numPoints. script commands index
TimeCourse_SetTimeResolution resolution
Sets the time resolution of the time course volume to resolution. script commands index
TranslateHeadPts distance axis
Translates the head points orientation by distance units over the x, y, or z axis. axis can be x, y, or z. script commands index
Performs and undo. script commands index
Unloads the Main and Aux surface. script commands index
UnloadGCA
Unloads the GCA volume. script commands index
UnloadSurface surface
Unloads a surface. surface should be 0 for the Main surface, or 1 for the Aux surface. script commands index
UnloadVolume volume
Unloads an anatomical volume. volume should be 0 for the Main volume, or 1 for the Aux volume. script commands index
UnloadVolumeDisplayTransformvolume
Unloads an anatomical volume display transform. volume should be 0 for the Main volume's transform, or 1 for the Aux volume's transform. script commands index
Writes the control points to the control.dat file. This is done automatically when adding a new point, but not when removing a point. script commands index
Writes the head points file. This overwrites the previous file. script commands index
Writes the head points transform file. This overwrites the previous file. script commands index
WriteSurfaceValues surface valueFileName
Writes the a surface's vertex values to a value file valueFileName. surface should be 0 for the Main surface, or 1 for the Aux surface. script commands index