[Insight-users] ShapePriorMAPCostFunction and GeodesicActiveContourShapePriorLevelSetImageFilter
Lucas Lorenzo
lucas at cvrti.utah.edu
Mon, 12 Jan 2004 16:26:56 -0700
--Apple-Mail-15--993947033
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
delsp=yes;
charset=WINDOWS-1252;
format=flowed
Hi Lydia,
thanks a lot for your answer.
It is much more clear now so I'll keep going on with my application.
Regards,
Lucas
On Monday, January 12, 2004, at 12:46 PM, Lydia Ng wrote:
> Hi Lucas,
>
> =A0
>
> I=92ve just updated/fixed =A0the documentation of=A0
>
> PCAShapeSignedDistanceFunction which will help towards answering your =20=
> questions:
>
> =A0
>
> /** \class PCAShapeSignedDistanceFunction
>
> =A0* \brief Compute the signed distance from a N-dimensional PCA =
Shape.
>
> =A0*
>
> =A0* This class computes the signed distance from a N-dimensional =
shape =20
> defined
>
> =A0* by:
>
> =A0* (1) a mean signed distance image \f$ M(x) \f$,
>
> =A0* (2) the first \f$ q \f$ principal components images
>
> =A0* \f$ P_i(x) \f$ and
>
> =A0* (3) a transform \f$ T(x) \f$ to define the pose
>
> =A0* (i.e. position or orientation of the shape).
>
> =A0*
>
> =A0* A particular instance of the shape is defined by a set of =20
> parameters \f$ p \f$.
>
> =A0* The first \f$ q \f$ parameters defines the weights applied to =
each =20
> principal components
>
> =A0* and the remaining parameters is used to define the transform. The =
=20
> user
>
> =A0* should refer to the documentation of the particular Transform =
class =20
> being used.
>
> =A0* The first set of parameters are called the ShapeParameters and =
the =20
> remaining
>
> =A0* parameters the PoseParameters.
>
> =A0*
>
> =A0* The method Evaluate( point x ) returns the approximate signed to =
the
>
> =A0* shape at point x such that:
>
> =A0*
>
> =A0* \f[ s =3D M(T(x)) + \sum_i^{q} p[i] * \sigma[i] * P_i(T(x)) \f]
>
> =A0*
>
> =A0* Where \sigma[i] are the square root of the eigenvalues. These are =
=20
> defined using
>
> =A0* method SetPrincipalComponentStandardDeviations().
>
> =A0*
>
> =A0* This class is templated over the coordinate representation type
>
> =A0* (e.g. float or double) and the space dimension.
>
> =A0*
>
> =A0* \sa ShapeSignedDistanceFunction
>
> =A0* \sa Transform
>
> =A0* \ingroup ImageFunctions
>
> =A0*
>
> =A0* */
>
> =A0
>
> If you are using PCA to define your shape.
>
> You should connect the mean image and principal components images to =20=
> the
>
> PCASignedDistancedFunction and set the square root of the
>
> eigenvalues as the PrincipalComponentStandardDeviations.
>
> =A0
>
> --------------------------------------
>
> Answer to Question (1)
>
> Since, the eigenvalues are already taken care of in the =20
> PCASignedDistanceFunction.
>
> In the ShapePriorMAPCostFunction you should
>
> SetShapeParametersMeans() to all zeros (of the length =3D number of =20=
> principal components used) and
>
> SetShapeParametersStandardDeviationsto all ones (length =3D num =20
> principal. Comp.).
>
> =A0
>
> -----------------------------------
>
> Answer to Question (3)
>
> As described above, the transform is used to define the pose of your =20=
> shape.
>
> In general the PCA will describes variations in your shape
>
> e.g. in Leventon=92s paper he shows an example that captures the =20
> variation scale, bending and curvature of the corpus callosum.
>
> The cost function restricts large variation of this model.
>
> However, he does not restrict the position of the shape =96 which he =20=
> assumes a uniform distribution.
>
> =A0
>
> In this implementation, the transform captures the =20
> position/orientation of the shape. Any type of transform can be use > =
e.g
>
> translationor rigid.
>
> =A0
>
> ----------------------------------------
>
> Answer to Question (2)
>
> filter->SetInitialParameters( parameters );
>
> =A0
>
> This set the initial parameters applied to the shape function =20
> component of the filter.
>
> For example, if I am using 3 principal components and a translation =20=
> transform and I want to start off with the mean shape and physical =20
> location (40.0, 50.0)
>
> Then I should set the initial parameters to:
>
> =A0
>
> parameters[0] =3D 0.0;=A0// weight applied to principal component 0
>
> parameters[1] =3D 0.0; // weight applied to principal component 1
>
> parameters[2] =3D 0.0; // weight applied to principal component 2
>
> parameters[3] =3D 40.0;
>
> parameters[4] =3D 50.0;
>
> =A0
>
> ----------------------------------------
>
> Does this help?
>
> =A0
>
> -Lydia
>
> =A0
>
> =A0
>
> =A0
>
> -----Original Message-----
> From: Lucas Lorenzo [mailto:lucas at cvrti.utah.edu]
> Sent:Friday, January 09, 20049:31 AM
> To: Insight-users at itk.org
> Subject: [Insight-users] ShapePriorMAPCostFunction and =20
> GeodesicActiveContourShapePriorLevelSetImageFilter
>
> =A0
>
> Hi all,
>
> =A0
>
> I'm using ShapePriorMAPCostFunction and =20
> GeodesicActiveContourShapePriorLevelSetImageFilter based on the test =20=
> ITK/Testing/Code/Algorithms/=20
> itkGeodesicActiveContourShapePriorLevelSetImageFilterTest_2.cxx
>
> So, I have three questions:
>
> =A0
>
> 1) when using ShapePriorMAPCostFunction what do SetShapeParameterMeans =
=20
> and SetShapeParameterStandardDeviations represent. In my case I'm =20
> working with 5 principal components so my understanding is that each =20=
> of the arrays passed to both of these methods will be of length 5, but =
=20
> I can't understand where should I get these values from.
>
> =A0
>
> 2) In the test file mentioned before an object (called filter) of =20
> class GeodesicActiveContourShapePriorLevelSetImageFilter is defined. =20=
> At a certain point an array (called parameters) of type ParametersType =
=20
> is defined and then the following member function is called
>
> =A0
>
> filter->SetInitialParameters( parameters );
>
> =A0
>
> I couldn't find the SetInitialParameters member function within the =20=
> list of all members of =20
> GeodesicActiveContourShapePriorLevelSetImageFilter. So my doubt is =20
> what should be loaded into parameters ?
>
> =A0
>
> 3) Finally, the following is done:
>
> =A0
>
> // Set up a translation transform
>
> //
>
> typedef itk::TranslationTransform<double,ImageDimension> =
TransformType;
>
> TransformType::Pointer transform =3D TransformType::New();
>
> and then the transform is passed to the object shape of class =20
> PCAShapeSignedDistanceFunction
>
> =A0
>
> shape->SetTransform( transform );
>
> =A0
>
> What is this transform used for ?
>
> =A0
>
> Sorry for asking all these questions. I feel that most of them have =20=
> more to do with the algorithm being implemented rather than ITK itself =
=20
> but when reading the reference paper many of these details are > =
missing.
>
> Cheers,
>
> =A0
>
> Lucas Lorenzo
>
> =A0
>
> University of Utah
>
> Nora Eccles Harrison CardioVascular Research and Training Institute
>
> Fellows Room
>
> 95 South 2000 East
>
> Salt Lake City, UT 84112-5000
>
> =A0
>
> e-mail: lucas at cvrti.utah.edu
>
>
Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
--Apple-Mail-15--993947033
Content-Transfer-Encoding: quoted-printable
Content-Type: text/enriched;
charset=WINDOWS-1252
Hi Lydia,
thanks a lot for your answer.=20
It is much more clear now so I'll keep going on with my application.
Regards,
Lucas
On Monday, January 12, 2004, at 12:46 PM, Lydia Ng wrote:
<excerpt><fixed><fontfamily><param>Courier New</param><smaller>Hi
Lucas,</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>I=92ve just
updated/fixed =A0the documentation of=A0</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>PCAShapeSignedDistanceFunction</smaller></fontfamily><=
/fixed>
which will help towards answering your questions:
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>/** \class
PCAShapeSignedDistanceFunction</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* \brief
Compute the signed distance from a N-dimensional PCA =
Shape.</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0*</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* This class
computes the signed distance from a N-dimensional shape =
defined</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* =
by:</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* (1) a mean
signed distance image \f$ M(x) \f$, </smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* (2) the first
\f$ q \f$ principal components images </smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* \f$ P_i(x)
\f$ and </smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* (3) a
transform \f$ T(x) \f$ to define the pose =
</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* (i.e.
position or orientation of the shape).</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0*</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* A particular
instance of the shape is defined by a set of parameters \f$ p \f$. =
</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* The first \f$
q \f$ parameters defines the weights applied to each principal
components </smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* and the
remaining parameters is used to define the transform. The =
user</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* should refer
to the documentation of the particular Transform class being =
used.</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* The first set
of parameters are called the ShapeParameters and the =
remaining</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* parameters
the PoseParameters.</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0*</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* The method
Evaluate( point x ) returns the approximate signed to the =
</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* shape at
point x such that:</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0*</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* \f[ s =3D
M(T(x)) + \sum_i^{q} p[i] * \sigma[i] * P_i(T(x)) =
\f]</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* =
</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* Where
\sigma[i] are the square root of the eigenvalues. These are defined
using</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* method
=
SetPrincipalComponentStandardDeviations().</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0*</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* This class is
templated over the coordinate representation type =
</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* (e.g. float
or double) and the space dimension.</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0*</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* \sa
ShapeSignedDistanceFunction</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* \sa =
Transform</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* \ingroup
ImageFunctions</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* =
</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>=A0* =
*/</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>=A0</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier New</param><smaller>If you are using
PCA to define your shape.</smaller></fontfamily></fixed>=20
<fixed><fontfamily><param>Courier New</param><smaller>You should
connect the mean image and principal components images to =
the</smaller></fontfamily></fixed>
<fixed><fontfamily><param>Courier =
New</param><smaller>PCASignedDistancedFunction</smaller></fontfamily></fix=
ed>
and set the square root of the=20
<fixed><fontfamily><param>Courier =
New</param><smaller>eigenvalues</smaller></fontfamily></fixed>
as the PrincipalComponentStandardDeviations.
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>--------------------------------------</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>Answer
to Question (1)</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>Since,
the eigenvalues are already taken care of in the
PCASignedDistanceFunction.</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>In
the ShapePriorMAPCostFunction you should </smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>SetShapeParametersMeans</smaller>()
to all zeros (of the length =3D number of principal components used) =
and</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>SetShapeParametersStandardDeviations</smaller>to
all ones (length =3D num principal. Comp.).</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>-----------------------------------</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>Answer
to Question (3)</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>As
described above, the transform is used to define the pose of your
shape. </smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>In
general the PCA will describes variations in your shape =
</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>e.g</smaller>.
in Leventon=92s paper he shows an example that captures the variation
scale, bending and curvature of the corpus =
callosum.</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>The
cost function restricts large variation of this =
model.</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>However,
he does not restrict the position of the shape =96 which he assumes a
uniform distribution.</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>In
this implementation, the transform captures the position/orientation
of the shape. Any type of transform can be use =
e.g</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>translation</smaller>or
rigid. </color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>----------------------------------------</smaller></color></fontfamily>=
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>Answer
to Question (2)</smaller></color></fontfamily>
<fixed><fontfamily><param>Courier =
New</param><smaller>filter</smaller></fontfamily></fixed>->SetInitialParam=
eters(
parameters );
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>This
set the initial parameters applied to the shape function component of
the filter. </smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>For
example, if I am using 3 principal components and a translation
transform and I want to start off with the mean shape and physical
location (40.0, 50.0)</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>Then
I should set the initial parameters to:</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>parameters[</smaller>0]
=3D 0.0;=A0// weight applied to principal component =
0</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>parameters[</smaller>1]
=3D 0.0; // weight applied to principal component 1</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>parameters[</smaller>2]
=3D 0.0; // weight applied to principal component 2</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>parameters[</smaller>3]
=3D 40.0;</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>parameters[</smaller>4]
=3D 50.0;</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>----------------------------------------</smaller></color></fontfamily>=
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>Does
this help?</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>-</smaller>Lydia</color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
=
<fontfamily><param>Arial</param><color><param>0000,0000,8080</param><small=
er>=A0</smaller></color></fontfamily>
<fontfamily><param>Tahoma</param><smaller>-----Original Message-----
<bold>From:</bold> Lucas Lorenzo [mailto:lucas at cvrti.utah.edu]
<bold>Sent:</bold>Friday, January 09, 20049:31 AM
<bold>To:</bold> Insight-users at itk.org
<bold>Subject:</bold> [Insight-users] ShapePriorMAPCostFunction and
=
GeodesicActiveContourShapePriorLevelSetImageFilter</smaller></fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>Hi all, </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>I'm using
ShapePriorMAPCostFunction and
GeodesicActiveContourShapePriorLevelSetImageFilter based on the test
=
ITK/Testing/Code/Algorithms/itkGeodesicActiveContourShapePriorLevelSetImag=
eFilterTest_2.cxx </fontfamily>
<fontfamily><param>Times New Roman</param>So, I have three questions: =
</fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>1) when using
ShapePriorMAPCostFunction what do SetShapeParameterMeans and
=
<color><param>0000,0000,0000</param>SetShapeParameterStandardDeviations</c=
olor>
represent. In my case I'm working with 5 principal components so my
understanding is that each of the arrays passed to both of these
methods will be of length 5, but I can't understand where should I get
these values from. </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>2) In the test file
mentioned before an object (called filter) of class
GeodesicActiveContourShapePriorLevelSetImageFilter is defined. At a
certain point an array (called parameters) of type ParametersType is
defined and then the following member function is called </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>filter->SetInitialParameters(
parameters ); </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>I couldn't find the
SetInitialParameters member function within the list of all members of
GeodesicActiveContourShapePriorLevelSetImageFilter. So my doubt is
what should be loaded into parameters ? </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>3) Finally, the following is
done: </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>// Set up a translation
transform </fontfamily>
<fontfamily><param>Times New Roman</param>// </fontfamily>
<fontfamily><param>Times New Roman</param>typedef
itk::TranslationTransform<<double,ImageDimension> TransformType; =
</fontfamily>
<fontfamily><param>Times New Roman</param>TransformType::Pointer
transform =3D TransformType::New(); </fontfamily>
<fontfamily><param>Times New Roman</param>and then the transform is
passed to the object shape of class PCAShapeSignedDistanceFunction =
</fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>shape->SetTransform(
transform ); </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>What is this transform used
for ? </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>Sorry for asking all these
questions. I feel that most of them have more to do with the algorithm
being implemented rather than ITK itself but when reading the
reference paper many of these details are missing. </fontfamily>
<fontfamily><param>Times New Roman</param>Cheers, </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>Lucas Lorenzo </fontfamily>
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>University</fontfamily> of
Utah=20
<fontfamily><param>Times New Roman</param>Nora Eccles Harrison
CardioVascular Research and Training Institute </fontfamily>
<fontfamily><param>Times New Roman</param>Fellows Room </fontfamily>
<fontfamily><param>Times New Roman</param>95 South 2000 East =
</fontfamily>
<fontfamily><param>Times New Roman</param>Salt Lake City</fontfamily>,
UT 84112-5000=20
<fontfamily><param>Times New Roman</param>=A0</fontfamily>
<fontfamily><param>Times New Roman</param>e-mail: lucas at cvrti.utah.edu =
</fontfamily>
</excerpt>Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
--Apple-Mail-15--993947033--