This is why the image iterator is so valuable. They handle the grunt work for you and are so easy to use. You&#39;re code would be simplified to something like:<div><br></div><div>itk::ImageRegionIterator&lt;ImageType&gt; it(image, image-&gt;GetLargestPossibleRegion());</div>
<div>for(it.GoToBegin(); !it.IsAtEnd(); ++it)</div><div>  {</div><div>  if(it.Value() &gt; max)</div><div>    max = it.Value();</div><div>  }</div><div><br></div><div>Anyway, back to your code. The below looks unusual and unnecessary. Why are you allocating image after assigning it to the reader output?</div>
<div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(80, 0, 80); font-family: arial, sans-serif; font-size: 13px; ">  start[0] =   0;  // first index on X<br>  start[1] =   0;  // first index on Y<br>
  start[2] =   0;  // first index on Z<br><br>  InputImageType::RegionType region;<br>  region.SetSize( size );<br>  region.SetIndex( start );<br>  <br>  // Pixel data is allocated<br>  image-&gt;SetRegions( region );<br>
  image-&gt;Allocate();</span></div><div><br></div><br><div class="gmail_quote">On Tue, Jun 7, 2011 at 10:15 AM, john smith <span dir="ltr">&lt;<a href="mailto:mkitkinsightuser@gmail.com">mkitkinsightuser@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Well,<br>
<br>
When I debug the code, then I am taking an exception:<br>
<i>Unhandled exception at 0x00856a67 in mainwindow.exe: 0xC0000005: Access violation reading location 0x050f0548.</i><br>
<br>
Do yoy know why?Should I change something in my code?Is there wrong in the logic of the code?<br>Thanks for the replies<div class="im"><br><br>ReaderType::Pointer reader = ReaderType::New();<br><br>     reader-&gt;SetFileName( fileName.toStdString()  );<br>

     reader-&gt;Update();<br><br>      InputImageType::RegionType inputRegion =<br>           reader-&gt;GetOutput()-&gt;GetLargestPossibleRegion();<br><br>  <br>    //typedef itk::Image&lt; short, 3 &gt; InputImageType;<br>

  <br>     InputImageType::Pointer image = reader-&gt;GetOutput();<br><br>  <br><br>  InputImageType::IndexType start;<br>  InputImageType::SizeType  size;<br><br></div><div class="im"> size = inputRegion.GetSize();<br>  // get the size of the hole 3D image<br>

  size_x = size[0];<br>  size_y = size[1];<br>  size_z = size[2];<br>  <br><br><br></div><div class="im">  start[0] =   0;  // first index on X<br>  start[1] =   0;  // first index on Y<br>  start[2] =   0;  // first index on Z<br>
<br>  InputImageType::RegionType region;<br>
  region.SetSize( size );<br>  region.SetIndex( start );<br>  <br>  // Pixel data is allocated<br>  image-&gt;SetRegions( region );<br>  image-&gt;Allocate();<br><br>   int i,j,k;<br> int max_value=0;<br><br><br><br>  for ( i=0;i&lt;size_x;i++) {<br>

      for ( j=0;i&lt;size_y;j++){<br>          for ( k=0;i&lt;size_z;k++){<br><br>              InputImageType::IndexType pixelIndex;<br>                pixelIndex[0] = i; // x position<br>                pixelIndex[1] = j; // y position<br>

                pixelIndex[2] = k; // z position<br><br>                InputImageType::PixelType pixelValue = image-&gt;GetPixel( pixelIndex );<br><br>                if(pixelValue&gt;max_value){max_value=pixelValue;}<br>

                <br>          }<br>      }<br>  }<br><br>   ui-&gt;label_22-&gt;setText(QString(&quot;maximum_value_raw%1&quot;).arg(max_value));<br><br></div><div><div></div><div class="h5"><div class="gmail_quote">2011/6/7 john smith <span dir="ltr">&lt;<a href="mailto:mkitkinsightuser@gmail.com" target="_blank">mkitkinsightuser@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">I have added this<div><br><br>  size = inputRegion.GetSize();<br>  // get the size of the hole 3D image<br>

  size_x = size[0];<br>  size_y = size[1];<br>  size_z = size[2];<br><br></div>I am getting into the loop, but now I am getting an exception.Do you know what I am doing wrong? I have declared the size_x,size_y,size_z in an other function as it seems bellow, and declare them as global variable.Is it this declaration responcible for the exception?<br>


<br>Thanks<div><div></div><div><br>  <br><br><div class="gmail_quote">2011/6/7 Brecht Heyde <span dir="ltr">&lt;<a href="mailto:Brecht.Heyde@med.kuleuven.be" target="_blank">Brecht.Heyde@med.kuleuven.be</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">









<div link="blue" vlink="purple" lang="NL">

<div>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Sorry, it should have been:</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">size = inputRegion.GetSize();</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Regards,</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Brecht Heyde</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<div>

<div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color;padding:3pt 0cm 0cm">

<p class="MsoNormal"><b><span style="font-size:10pt" lang="EN-US">From:</span></b><span style="font-size:10pt" lang="EN-US"> <a href="mailto:insight-users-bounces@itk.org" target="_blank">insight-users-bounces@itk.org</a>
[mailto:<a href="mailto:insight-users-bounces@itk.org" target="_blank">insight-users-bounces@itk.org</a>] <b>On Behalf Of </b>Brecht Heyde<br>
<b>Sent:</b> dinsdag 7 juni 2011 15:34<br>
<b>To:</b> &#39;john smith&#39;; &#39;robert tamburo&#39;; <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a></span></p><div><br>
<b>Subject:</b> Re: [Insight-users] get the maximum pixel value using
GetPixel() for 3D image</div><p></p>

</div>

</div><div>

<p class="MsoNormal"><span lang="EN-US"> </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Hi,</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Your size_x, size_y and size_z are not representing the actual
 size of the image.</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Add:</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">size = inputRegion-&gt;GetSize();</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Before </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">size_x = …</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">size_y = …</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">size_z = …</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">I would however also suggest to use an imageIterator.</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Regards,</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US">Brecht Heyde</span></p>

<p class="MsoNormal"><span style="font-size:11pt;color:rgb(31, 73, 125)" lang="EN-US"> </span></p>

<div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color;padding:3pt 0cm 0cm">

<p class="MsoNormal"><b><span style="font-size:10pt" lang="EN-US">From:</span></b><span style="font-size:10pt" lang="EN-US"> <a href="mailto:insight-users-bounces@itk.org" target="_blank">insight-users-bounces@itk.org</a>
[mailto:<a href="mailto:insight-users-bounces@itk.org" target="_blank">insight-users-bounces@itk.org</a>] <b>On Behalf Of </b>john smith<br>
<b>Sent:</b> dinsdag 7 juni 2011 15:27<br>
<b>To:</b> robert tamburo; <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
<b>Subject:</b> Re: [Insight-users] get the maximum pixel value using
GetPixel() for 3D image</span></p>

</div>

<p class="MsoNormal"> </p>

</div><p class="MsoNormal" style="margin-bottom:12pt">Thanks for your reply.I have
used the MinimumMaximumImageCalculator, but know I want to take the result
playing with the raw data.But I am trying to do that without using iterators,
just with using for loop. I have added the largest possible area from reader,
but when I am debuging my code, it seems that I cannot get inside the loop. Do
you know why? Here is my code:</p><div><div></div><div><br>
<br>
 ReaderType::Pointer reader = ReaderType::New();<br>
<br>
     reader-&gt;SetFileName( fileName.toStdString() 
);<br>
     reader-&gt;Update();<br>
<br>
      InputImageType::RegionType inputRegion =<br>
          
reader-&gt;GetOutput()-&gt;GetLargestPossibleRegion();<br>
<br>
  <br>
    //typedef itk::Image&lt; short, 3 &gt; InputImageType;<br>
  <br>
     InputImageType::Pointer image =
reader-&gt;GetOutput();<br>
<br>
  <br>
<br>
  InputImageType::IndexType start;<br>
  InputImageType::SizeType  size;<br>
<br>
  // get the size of the hole 3D image<br>
  size_x = size[0];<br>
  size_y = size[1];<br>
  size_z = size[2];<br>
<br>
  start[0] =   0;  // first index on X<br>
  start[1] =   0;  // first index on Y<br>
  start[2] =   0;  // first index on Z<br>
<br>
  InputImageType::RegionType region;<br>
  region.SetSize( size );<br>
  region.SetIndex( start );<br>
  <br>
  // Pixel data is allocated<br>
  image-&gt;SetRegions( region );<br>
  image-&gt;Allocate();<br>
<br>
   int i,j,k;<br>
 int max_value=0;<br>
<br>
  for ( i=0;i&lt;size_x;i++) {<br>
      for ( j=0;i&lt;size_y;j++){<br>
          for ( k=0;i&lt;size_z;k++){<br>
<br>
             
InputImageType::IndexType pixelIndex;<br>
               
pixelIndex[0] = i; // x position<br>
               
pixelIndex[1] = j; // y position<br>
               
pixelIndex[2] = k; // z position<br>
<br>
               
InputImageType::PixelType pixelValue = image-&gt;GetPixel( pixelIndex );<br>
<br>
               
if(pixelValue&gt;max_value){max_value=pixelValue;}<br>
                <br>
          }<br>
      }<br>
  }<br>
<br>
  
ui-&gt;label_22-&gt;setText(QString(&quot;maximum_value_raw%1&quot;).arg(max_value));</div></div><div><div></div><div>

<div>

<p class="MsoNormal">2011/6/7 robert tamburo &lt;<a href="mailto:robert.tamburo@gmail.com" target="_blank">robert.tamburo@gmail.com</a>&gt;</p>

<p class="MsoNormal">GetPixel() belongs to itkImage, not the reader. Try
reader-&gt;GetOutput()-&gt;GetPixel(index).  </p>

<div>

<p class="MsoNormal"> </p>

</div>

<div>

<p class="MsoNormal">Two other things: 1) You may want to consider using an
ImageRegionIterator instead of for loops, and 2) You can use the
MinimumMaximumImageCalculator to get the maximum intensity in an image.</p>

</div>

<div>

<p class="MsoNormal"> </p>

</div>

<div>

<p class="MsoNormal">There are examples on how to use each class at <a href="http://www.itk.org/Wiki/ITK/Examples" target="_blank">http://www.itk.org/Wiki/ITK/Examples</a></p>

</div>

<div>

<p class="MsoNormal"> </p>

</div>

<div>

<p class="MsoNormal" style="margin-bottom:12pt"> </p>

<div>

<div>

<div>

<p class="MsoNormal">On Tue, Jun 7, 2011 at 8:36 AM, john smith &lt;<a href="mailto:mkitkinsightuser@gmail.com" target="_blank">mkitkinsightuser@gmail.com</a>&gt;
wrote:</p>

</div>

</div>

<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">




<div>

<div>

<p class="MsoNormal" style="margin-bottom:12pt">Hello,<br>
<br>
I am trying to find the maximum pixel value of a 3D  image, and I am using
the GetPixel method with 3 loops.I want to load my image from a file so I
created a reader pointer.Does this pointer include the raw data of my image? I
have created the following code but I get an error: GetPixel() method is not a
member of reader. Could somebody tell me what I am doing wrong? How I could
find the maximum pixel value of a loaded image with the method of GetPixel()?<br>
<br>
Thanks<br>
<br>
  typedef
short              
InputPixelType;<br>
  const   unsigned int       
Dimension = 3;<br>
<br>
  typedef itk::Image&lt; InputPixelType,  Dimension
&gt;    InputImageType;<br>
  typedef itk::ImageFileReader&lt; InputImageType  &gt; 
ReaderType;<br>
<br>
<br>
  ReaderType::Pointer reader = ReaderType::New();<br>
<br>
     reader-&gt;SetFileName( fileName.toStdString() 
);<br>
     reader-&gt;Update();<br>
<br>
       InputImageType::RegionType inputRegion =<br>
          
reader-&gt;GetOutput()-&gt;GetLargestPossibleRegion();<br>
<br>
  InputImageType::SizeType size = inputRegion.GetSize();<br>
 <br>
  // get the size of the hole 3D image<br>
  size_x = size[0];<br>
  size_y = size[1];<br>
  size_z = size[2];<br>
<br>
   InputImageType::IndexType start = inputRegion.GetIndex();<br>
  start[0] =   0;  // first index on X<br>
  start[1] =   0;  // first index on Y<br>
  start[2] =   0;  // first index on Z<br>
<br>
 int i,j,k;<br>
 int max_value=0;<br>
  for ( i=0;i&lt;size_x;i++) {<br>
      for ( j=0;i&lt;size_y;j++){<br>
          for ( k=0;i&lt;size_z;k++){<br>
<br>
             
InputImageType::IndexType pixelIndex;<br>
               
pixelIndex[0] = i; // x position<br>
               
pixelIndex[1] = j; // y position<br>
               
pixelIndex[2] = k; // z position<br>
<br>
               
InputImageType::PixelType pixelValue = reader-&gt;GetPixel( pixelIndex );<br>
<br>
               
if(pixelValue&gt;max_value){max_value=pixelValue;}<br>
                <br>
          }<br>
      }<br>
  }</p>

</div>

</div>

<p class="MsoNormal">_____________________________________</p>

<div>

<p class="MsoNormal" style="margin-bottom:12pt"><br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a></p>

</div>

</blockquote>

</div>

<p class="MsoNormal"> </p>

</div>

</div>

<p class="MsoNormal"> </p>

</div></div></div>

</div>


</blockquote></div><br>
</div></div></blockquote></div><br>
</div></div><br>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>