[Insight-users] Spacing problem
Wolfram Timm
comail at mac.com
Wed Oct 24 18:06:18 EDT 2012
Hi,
I don't get the background of this problem:
Inside a DLL I am trying to create a 3D ITK image of type unsigned short. This works (filewriter successful), when spacing is 1.0 for each dimension. Inside the DLL I get an Access Violation even preventing throwing the exception when choosing a different spacing like 0.2, 0.2, 2.0 (yes, awful anisotropy). This is independent of the use of ITKImportFilter or creating just an ITK image.
Here's the relevant code (afaik):
typedef unsigned short PixelType;
typedef itk::Image< PixelType, 3 > ImageType;
ImageType::Pointer img = ImageType::New();
ImageType::SizeType size;
size[0] = 512;
size[1] = 512;
size[2] = 86;
ImageType::IndexType start;
start.Fill(0);
ImageType::RegionType region;
region.SetIndex(start);
region.SetSize(size);
img->SetRegions(region);
double origin[3];
origin[0] = 0.0;
origin[1] = 0.0;
origin[2] = 0.0;
img->SetOrigin(origin);
ImportImageFilterType::SpacingType spacing;
spacing[0] = 0.2;
spacing[1] = 0.2;
spacing[2] = 2.0;
img->SetSpacing(spacing);
try
{
log("img pre Allocate()");
img->Allocate();
log("img pos Allocate()");
}
catch( itk::ExceptionObject & exp )
{
log("Exception caught !");
log((string)exp.GetDescription());
}
WriterType::Pointer writer = WriterType::New();
writer->SetFileName("d:\\temp\\i.tif");
writer->SetInput(img);
try
{
writer->Update();
}
catch( itk::ExceptionObject & exp )
{
log("Exception caught !");
log((string)exp.GetDescription());
}
Any help really is appreciated, since I don't get the problem here.
Thanks.
Wolfram
More information about the Insight-users
mailing list