SuperEllipseTrace3D
(→Software Usage) |
|||
Line 137: | Line 137: | ||
==Traversing Vessels Using Superellipsoid == | ==Traversing Vessels Using Superellipsoid == | ||
− | [[Image:seTraversal.png |thumb| | + | [[Image:seTraversal.png |thumb|250px|'''Figure3''': Illustrating vessel traversal. Figure shows a sequence of |
superellipsoidal fits denoted <math>k</math>, <math>k+1</math>, and <math>k+2</math> superimposed | superellipsoidal fits denoted <math>k</math>, <math>k+1</math>, and <math>k+2</math> superimposed | ||
on a vessel. Note that the traversal is directed using the local | on a vessel. Note that the traversal is directed using the local | ||
Line 154: | Line 154: | ||
*** select next seed point | *** select next seed point | ||
+ | : | ||
+ | :: | ||
+ | :: | ||
+ | :: | ||
Shown in Figure 4 is an example of the algorithm run on a sample dataset. | Shown in Figure 4 is an example of the algorithm run on a sample dataset. | ||
− | [[Image:SeTraceExample.png |thumb|1200px|'''Figure4''': (Left) shows a typical vascular network (middle) shows the loci of the superellipsoid traversal (right) shows the traces inside the volume rendered image. | | + | [[Image:SeTraceExample.png |thumb|1200px|'''Figure4''': (Left) shows a typical vascular network (middle) shows the loci of the superellipsoid traversal (right) shows the traces inside the volume rendered image. |left]] |
==Software Usage== | ==Software Usage== | ||
Line 168: | Line 172: | ||
:Grid spacing (default = 10 pixels) indicates the spacing between seed points detected in step 1. For a dense network this parameter value should be between 10 and 20, for a sparse network this parameter value can be upto 50 or 70. | :Grid spacing (default = 10 pixels) indicates the spacing between seed points detected in step 1. For a dense network this parameter value should be between 10 and 20, for a sparse network this parameter value can be upto 50 or 70. | ||
:Aspect Ratio (default = 2) This the ratio of maximum allowable deformation between the largest cross section and the axial dimension of the superellipsoid. This parameter value can be between 1.5 and 3. | :Aspect Ratio (default = 2) This the ratio of maximum allowable deformation between the largest cross section and the axial dimension of the superellipsoid. This parameter value can be between 1.5 and 3. | ||
+ | |||
+ | |||
+ | ==Output file format== | ||
+ | The output of the program is an XML file that specifies all the parameters of the fitted sulerellipses. Shown below is a part of the example output format. | ||
+ | |||
+ | <Superellipse ID="14833" TraceID="281" x="671.236607" y="258.665645" z="55.322431" a1="1.500000" a2="2.107491" a3="2.845113" q1="-0.682081" q2="0.200321" q3="0.694309" q4="0.112129" R11="0.010725" R12="0.125207" R13="0.992073" R21="0.431131" R22="0.894597" R23="-0.117565" R31="-0.902226" R32="0.428974" R33="-0.044386" Foregd="138.551697" Backgd="227.786545" Lhood="54.602578" MAD="25.525795"> | ||
+ | <Neighbor ID="14822" /> | ||
+ | <Neighbor ID="14834" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14821" TraceID="280" x="417.143258" y="435.645435" z="78.504042" a1="2.189383" a2="1.749069" a3="2.955666" q1="-0.617721" q2="0.242719" q3="0.727338" q4="0.174606" R11="-0.119016" R12="0.137361" R13="0.983345" R21="0.568793" R22="0.821201" R23="-0.045870" R31="-0.813824" R32="0.553860" R33="-0.175866" Foregd="17.251381" Backgd="231.372803" Lhood="16.683522" MAD="17.251381"> | ||
+ | <Neighbor ID="14820" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14820" TraceID="280" x="417.952850" y="435.050351" z="78.545288" a1="1.987939" a2="1.753001" a3="2.683718" q1="-0.608678" q2="0.271051" q3="0.725821" q4="0.170958" R11="-0.112085" R12="0.185352" R13="0.976259" R21="0.601585" R22="0.794610" R23="-0.081796" R31="-0.790906" R32="0.578135" R33="-0.200569" Foregd="32.018375" Backgd="230.739944" Lhood="18.919477" MAD="32.018375"> | ||
+ | <Neighbor ID="14819" /> | ||
+ | <Neighbor ID="14821" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14819" TraceID="280" x="418.700285" y="434.493639" z="78.595554" a1="1.850514" a2="1.848743" a3="2.498194" q1="-0.626554" q2="0.269445" q3="0.712833" q4="0.163395" R11="-0.069658" R12="0.179387" R13="0.981309" R21="0.588889" R22="0.801404" R23="-0.104697" R31="-0.805206" R32="0.570590" R33="-0.161463" Foregd="0.000000" Backgd="230.318024" Lhood="4.357347" MAD="7.383499"> | ||
+ | <Neighbor ID="14818" /> | ||
+ | <Neighbor ID="14820" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14818" TraceID="280" x="419.480872" y="433.934260" z="78.622114" a1="1.643896" a2="1.915647" a3="2.586124" q1="-0.665986" q2="0.233165" q3="0.690540" q4="0.158906" R11="-0.004193" R12="0.110362" R13="0.993883" R21="0.533678" R22="0.840766" R23="-0.091108" R31="-0.845678" R32="0.530031" R33="-0.062423" Foregd="0.000000" Backgd="229.685150" Lhood="48.524195" MAD="7.805420"> | ||
+ | <Neighbor ID="14817" /> | ||
+ | <Neighbor ID="14819" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14817" TraceID="280" x="420.319270" y="433.434016" z="78.606841" a1="1.504651" a2="1.951233" a3="2.634164" q1="-0.685737" q2="0.196658" q3="0.682080" q4="0.160804" R11="0.017818" R12="0.047734" R13="0.998701" R21="0.488812" R22="0.870935" R23="-0.050349" R31="-0.872207" R32="0.489074" R33="-0.007814" Foregd="0.000000" Backgd="229.474197" Lhood="47.535577" MAD="7.805405"> | ||
+ | <Neighbor ID="14816" /> | ||
+ | <Neighbor ID="14818" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14816" TraceID="280" x="421.179063" y="432.956243" z="78.617224" a1="1.500000" a2="1.967357" a3="2.655932" q1="-0.680289" q2="0.187983" q3="0.687879" q4="0.169386" R11="-0.003739" R12="0.028157" R13="0.999597" R21="0.489081" R22="0.871942" R23="-0.022732" R31="-0.872230" R32="0.488799" R33="-0.017031" Foregd="0.000000" Backgd="228.841324" Lhood="72.747855" MAD="8.227325"> | ||
+ | <Neighbor ID="14813" /> | ||
+ | <Neighbor ID="14817" /> | ||
+ | </Superellipse> | ||
+ | <Superellipse ID="14812" TraceID="279" x="432.547160" y="1.497019" z="74.751805" a1="1.550276" a2="4.139033" a3="5.443840" q1="-0.570902" q2="-0.553356" q3="0.461459" q4="0.393604" R11="0.264262" R12="-0.960121" R13="0.091289" R21="-0.061284" R22="0.077746" R23="0.995088" R31="-0.962502" R32="-0.268559" R33="-0.038294" Foregd="159.858368" Backgd="235.802917" Lhood="27.702167" MAD="24.892929"> | ||
+ | <Neighbor ID="14811" /> | ||
+ | </Superellipse> | ||
+ | |||
+ | This output can be converted into a tree-structure (assuming the roots are known). We use SWC file convention to output the tree. An example of SWC file format is shown below. | ||
+ | |||
+ | # File generated by Superellipse to SWC converter | ||
+ | 1 10 585.426 269.557 32.093 4.9308 -1 | ||
+ | 2 10 587.979 269.277 32.8993 4.77079 1 | ||
+ | 3 10 590.516 268.991 33.6324 4.66546 2 | ||
+ | 4 10 593.03 268.721 34.334 4.64644 3 | ||
+ | 5 10 595.484 268.467 35.0942 4.59934 4 | ||
+ | 6 10 598.004 268.399 35.7682 4.66422 5 | ||
+ | 7 10 600.506 268.38 36.4113 4.65517 6 | ||
+ | 8 10 602.984 268.313 37.0774 4.65367 7 | ||
+ | 9 10 605.467 268.125 37.7475 4.70399 8 | ||
+ | |||
==References== | ==References== |
Revision as of 13:02, 13 May 2009
This page presents automated methods for robust modeling and analysis of 3-D vascular images using a cylindroidal superellipsoid to model localized segments of vasculature[1]. The proposed vessel model has an explicit, low-order parameterization, allowing for joint estimation of boundary and centerline information, thereby approximating the medial axis of tubular structures. Further, this explicit parameterization provides a geometric framework for traversing vessels in a directed manner. Topological information like branch point location and connectivity can also be detected as a side effect. An M-estimators provide robust region-based statistics that are used to drive the superellipsoid toward a vessel boundary. The proposed methodology behaves quite well across scale-space, shows a high degree of insensitivity to adjacent structures and implicitly handles branching.
Contents |
Local vascular modelling using Superellipsoid
The superellipsoid provides the basis for a simple shape model that describes localized vessel segments. It has an explicit low-order parameterization relating directly to the local pose of a vessel segment. Using this geometric information, it is straightforward to traverse entire vascular networks.Also, since the superellipsoid model furnishes joint estimates of the boundary and centerpoint of a vessel, the resulting traversal approximates the medial axis of each vessel in the vasculature. Another key advantage when using the superellipsoid model is that its local nature allows us to adapt vessel intensity estimates across different regions of the vasculature. Also, since the superellipsoid model furnishes joint estimates of the boundary and centerpoint of a vessel, the resulting traversal approximates the medial axis of each vessel in the vasculature.
Vascular local shape modelling using superellipsoid
Superellipsoids are geometric modeling primitives first introduced
in early computer vision literature [2]. Superellipsoids are expressed implicitly as:
where the parameters ε = (ε1,ε2) control the shape of the superellipsoid. To understand the role of the shape parameters, first note that with ε1 = ε2 = 1 equation of superellipsoid is simply an ellipsoid. With ε1 < = 1 and ε2 = 1 the superellipsoid becomes a cylindroid, i.e., the implicit surface bounds a convex region, where for constant z, the 2-D level curves are elliptical. Setting ε1,ε2 to other values produces a variety of shapes including cuboids and pinched cuboids [2]. Since the goal in this work is to find an approximation to an elliptical cylinder, we will restrict our focus to cylindroidal forms. This means that ε2 in equation is set to unity.
Starting with a set of points in the set
(ε
is fixed), a transformation given by
can be performed. This transformation preserves orthogonality of
the local coordinate frame while allowing for anisotropic scaling.
The action of is to first scale by
, which is a matrix with
scale parameters
on the
diagonal. Then, a rotation is performed via the matrix
with three degrees of freedom that is
parameterized by φ. Finally, a shift via
is performed.
This transformation leads to a new superellipsoid defined by the
set having 10 degrees of freedom in 3D,
,
where,
Robust Vascular Intensity model
When estimating the background, the main challenge is to deal with the fact that the image data invariably contains vessel, background clutter, and uncorrelated noise. Taken as a whole, the resulting image data is a mixture of various components. Finding the single component corresponding to the background region can be difficult.
This is especially true since the actual background voxels may not be a majority population in the mixture. This often happens when a small vessel is adjacent to a very large one. Hence, the median may no longer be a good choice. The real problem in this case is that when estimating the background one must deal with pseudo-outliers, i.e., data that appears as an outlier to the current process but might be an inlier to another process. For example an adjacent vessel appears as an outlier when estimating the local background intensity. However, the data is actually an inlier to the adjacent vessel.
To deal with these outliers, we propose the skipped median which simply restricts the support of the signum function of the M-Estimator, thereby excluding very large residuals from the intensity estimate. The corresponding psi-function is given by:
where the cutoff value is chosen as .
When estimating the superellipsoid model parameters we will assume
that a vessel segment consists of two piece-wise constant regions
with intensities denoted IF for foreground and IB for
background and that the vessel boundary separating these regions
is well-modeled by a superellipsoid. The local vessel intensities are modeled using a homogeneous
grayscale appearance model as
where is the full parameter set of the superellipsoid vessel model. This includes the intensity parameters that describe the foreground and background intensities respectively, as well as the underlying parameters of the superellipsoid shape model, i.e., . The notation denotes an indicator function that evaluates to one on the set specified in the subscript and is zero elsewhere.
The strategy for maximizing equation is to alternate between estimating the intensity parameters and then updating the
boundary using a gradient search. The following two subsections will detail each step.
Generalized likelihood ratio test
Consider the image data with discrete domain and the hypothesis pair:
Here, H0 is the hypothesis that the image data is from the background process centered at IB and corrupted by independent identically distributed (i.i.d) noise denoted N with marginal distribution f. The alternative, H1, is the hypothesis that the image data contains a vessel that is well-modeled by the superellipsoid model given in equation.
Traversing Vessels Using Superellipsoid
The algorithm for traversing entire vascular networks using the local superellipsoid model is given as follows
- Extract a set of candidate seeds
- for each seed point
- Fit an initial superellipsoid
- Traverse the vessel in the forward direction by shifting the model center in the direction of the major axis;
- Refine the parameter estimates from the previous step;
- When the forward traversal terminates, restart the procedure in the reverse direction.
- select next seed point
Shown in Figure 4 is an example of the algorithm run on a sample dataset.
Software Usage
Use the trace 3D package from Farsight and type the following in command line
Trace3D.exe [ImageFileName] [GridSpacing] [Aspect Ratio]
where
- ImageFileName should the name of the file containing the 3D image (like tif, pic, lsm)
- Grid spacing (default = 10 pixels) indicates the spacing between seed points detected in step 1. For a dense network this parameter value should be between 10 and 20, for a sparse network this parameter value can be upto 50 or 70.
- Aspect Ratio (default = 2) This the ratio of maximum allowable deformation between the largest cross section and the axial dimension of the superellipsoid. This parameter value can be between 1.5 and 3.
Output file format
The output of the program is an XML file that specifies all the parameters of the fitted sulerellipses. Shown below is a part of the example output format.
<Superellipse ID="14833" TraceID="281" x="671.236607" y="258.665645" z="55.322431" a1="1.500000" a2="2.107491" a3="2.845113" q1="-0.682081" q2="0.200321" q3="0.694309" q4="0.112129" R11="0.010725" R12="0.125207" R13="0.992073" R21="0.431131" R22="0.894597" R23="-0.117565" R31="-0.902226" R32="0.428974" R33="-0.044386" Foregd="138.551697" Backgd="227.786545" Lhood="54.602578" MAD="25.525795"> <Neighbor ID="14822" /> <Neighbor ID="14834" /> </Superellipse> <Superellipse ID="14821" TraceID="280" x="417.143258" y="435.645435" z="78.504042" a1="2.189383" a2="1.749069" a3="2.955666" q1="-0.617721" q2="0.242719" q3="0.727338" q4="0.174606" R11="-0.119016" R12="0.137361" R13="0.983345" R21="0.568793" R22="0.821201" R23="-0.045870" R31="-0.813824" R32="0.553860" R33="-0.175866" Foregd="17.251381" Backgd="231.372803" Lhood="16.683522" MAD="17.251381"> <Neighbor ID="14820" /> </Superellipse> <Superellipse ID="14820" TraceID="280" x="417.952850" y="435.050351" z="78.545288" a1="1.987939" a2="1.753001" a3="2.683718" q1="-0.608678" q2="0.271051" q3="0.725821" q4="0.170958" R11="-0.112085" R12="0.185352" R13="0.976259" R21="0.601585" R22="0.794610" R23="-0.081796" R31="-0.790906" R32="0.578135" R33="-0.200569" Foregd="32.018375" Backgd="230.739944" Lhood="18.919477" MAD="32.018375"> <Neighbor ID="14819" /> <Neighbor ID="14821" /> </Superellipse> <Superellipse ID="14819" TraceID="280" x="418.700285" y="434.493639" z="78.595554" a1="1.850514" a2="1.848743" a3="2.498194" q1="-0.626554" q2="0.269445" q3="0.712833" q4="0.163395" R11="-0.069658" R12="0.179387" R13="0.981309" R21="0.588889" R22="0.801404" R23="-0.104697" R31="-0.805206" R32="0.570590" R33="-0.161463" Foregd="0.000000" Backgd="230.318024" Lhood="4.357347" MAD="7.383499"> <Neighbor ID="14818" /> <Neighbor ID="14820" /> </Superellipse> <Superellipse ID="14818" TraceID="280" x="419.480872" y="433.934260" z="78.622114" a1="1.643896" a2="1.915647" a3="2.586124" q1="-0.665986" q2="0.233165" q3="0.690540" q4="0.158906" R11="-0.004193" R12="0.110362" R13="0.993883" R21="0.533678" R22="0.840766" R23="-0.091108" R31="-0.845678" R32="0.530031" R33="-0.062423" Foregd="0.000000" Backgd="229.685150" Lhood="48.524195" MAD="7.805420"> <Neighbor ID="14817" /> <Neighbor ID="14819" /> </Superellipse> <Superellipse ID="14817" TraceID="280" x="420.319270" y="433.434016" z="78.606841" a1="1.504651" a2="1.951233" a3="2.634164" q1="-0.685737" q2="0.196658" q3="0.682080" q4="0.160804" R11="0.017818" R12="0.047734" R13="0.998701" R21="0.488812" R22="0.870935" R23="-0.050349" R31="-0.872207" R32="0.489074" R33="-0.007814" Foregd="0.000000" Backgd="229.474197" Lhood="47.535577" MAD="7.805405"> <Neighbor ID="14816" /> <Neighbor ID="14818" /> </Superellipse> <Superellipse ID="14816" TraceID="280" x="421.179063" y="432.956243" z="78.617224" a1="1.500000" a2="1.967357" a3="2.655932" q1="-0.680289" q2="0.187983" q3="0.687879" q4="0.169386" R11="-0.003739" R12="0.028157" R13="0.999597" R21="0.489081" R22="0.871942" R23="-0.022732" R31="-0.872230" R32="0.488799" R33="-0.017031" Foregd="0.000000" Backgd="228.841324" Lhood="72.747855" MAD="8.227325"> <Neighbor ID="14813" /> <Neighbor ID="14817" /> </Superellipse> <Superellipse ID="14812" TraceID="279" x="432.547160" y="1.497019" z="74.751805" a1="1.550276" a2="4.139033" a3="5.443840" q1="-0.570902" q2="-0.553356" q3="0.461459" q4="0.393604" R11="0.264262" R12="-0.960121" R13="0.091289" R21="-0.061284" R22="0.077746" R23="0.995088" R31="-0.962502" R32="-0.268559" R33="-0.038294" Foregd="159.858368" Backgd="235.802917" Lhood="27.702167" MAD="24.892929"> <Neighbor ID="14811" /> </Superellipse>
This output can be converted into a tree-structure (assuming the roots are known). We use SWC file convention to output the tree. An example of SWC file format is shown below.
# File generated by Superellipse to SWC converter 1 10 585.426 269.557 32.093 4.9308 -1 2 10 587.979 269.277 32.8993 4.77079 1 3 10 590.516 268.991 33.6324 4.66546 2 4 10 593.03 268.721 34.334 4.64644 3 5 10 595.484 268.467 35.0942 4.59934 4 6 10 598.004 268.399 35.7682 4.66422 5 7 10 600.506 268.38 36.4113 4.65517 6 8 10 602.984 268.313 37.0774 4.65367 7 9 10 605.467 268.125 37.7475 4.70399 8
References
[1] James Alexander Tyrrell, Emmanuelle di Tomaso, Danel Fuja, Ricky Tong, Kevin Kozak, Edward B. Brown, Rakesh Jain, Badrinath Roysam, “Robust 3-D Modeling of Vasculature Imagery Using Superellipsoids,” vol. 26, no. 2, pp. 223-237, IEEE Transactions on Medical Imaging, Feb 2007.
[2] Barr, A.H., "Superquadrics and Angle-Preserving Transformations," IEEE Computer Graphics and Applications, 1(1), pp. 11-23, 1981.
[3] K. Al-Kofahi, S. Lasek, D. Szarowski, C. Pace, G. Nagy, J. N.Turner, and B. Roysam, "Rapid automated three-dimensional tracing of neurons from confocal image stacks," IEEE Transactions on Information and Technology in Biomedicine, 6(2), pp. 171-187, 2002.