[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