[Insight-users] Problem with ITK ASM : see Software Guide DRAFT
2.0
Zachary Pincus
zpincus at stanford.edu
Wed Mar 9 15:53:28 EST 2005
> Lydia Ng added a nice example on the use of the ASM classes
> to the new version of the ITK Software Guide.
>
>
> Please look at the DRAFT
>
> http://www.itk.org/ItkSoftwareGuide-2.0.0.pdf
>
>
> To Section 9.3.7, in pdf-page 479-490.
>
Hi all,
I've got a couple suggestions to clarify this portion of the software
guide (which tripped me up the first few times I read it).
First, on lines 65-67 of
GeodesicActiveContourShapePriorLevelSetImageFilter.cxx in
Insight/Examples/Segmentation, we are told:
// The process pipeline begins with centering the input image using
the
// the \doxygen{ChangeInformationImageFilter} to simplify the
estimation of the pose
// of the shape, to be explained later.
then on line 319,
// The \doxygen{ChangeInformationImageFilter} is the first filter in
the preprocessing
// stage and is used to force the image origin to the center of the
image.
Unfortunately, this is all the explanation given. I'd augment that with
something like:
// Because the \doxygen{Euler2DTransform} rotates points about the
image origin,
// it is good to have this center of rotation approximately near the
center of the
// object being segmented. This helps the optimizer find the correct
rotation and
// translation.
The next bit of documentation that I found a bit confusing was lines
668 to 671
// Further we assume that the shape modes have been normalized
// by multiplying with the corresponding singular value. Hence,
// will can set the principal component standard deviations to all
// ones.
Since the PCAShapeModelEstimator filter trades in eigenvalues, and not
singular values, this statement was a bit perplexing until I remembered
that PCA eigenvalues are the squares of the corresponding SVD singular
values, and that PCA eigenvalues represent the variance of that mode of
variation. So multiplying by a singular value is the same as
multiplying by sqrt(eigenvalue), which is to say, multiplying by the
standard deviation of that mode.
I would personally re-phrase those lines as follows:
// Further we assume that each shape mode has been normalized
// by multiplying it with the standard deviation of that mode.
// In this case, we can set the principal component standard
// deviations to all ones, because we've already incorporated
// that information.
// These standard deviations can be computed from the
// eigenvalues reported by the \doxygen{ImagePCAShapeModelEstimator}.
// Each eigenvalue corresponds to the variance of a PCA mode,
// so the standard deviation is found by taking the square root
// of that eigenvalue. If the training images were calculated by
// a singular value decomposition procedure, then the standard
// deviations are precisely the singular values.
Zach
More information about the Insight-users
mailing list