[Insight-users] ImportImageFilter segfault
Krishnan V
v.srikrishnan at gmail.com
Fri Dec 24 12:46:12 EST 2010
Hi,
I am using the ImportImageFilter to assign a datablock to an image. The
problem I am facing is that when i return the output of this filter in a
function, the image pointer apparently contains no data even though I have
let the filter manage the data. I have included a small sample code. Is this
a bug or am I missing something?
Thanks,
Krishnan
/* ====================================================== */
#include "itkImageFileWriter.h"
#include "itkImportImageFilter.h"
typedef short PixelType;
int const Dims3D=3, Dims2D=2;
typedef itk::Image<PixelType, Dims3D> ImageType3D;
ImageType3D::Pointer func(void)
{
typedef itk::ImportImageFilter<PixelType, Dims3D> Import_Filter_Type;
Import_Filter_Type::Pointer importFilter=Import_Filter_Type::New();
Import_Filter_Type::SizeType size;
size[0] = 51;
size[1] = 51;
size[2] = 60;
Import_Filter_Type::IndexType start;
start.Fill(0);
Import_Filter_Type::RegionType region;
region.SetSize(size);
region.SetIndex(start);
double Origin[Dims3D];
Origin[0]=Origin[1]=Origin[2]=0.0;
importFilter->SetRegion(region);
importFilter->SetOrigin(Origin);
Origin[0]=Origin[1]=Origin[2]=1.0;
importFilter->SetSpacing(Origin);//Reuse; just for demo code
short *buf=new short[size[0]*size[1]*size[2]];
importFilter->SetImportPointer(buf,size[0]*size[1]*size[2], true);
try
{
importFilter->Update();
}
catch(itk::ExceptionObject &ob)
{
std::cout<<ob<<std::endl;
getchar();
}
return importFilter->GetOutput();
}
int main( int argc, char **argv)
{
typedef itk::ImageFileWriter<ImageType3D> WriterType;
WriterType::Pointer writer = WriterType::New();
ImageType3D::Pointer im = func();
writer->SetInput(im);
writer->SetFileName("test.mhd");
try
{
writer->Update();
}
catch(itk::ExceptionObject &ob)
{
std::cout<<ob<<std::endl;
}
return 0;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20101224/0fdb0429/attachment.htm>
More information about the Insight-users
mailing list