[Insight-users] get the maximum pixel value using GetPixel() for 3D image

Vincent Garcia vincent.garcia at inria.fr
Tue Jun 7 09:30:48 EDT 2011


That's the best, I agree. 

Vicnent 

----- Original Message -----


From: "robert tamburo" <robert.tamburo at gmail.com> 
To: "john smith" <mkitkinsightuser at gmail.com> 
Cc: insight-users at itk.org 
Sent: Tuesday, 7 June, 2011 3:24:21 PM 
Subject: Re: [Insight-users] get the maximum pixel value using GetPixel() for 3D image 

GetPixel() belongs to itkImage, not the reader. Try reader->GetOutput()->GetPixel(index). 


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. 


There are examples on how to use each class at http://www.itk.org/Wiki/ITK/Examples 





On Tue, Jun 7, 2011 at 8:36 AM, john smith < mkitkinsightuser at gmail.com > wrote: 


Hello, 

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()? 

Thanks 

typedef short InputPixelType; 
const unsigned int Dimension = 3; 

typedef itk::Image< InputPixelType, Dimension > InputImageType; 
typedef itk::ImageFileReader< InputImageType > ReaderType; 


ReaderType::Pointer reader = ReaderType::New(); 

reader->SetFileName( fileName.toStdString() ); 
reader->Update(); 

InputImageType::RegionType inputRegion = 
reader->GetOutput()->GetLargestPossibleRegion(); 

InputImageType::SizeType size = inputRegion.GetSize(); 

// get the size of the hole 3D image 
size_x = size[0]; 
size_y = size[1]; 
size_z = size[2]; 

InputImageType::IndexType start = inputRegion.GetIndex(); 
start[0] = 0; // first index on X 
start[1] = 0; // first index on Y 
start[2] = 0; // first index on Z 

int i,j,k; 
int max_value=0; 
for ( i=0;i<size_x;i++) { 
for ( j=0;i<size_y;j++){ 
for ( k=0;i<size_z;k++){ 

InputImageType::IndexType pixelIndex; 
pixelIndex[0] = i; // x position 
pixelIndex[1] = j; // y position 
pixelIndex[2] = k; // z position 

InputImageType::PixelType pixelValue = reader->GetPixel( pixelIndex ); 

if(pixelValue>max_value){max_value=pixelValue;} 

} 
} 
} 

_____________________________________ 
Powered by www.kitware.com 

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html 

Kitware offers ITK Training Courses, for more information visit: 
http://www.kitware.com/products/protraining.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 



_____________________________________ 
Powered by www.kitware.com 

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html 

Kitware offers ITK Training Courses, for more information visit: 
http://www.kitware.com/products/protraining.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 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110607/1194edb4/attachment.htm>


More information about the Insight-users mailing list