Tubegen: Difference between revisions

From VrlWiki
Jump to navigation Jump to search
Jadrian Miles (talk | contribs)
Jadrian Miles (talk | contribs)
No edit summary
Line 79: Line 79:
=== Obscure Arguments ===
=== Obscure Arguments ===


{| {{prettytable}}
To keep this page from getting cluttered, the table of obscure arguments is on a sub-page. Please see [[/Obscure Arguments]] for this table.
|-
! {{Hl2}} | arg
! {{Hl2}} | params
! {{Hl2}} | description
! {{Hl2}} | defaults
|-
! colspan=4 | Output Files
|-
! style="text-align:left;" | <tt>SAVESM</tt>
| n || Save sm file || 1
|-
! colspan=4 | Output Mesh Control
|-
! style="text-align:left;" | <tt>NUMPTR</tt>
| n || Number of points on a ring || 6
|-
! style="text-align:left;" | <tt>MESHNOVSIZE</tt>
| n || Mesh coords not affected by vsize || 0
|-
! style="text-align:left;" | <tt>OUTFA</tt>
| n || output FA as red color || 0
|-
! colspan=4 | Integration
|-
! style="text-align:left;" | <tt>USROI</tt>
| n || use region of interest for seed points generation || 0
|-
! style="text-align:left;" | <tt>ROI</tt>
| f f f f f f || region of interest, specify center point and edge length || 0.0 0.0 0.0 0.0 0.0 0.0
|-
! style="text-align:left;" | <tt>chi0thresh</tt>
| f || isotropy model Chisqr threshold || 2.0
|-
! style="text-align:left;" | <tt>chi1thresh</tt>
| f || isotropy model Chisqr threshold || 2.0
|-
! style="text-align:left;" | <tt>chi2thresh</tt>
| f || isotropy model Chisqr threshold || 2.0
|-
! colspan=4 | Culling
|-
! style="text-align:left;" | <tt>wd</tt>
| n || Gaussian weighted distance: end points get higher weight. || 0
|-
! style="text-align:left;" | <tt>USECUTOFFROI</tt>
| n || use cutoff ROI || 0
|-
! style="text-align:left;" | <tt>ROICUTOFF</tt>
| f f f f f f || Cut off ROI, only streamtubes running through this ROI are kept || 0.0 0.0 0.0 0.0 0.0 0.0
|-
! colspan=4 | Statistical Options
|-
! style="text-align:left;" | <tt>chi0</tt>
| str || chisqr for isotropic model || /u/sz/diffusion/data/susumu/mri/Diff
|-
! colspan=4 | Partial Volume
|-
! style="text-align:left;" | <tt>pv</tt>
| str || Partial volume between iso and wm image path || /u/sz/diffusion/data/susumu/mri/Diff
|-
! style="text-align:left;" | <tt>pv1thresh</tt>
| f || partial volume threshold for tracking || 0.5
|-
! style="text-align:left;" | <tt>pvwm</tt>
| str || Partial volume between wm image path || /u/sz/diffusion/data/susumu/mri/Diff
|-
! colspan=4 | Unknown
|-
! style="text-align:left;" | <tt>cr</tt>
| f || Compress ratio, 0 means no compression || 0.3
|-
! style="text-align:left;" | <tt>randlen</tt>
| f || random jittering diameter, coupled with seed || 1.0
|-
! style="text-align:left;" | <tt>randseed</tt>
| f || srand? 0: no srand, -1 srand(time), other:srand(other) || 0.0
|-
! style="text-align:left;" | <tt>ColSeed</tt>
| n || seed ColA data mask for seeds || 0
|-
! style="text-align:left;" | <tt>Colmask</tt>
| str || Col mask image path || nomask
|-
! style="text-align:left;" | <tt>ColmaskVx</tt>
| f f f || Vx of the mask Coord || 0.0 0.0 0.0
|-
! style="text-align:left;" | <tt>ColmaskVy</tt>
| f f f || Vx of the mask Coord || 0.0 0.0 0.0
|-
! style="text-align:left;" | <tt>ColmaskCtr</tt>
| f f f || Ctr of the mask Coord || 0.0 0.0 0.0
|-
! style="text-align:left;" | <tt>ColDTICtr</tt>
| f f f || Ctr of the DTI Coord || 0.0 0.0 0.0
|-
! style="text-align:left;" | <tt>ColDTIvsize</tt>
| f f f || vsize of the DTI Coord || 0.0 0.0 0.0
|-
! style="text-align:left;" | <tt>Colmaskvsize</tt>
| f f f || vsize of the mask Coord || 0.859376 0.859376 3.0
|-
! style="text-align:left;" | <tt>ColS</tt>
| n || Number of random points used in a voxel in Colseeding || 4
|-
! style="text-align:left;" | <tt>SS</tt>
| n || Using the tubes generated for the seed points of the Second Start || 0
|-
! style="text-align:left;" | <tt>flatdir</tt>
| n || trace on a plane perpendicular to flatdir. 0: 1 0 0; 1: 0 1 0; 2: 0 0 1 || -1
|-
! style="text-align:left;" | <tt>SEG</tt>
| str || Segmentation image || NoSegFile
|-
! style="text-align:left;" | <tt>SF</tt>
| str || Seed-points file || NoSeedsFile
|-
! style="text-align:left;" | <tt>OUTSF</tt>
| str || Output seed-points file || NoSeesFile
|-
! style="text-align:left;" | <tt>USESF</tt>
| n || Use seed-points file || 0
|-
! style="text-align:left;" | <tt>GMCON</tt>
| n || GM constaint extension step, 0 means no constraint || 0
|-
! style="text-align:left;" | <tt>CROSSMIDBRAIN</tt>
| n || Col lesion test, keep only the tubes across midbrain || 0
|-
! style="text-align:left;" | <tt>MIDBRAIN</tt>
| n n n || Definition of midbrain || 0 45 45
|-
! style="text-align:left;" | <tt>FASAMPLING</tt>
| n || sample according to FA || 0
|-
! colspan=4 | Multicompartment Input Files
|-
! style="text-align:left;" | <tt>MC</tt>
| n || Multicompartment || 0
|-
! style="text-align:left;" | <tt>dt1</tt>
| str || First diffusion tensor image path in multi compartemnt model || /u/sz/diffusion/data/susumu/mri/Diff
|-
! style="text-align:left;" | <tt>dt2</tt>
| str || Second diffusion tensor image path in multi compartment model || /u/sz/diffusion/data/susumu/mri/Diff
|-
! colspan=4 | Multicompartment Statistical Options
|-
! style="text-align:left;" | <tt>chi1</tt>
| str || chisqr for single compartemnt model || /u/sz/diffusion/data/susumu/mri/Diff
|-
! style="text-align:left;" | <tt>chi2</tt>
| str || chisqr multi compartemnt model || /u/sz/diffusion/data/susumu/mri/Diff
|}


== Output Files ==
== Output Files ==
Line 267: Line 114:
* [[Diffusion Processing Pipeline]]
* [[Diffusion Processing Pipeline]]
* [[Brainapp]]
* [[Brainapp]]
[[Category:Diffusion MRI]]
[[Category:Software]]

Revision as of 05:39, 11 February 2009

tubegen is a program that generates "streamtubes" from a tensor field. We define streamtubes as integral paths in the interpolated field of principle eigenvectors of the diffusion tensors. Many of our studies with clinical neuroscience collaborators use streamtubes as a proxy for axon tracts in the brain's white matter and involve computing measures over the streamtubes. We also do HCI and visualization research motivated by the fundamental difficulties of interacting with a complex jumble of tubes.

We use this program extensively in the diffusion MRI project and it is generally run at the end of the diffusion processing pipeline.

Technical Details

We use 2nd-order Runge-Kutta numerical integration with tricubic b-spline interpolation of the principle eigenvectors; the citation we've used for this process is:

Peter J. Basser, Sinisa Pajevic, Carlo Pierpaoli, Jeffrey Duda, and Akram Aldroubi. In vivo fiber tractography using DT-MRI data. Magnetic Resonance in Medicine, 44:625632, 2000. (PDF)

Once you've generated a bunch of streamtubes, it makes sense to remove some so that you get a visually or statistically representative set. The full streamtube process, including termination conditions, culling, and terminology, is described in Song's 2003 TVCG article .

tubegen may be found in $G/bin/tubegen. It generates a *.sm file, which brainapp reads in order to visualize and interact with the streamtubes.

Command-Line Arguments

Common Arguments

arg params description defaults
Input Files
dt str Diffusion tensor image path /u/sz/diffusion/data/susumu/mri/Diff
t2 str T2-weighted image path /u/sz/diffusion/data/susumu/mri/T2
FA str Fractional Anisotropy image ./d2mem/FA
Output Files
out str output sm file /map/gfx0/common0/diffusion/Interface/bin/tubegen/1.sm
Integration
ODE n ode method, 0:rk2, 1:rk4 0
cs n Max tube length 20
seed f f f Number of seed points to place in each voxel along each dimension (i.e. 1 1 1 generates one streamtube per voxel; 10 10 5 generates 500 streamtubes per voxel) 10.0 10.0 5.0
stepsize f Stepsize in mm 1.0
radius f streamtube radius 1.0
al f Low threshold for linear anisotropy 0.1
dth f Low threshold on distances in mm 0.5
t2thresh f t2 low threshold -1.0
Longshort n For integration, start from long one? (1) or short one(0), or longest of the two (2), or mean of the two (3) 0
Culling
cl f Min Average Linear Anisotropy 0.3
cd f Min Distance between tubes in mm 2.0

Obscure Arguments

To keep this page from getting cluttered, the table of obscure arguments is on a sub-page. Please see /Obscure Arguments for this table.

Output Files

In addition to the .sm file that you specify with the "out" argument, tubegen also generates corresponding .data, .info, .nocr, .size, and .wrl files in the same directory as the specified output.

It sure would be nice to know what all of them are and how they're structured...

streamtube Library

$G/src/streamtube/streamtube is where the top-level streamtube library lives. This depends on a bunch of helper libraries located in the directories above there with bullshit names like "magnetite" and "fibrolite".

Publications

See Also