[Insight-users] Principal Component Analysis
Luis Ibanez
luis.ibanez at kitware.com
Mon Sep 28 12:18:22 EDT 2009
Dear Mark,
Welcome to ITK !
Before we discuss the technical aspect of your email,
please let me introduce you to some basic aspect of
our community.
ITK is an Open Source software package for performing image
segmentation and image registration. The software is mostly
intended for medical applications, but it can be used just
as well for satellite images and computer vision applications.
Therefore, when you engage with the ITK community, you are
addressing a group of several thousand people who have in
common the following traits:
A) They all want to share
B) They are are typically researchers in industry
and academic institutions
C) Most of them have graduate degrees
In this environment, our preferred way of communication
involves the use of decent language (even when we talk
about the latests miscarriages of the Patent system...
and I know that sometime is hard to resist).
------
Regarding community practices:
A) It is unfortunate that you have dispelled the wise
practice of reading documentation.
B) Please note that the ITK manual is available online at:
http://www.itk.org/ItkSoftwareGuide.pdf
This is linked from the main documentation page:
http://www.itk.org/ITK/help/documentation.html
That you find in the "HELP" link of the
top www.itk.org web site.
--------
Regarding your technical questions:
1) What is the difference between:
itkImagePCADecompositionCalculatorTest
itkImagePCAShapeModelEstimator
itkPCAShapeSignedDistanceFunction
In an image PCA Decomposition a collection
of images is analyzed as being equivalent
to vectors in which every vector component
correspond to one of the image pixels.
Therefore, an image of 320x200 pixels
is thought of as a vector of 640,000
components.
Given a collection of N images, the
itkImagePCDShapeModelEstimator, computes
the mean vector and principal components
vectors (eigenvectors) that correspond to
those images. (again each vector has as many
components as there are pixels in one of the
input images).
Given the Mean and Eigenvectors, the class
itkImagePCADecompositionCalculatorTest
takes an extra image as input and will compute
the linear coefficients that will make possible
to express this new image as a linear combination
of the Mean and the Eigenvector images.
While the class
itkPCAShapeSignedDistanceFunction
will compute the distance from a given image to
the mean by taking into account the eigenvalues.
This is similar to a Mahalanobis distance computation.
This is done by taking into account a geometrical
transformation that maps the input image into the
space of the images used to generate the PCA model.
2) You are probably referring to the test:
Insight/Testing/Code/Algorithms/
itkImagePCAShapeModelEstimatorTest.cxx
(In the future, please specify the files that
you are referring to. There are thousands of
files in the toolkit, and we have limited time
to address the needs of all users).
This test makes up its own images. This is a common
practice in unit-testing, that makes the test self-
sufficient. You shouldn't take this as an example
on how to use the file. Test and Examples are two
very different things.
3) Why itkActiveShapeModelCalculatorTest.cxx only
produces the mean image and not the eigenvectors?
because for this particular setting of input
image and parameters, the number of eigenvectors
returned by the filter is zero.
4) The Doxygen documentation is not intended to provide
training in medical image analysis. It is only intended
to describe the API of C++ classes, and it is expected
that you are familiar with the concepts behind the
particular image analysis technique.
Before you continue attempting to use these classes
you must read the following papers:
[1] Cootes T., Taylor C., et. al,
Active Shape Models - Their training and application,
Comput. Vis. Image Understanding, vol. 61, pp. 38-59, 1995.
[2] D. H. Douglas and T. K. Peucker,
Algorithms for the reduction of the number of points required
to represent a digitized line or its caricature,
Canadian Cartographer 10(2), pp. 112--122, 1973.
--
Best Regards,
Luis
---------
PS. No offense intended, but please note that most
institutions will not consider your time of
studies as "career" time.
Some career advice:
If you work in the domain of medical images, you will
find in this mailing list many of you potential future
employers, many of the reviewers of your grants, and
many of the reviewers of your papers.
Be nice to them. :-)
--------------------------------------------------------
Mark Redd wrote:
> Hi people,
> I'm finding many problems with PCA on medical images. In my student
> career, I used to read "the fucking manual" in order to solve my
> problems, but now I can't find it!
>
> There are several things I can't understand :
> 1) the difference between itkImagePCADecompositionCalculatorTest,
> itkImagePCAShapeModelEstimator and itkPCAShapeSignedDistanceFunction
> codes
>
> 2) why, in their Test files, they don't accept normal images but
> create some strange images (i think that they are created specifying
> something that isn't a set of grayscale pixel values)
>
> 3) why the only understandable code,
> itkActiveShapeModelCalculatorTest.cxx, doesn't give me the
> eigenvectors and eigenvalues, when I use model.mha and foot.mha as
> parameter, but only the mean shape coordinates.
>
> So I don't want you getting bored with all my troubles, but can you
> suggest a paper or something similiar that describe these topics? I
> haven't foud the right answers on the official documentation and
> doxygen is too synthetic to be understood by a newbie like me!
>
> I'd appreciate if someone could give some suggestions,
> Mark
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
More information about the Insight-users
mailing list