<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [Insight-users] Sample interface and expectation maximizationmixture model estimation</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>You want want to look at the class ImageToListAdaptor. This avoids having to explicitly create a list. It will significantly reduce the memory overhead and substantially increase the speed.<BR>
<BR>
Vince<BR>
<BR>
<BR>
----------------------<BR>
Associate Professor<BR>
Department of Radiology<BR>
0453-D JCP<BR>
200 Hawkins Drive<BR>
Iowa City, IA 52242<BR>
E-mail: vincent-magnotta@uiowa.edu<BR>
Phone: 319-356-8255 Fax: 319-353-6275<BR>
Website: <A HREF="http://www.radiology.uiowa.edu">http://www.radiology.uiowa.edu</A><BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: insight-users-bounces@itk.org on behalf of Nicolas Gallego<BR>
Sent: Wed 7/14/2010 9:47 AM<BR>
To: insight-users@itk.org<BR>
Subject: [Insight-users] Sample interface and expectation maximizationmixture model estimation<BR>
<BR>
Dear ITK users community,<BR>
<BR>
I have been using ITK library to implement an algorithm of mass detection in<BR>
mammography based on gaussian mixture modelling of texture as part of my<BR>
master thesis project.<BR>
<BR>
At first we tried to used the library objects<BR>
itk::Statistics::ExpectationMaximizationMixtureModelEstimator<BR>
&nbsp;with the itk::Statistics::ListSample sample interface as explained in the<BR>
software guide. We tried to pass by means of the sample interface the<BR>
measurement vectors to the EM algorithm. For our purpouse those vectors are<BR>
the gray levels of the pixels from the local neighborhoods of each target<BR>
pixel. We get those sample vectors by means of shaped neightborhood iterator<BR>
itk::ShapedNeighborhoodIterator without problems.<BR>
<BR>
Our problem is then of memory allocation. We tried to allocate every mv<BR>
vector by vector inside the sample object by means of its smart pointer as:<BR>
<BR>
sample-&gt;PushBack(mv) ;<BR>
<BR>
but soon our system ran out of memory, as expected since mammograms are<BR>
about 12 MPixels and the mv size is 145.<BR>
<BR>
We decided to implement by ourselves the method using image iterators,<BR>
linear algebra and gaussian density functions. After some programming and<BR>
debuging we have got a working prototype, but we would like to ask for ideas<BR>
to work around the mentioned problem. Is anybody supporting the EM<BR>
implementation in ITK or has anybody solved a similar issue before?. Any<BR>
advice is appreciated.<BR>
<BR>
We really would like to compare our prototype's output with the ITK tested<BR>
implementation. Also let us know, if it is appropriate, how can we<BR>
contribute to the development of ITK.<BR>
<BR>
Thank you very much,<BR>
<BR>
Sincerely,<BR>
<BR>
--<BR>
Nicolás Gallego Ortiz<BR>
nicgallego@ieee.org<BR>
Departamento de Ingeniería Electrónica y Telecomunicaciones<BR>
Universidad de Antioquia<BR>
Medellín, Colombia<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>