-
Notifications
You must be signed in to change notification settings - Fork 9
TMI Viewer Instructions Examples
The tmi_viewer package contains two programs:
Displays multimodal neuroimaging data (surfaces and volumes) in the same space from a TMI file (although TMI files are not required).
Features:
- Multiple surfaces with vertex painting can be easily viewed with voxel images.
- Voxel images can be viewed as: (1) surfaces using a marching cube algorithm, (2) voxel contour, (3) and voxel scalar field.
- The default settings are optimized for viewing neuroimages.
- tmi_viewer is highly optimized for speed.
- Many autothresholding algorithms available including: Otsu et al., Li et al., Yen et al., and Z threholding. (See Citations)
- Extremely fast algorithm for applying Lapacian or Taubin (low-pass) smooth. e.g., ~1000 passes takes around one minute.
- Easy export of background transparent images for creating figures.
- Many new look-up tables (LUTs) that are specifically designed for visualising neuroimaging statistics (below, at the bottom) as well as the LUTs included with matplotlib.
Outputs a web-page with whole brain slices from voxel-based neuroimages in native coordinates with optional overlaps.
Features:
- Great for making figures: Creates a web-page displaying overlapping any number of voxel-based images, and they can be at any resolution.
- Many autothresholding algorithms available including: Otsu et al., Li et al., Yen et al., and Z threholding. (See Citations)
- Import images, binarize them at any threshold, and paint the image outline.
- Specify number of slices, size of slices, transparency, etc.
These programs relies on Mayavi, and setting can changed using the Mayavi interactive session. If you use them please cite:
Ramachandran, P. and Varoquaux, G., Mayavi. 3D Visualization of Scientific Data. IEEE Computing in Science & Engineering, 13 (2), pp. 40-51 (2011).
tmi_viewer -h
OUTPUT:
usage: tmi_viewer [-h] (-i *.tmi | --no-tmi | --plotluts) [-d * [* ...]]
[-dv * [* ...]] [-dvsf * [* ...]] [-dvc * [* ...]]
[-ds int [int ...]] [-lut LOOKUPTABLE] [-autothr]
[-ttype {otsu,otsu_p,li,li_p,yen,yen_p,zscore,zscore_p}]
[--zthresh float] [-t THRESHOLDS THRESHOLDS] [-a ALPHA]
[-o OPACITY] [-ifs [* [* ...]]] [-iv [* [* ...]]]
[-ivsf * [* ...]] [-ivc [* [* ...]]] [-sfa axis [axis ...]]
[-sfo float] [-save basename] [--savetype filetype]
[-ss int] [-stype str] [--interpolation str]
[-smgh * [* ...]] [-oh] [-os] [-v]
tmi_viewer: Displays multimodal neuroimaging data (surfaces and volumes) in
the same space from a TMI file (although TMI files are not required). This
program relies on Mayavi, and setting can changed using the Mayavi interactive
session. If you use it please cite: Ramachandran, P. and Varoquaux, G.,
`Mayavi: 3D Visualization of Scientific Data` IEEE Computing in Science &
Engineering, 13 (2), pp. 40-51 (2011).
optional arguments:
-h, --help show this help message and exit
-i *.tmi, -i_tmi *.tmi, --inputtmi *.tmi
Input the *.tmi file containing the statistics to
view.
--no-tmi Do not input a TMI file.
--plotluts Plots the avalable lookup tables, and exits.
-d * [* ...], --display * [* ...]
Display a surface with a scalar. The mask, contrast,
and surface are required (check values with -oh or
-os). If the same surface is used multiple times, make
sure to set the alpha to 0 for each subsequent input.
E.g., -d 0 0 0 tm-sunset_r -d 1 0 0 tm-breeze_r 0.
Format: {0 mask} {1 contrast} {2 surface} {3 LUT} {4
alpha} {5 vmin} {6 vmax}
-dv * [* ...], --displayvoxel * [* ...]
Display a volume as a surface and scalar. The mask and
contrast are required (check values with -oh or -os).
Format: -dv {0 mask} {1 contrast} {2 LUT} {3 vmin} {4
vmax}
-dvsf * [* ...], --displayvoxelscalarfield * [* ...]
Display a volume on as scalar field(s). Default [x, y]
plane (can be changed with -sfa). The mask and
contrast are required (check values with -oh or -os).
Format: -dvsf {0 mask} {1 contrast} {2 LUT} {3 vmin}
{4 vmax}
-dvc * [* ...], --displayvoxelcontour * [* ...]
Display a volume as a 3D contour. The mask and
contrast are required (check values with -oh or -os).
Format: -dvc {0 mask} {1 contrast} {2 LUT} {3 vmin} {4
vmax} {5 Contour_Opacity} {6 Number_Contours}
-ds int [int ...], --displaysurface int [int ...]
Display a surface without a scalar (i.e., just the
surface).
-lut LOOKUPTABLE, --lookuptable LOOKUPTABLE
Set the default color map to display. Use --plotluts
to see the available lookup-tables (LUTs). Any LUT can
be reverse by appending _r (e.g. -lut red-yellow_r).
-autothr, --autotheshold
Use automatic thresholding as default if none is
supplied. Default is 'otsu', but it other can be
specified using -ttype.
-ttype {otsu,otsu_p,li,li_p,yen,yen_p,zscore,zscore_p}, --thesholdingtype {otsu,otsu_p,li,li_p,yen,yen_p,zscore,zscore_p}
Method used to set the the lower threshold if
thresholds are not supplied (Default is otsu).
Appending '_p' sets all negative data to zero prior to
autothresholding.
--zthresh float The z value to use for autothresholding. Default =
[2.3264].
-t THRESHOLDS THRESHOLDS, --thresholds THRESHOLDS THRESHOLDS
Set the default lower (vmin) and upper (vmax)
thresholds. Defaults are: [0.95, 1]
-a ALPHA, --alpha ALPHA
Set alpha [0 to 255]
-o OPACITY, --opacity OPACITY
Set opacity [0 to 1]
-ifs [* [* ...]], --importfreesurfer [* [* ...]]
Import a freesurfer surface, and optionally, a *.mgh
scalar. If the same surface is used multiple times,
make sure to set the alpha to 0 for each subsequent
inputs. E.g., -ifs lh.midthickness
lh.positive.stats.mgh tm-sunset_r -ifs lh.midthickness
lh.negative.stats.mgh tm-breeze_r 0. The import
surface is required. Format: -ifs {0 surface} {1 mgh}
{2 LUT} {3 alpha} {4 vmin} {5 vmax}
-iv [* [* ...]], --importvolume [* [* ...]]
Import a volume and display it as a surface and
scalar. The import volume (Nifti, Minc, MGH) is
required. Format: -iv {0 image} {1 LUT} {2 vmin} {3
vmax} {4 opacity}
-ivsf * [* ...], --importvoxelscalarfield * [* ...]
Import a volume and display it as scalar field(s).
Default [x, y] plane (can be changed with -sfa). The
import volume (Nifti, Minc, MGH) is required. Format:
-ivsf {0 image} {1 LUT} {2 vmin} {3 vmax}
-ivc [* [* ...]], --importvoxelcontour [* [* ...]]
Import a volume display it as 3D contourd. The import
volume (Nifti, Minc, MGH) is required. Format: -ivc {0
image} {1 LUT} {2 vmin} {3 vmax} {4 Contour_Opacity}
{5 Number_Contours}
-sfa axis [axis ...], --scalarfieldaxis axis [axis ...]
Select axis/axes for scalar field. Only {X, Y, Z} are
valid arguements
-sfo float, --sfplaneopacity float
Set the plane opacity for scalar fields (the outline
will be removed). Default is: [1]
-save basename, --savesnapshots basename
Save snapshots of the image. Input the basename of the
output.
--savetype filetype Choose output snapshot type by file extension. Default
is: ['png']
-ss int, --surfacesmoothing int
Apply Laplician or Taubin smoothing before
visualization. Input the number of iterations (e.g.,
-ss 5).
-stype str, --smoothingtype str
Set type of surface smoothing to use (choices are:
laplacian, taubin). The default is laplacian. The
Taubin (aka low-pass) filter smooths curves/surfaces
without the shrinkage of the laplacian filter.
--interpolation str Specify the reslice interpolation (choices are: cubic,
linear, nearest_neighbour). The default is linear
-smgh * [* ...], --selectmghvolume * [* ...]
Set the subject/contrast/timepoint in 4D MGH file
imported with -ifs. Optionally, a multiplier can also
be supplied. The # of inputs for -ifs and -smgh must
match (If an input MGH is 3D use 0). Format: {0
volnum} {1 multiplier}
-oh, --history Output tmi file history and exits.
-os, --outputstats Output min/max values from value for each contrast per
mask and exits.
-v, --version show program's version number and exit
TMI files can contain multiple modalities in a single file so it may be necessary to view what is in the file before attempting to visualize the images. Therefore, it is recommended to view a text summary of the mask, contrastis, and statistics prior to using tmi_viewer.
In this example, the TMI file is: pFWER_stats_all.mmr.tmi
(1-p stats after undergoing family-wise error rate correction for all masks)
View the stats:
tmi_viewer -i pFWER_stats_all.mmr.tmi -os
OUTPUT
--- Subject/Contrast[0]: tstat_pFWER_con1 ---
Mask[0] lh.all.area.03B.mgh [0.0000, 0.9784]
Mask[1] rh.all.area.03B.mgh [0.0000, 0.9553]
Mask[2] lh.all.thickness.03B.mgh [0.0000, 0.9497]
Mask[3] rh.all.thickness.03B.mgh [0.0000, 0.8226]
Mask[4] lh.all.ICVF.03B.mgh [0.0000, 0.9881]
Mask[5] rh.all.ICVF.03B.mgh [0.0000, 0.9441]
Mask[6] lh.all.nbackS8.03B.mgh [0.0000, 0.9993]
Mask[7] rh.all.nbackS8.03B.mgh [0.0000, 0.9993]
--- Subject/Contrast[1]: negtstat_pFWER_con1 ---
Mask[0] lh.all.area.03B.mgh [0.0000, 0.0000]
Mask[1] rh.all.area.03B.mgh [0.0000, 0.0000]
Mask[2] lh.all.thickness.03B.mgh [0.0000, 0.0000]
Mask[3] rh.all.thickness.03B.mgh [0.0000, 0.0014]
Mask[4] lh.all.ICVF.03B.mgh [0.0000, 0.0000]
Mask[5] rh.all.ICVF.03B.mgh [0.0000, 0.0035]
Mask[6] lh.all.nbackS8.03B.mgh [0.0000, 0.9818]
Mask[7] rh.all.nbackS8.03B.mgh [0.0000, 0.7018]
--- Surfaces ---
Surface[0] lh.midthickness
Surface[1] rh.midthickness
Surface[2] lh.midthickness
Surface[3] rh.midthickness
Surface[4] lh.midthickness
Surface[5] rh.midthickness
Surface[6] lh.midthickness
Surface[7] rh.midthickness
Explanation