[Insight-users] Iterators problem

Yang, Jinzhong jinzhong76 at gmail.com
Thu Oct 21 11:22:03 EDT 2010


You should set the requested region for the output image:

RealIteratorType iteratorlambda1( imagelambda1, 
imagelambda1->GetRequestedRegion() );

-----Original Message-----
From: insight-users-bounces at itk.org [mailto:insight-users-bounces at itk.org]
On Behalf Of Jeremy Lecoeur
Sent: Wednesday, October 20, 2010 5:39 PM
To: insight-users at itk.org
Subject: [Insight-users] Iterators problem

  In the project I'm working on, I need to take value from an image 
(named imagex) which data type is short and apply some complicated 
mathematical function. The results of this function is a double and is 
store in an image (named imagelambda1) which data type is double.
When I'm using iterator to traverse the first image (imagex) and want to 
write the result in imagelambda1, it seems that the resulting image is 
scrambled.

Here is the portion of the code I use :

typedef short PixelType;
typedef double  RealPixelType;
const unsigned int Dimension = 3;
typedef itk::Image< PixelType, Dimension > ImageType;
typedef itk::Image< RealPixelType, Dimension>    RealImageType;
typedef itk::ImageRegionIterator< ImageType > IteratorType;
typedef itk::ImageRegionIterator< RealImageType > RealIteratorType;


IteratorType iteratorx( imagex, imagex->GetRequestedRegion() );
RealIteratorType iteratorlambda1( imagelambda1, 
imagex->GetRequestedRegion() );

for (iteratorx.GoToBegin(), iteratorlambda1.GoToBegin(); 
!iteratorx.IsAtEnd(); ++iteratorx, ++iteratorlambda1){
                 iteratorlambda1.Set( some_function(iteratorx.Get()));
}

The following link to an image show the input image (bottom) and result 
(top)when I'm just copying the input (i.e. 
iteratorlambda1.Set(iteratorx.Get()); ). I'm using the copy so it's 
easier to see that everything is scrambled.

http://img28.imageshack.us/img28/3628/55031279.png

I don't really understand what's happening.

Jeremy
_____________________________________
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



More information about the Insight-users mailing list