[Insight-users] Paraview or ITK bug: Y axis appears flipped in
Paraview?
Andriy Fedorov
fedorov at bwh.harvard.edu
Fri Apr 22 12:16:17 EDT 2005
Hi
Please correct me if I am wrong. I am using the source code below to
create a test image, which has pixels in the region cornered at
(20,20,20) to (50,50,50) set to 1, and all other pixels set to 0. I
display this in Paraview, threshold it to 1, and when I look at the
resulting cube with cube axes visualized, the Y range shows as (100 -
130) or something; i.e., looks like the Y axis is flipped during
visualization. Is this a bug, or am I missing something? Or is it ITK
bug? I am using lates stable release of Paraview, 2.0.1, and ITK 2.0.0
(both Linux). Thank you.
Fedorov
#include "itkImageFileWriter.h"
#include "itkImage.h"
#include "itkImageRegionIterator.h"
#include "itkAddImageFilter.h"
int main(int argc, char **argv)
{
typedef unsigned int PixelType;
typedef itk::Image<PixelType,3> ImageType;
ImageType::Pointer cube1 = ImageType::New();
ImageType::RegionType bufferedRegion;
ImageType::RegionType largestRegion;
ImageType::SizeType size;
size[0] = 100;
size[1] = 150;
size[2] = 120;
ImageType::IndexType index = {0,0,0};
largestRegion.SetSize(size);
largestRegion.SetIndex(index);
cube1->SetRegions(largestRegion);
cube1->Allocate();
cube1->FillBuffer(0);
typedef itk::ImageRegionIterator<ImageType> IteratorType;
IteratorType it(cube1,largestRegion);
it.GoToBegin();
while(!it.IsAtEnd()){
ImageType::IndexType id = it.GetIndex();
if((id[0]>20 && id[0]<50) &&
(id[1]>20 && id[1]<50) &&
(id[2]>20 && id[2]<50))
it.Set(1);
++it;
}
itk::ImageFileWriter<ImageType>::Pointer writer;
writer = itk::ImageFileWriter<ImageType>::New();
writer->SetInput( cube1 );
writer->SetFileName("cube20-50.mha");
writer->Update();
return 0;
}
More information about the Insight-users
mailing list