[ITK-users] Geodesic Active Contour Error: Inputs do not occupy the same physical space!

Robert scorpiuni at gmail.com
Mon May 16 11:30:35 EDT 2016


Hi,
I have an error which I can't find a solution for (or even the origin of
it):

I have a 3D Volume, which I preprocess with several filters:

  smoothing->SetInput( reader->GetOutput() );

  gradientMagnitude->SetInput( smoothing->GetOutput() );

  sigmoid->SetInput( gradientMagnitude->GetOutput() );

  std::cout << "-------After sigmoid IMPORTANT--------"<< std::endl;
  const InternalImageType::PointType & origin2 =
sigmoid->GetOutput()->GetOrigin();
  std::cout << "Origin = ";
  std::cout << origin2[0] << ", "
  << origin2[1] << ", "
  << origin2[2] << std::endl;

The Origin Output here is 0,0,0 as expected.
Now I do this:

geodesicActiveContour->SetInput(  fastMarching->GetOutput() );


  std::cout << "-------After fastmarching -> GetOutput()
IMPORTANT--------"<< std::endl;
  const InternalImageType::PointType & origin3 =
fastMarching->GetOutput()->GetOrigin();
  std::cout << "Origin = ";
  std::cout << origin3[0] << ", "
  << origin3[1] << ", "
  << origin3[2] << std::endl;

//Output still is 0 0 0

  float ori[3] = {0, 0, 0};
  sigmoid->GetOutput()->SetOrigin(ori);
  geodesicActiveContour->SetFeatureImage( sigmoid->GetOutput() );
  const InternalImageType::PointType & originx =
sigmoid->GetOutput()->GetOrigin();
  std::cout << "Origin Important= ";
  std::cout << originx[0] << ", "
  << originx[1] << ", "
  << originx[2] << std::endl;

Again, here, the cout for the origin says 0,0,0, which should be correct,
and work with the filter.
Now when I execute the whole thing, this pops up:

Exception caught !

itk::ExceptionObject (0xfb0a10)
Location: "void itk::ImageToImageFilter<TInputImage,
TOutputImage>::VerifyInputInformation() [with TInputImage =
itk::Image<float, 3u>; TOutputImage = itk::Image<float, 3u>]" 
File: /usr/local/include/ITK-4.9/itkImageToImageFilter.hxx
Line: 250
Description: itk::ERROR: GeodesicActiveContourLevelSetImageFilter(0xf87d40):
Inputs do not occupy the same physical space! 
InputImage Origin: [0.0000000e+00, 0.0000000e+00, 0.0000000e+00],
InputImage_1 Origin: [7.2991424e+00, 1.0553263e+01, -7.8717673e+00]
	Tolerance: 1.0000000e-06
InputImage Spacing: [1.0000000e+00, 1.0000000e+00, 1.0000000e+00],
InputImage_1 Spacing: [1.6000000e-01, 1.6000000e-01, 1.5999985e-01]
	Tolerance: 1.0000000e-06
InputImage Direction: 1.0000000e+00 0.0000000e+00 0.0000000e+00
0.0000000e+00 1.0000000e+00 0.0000000e+00
0.0000000e+00 0.0000000e+00 1.0000000e+00
, InputImage_1 Direction: -1.0000000e+00 0.0000000e+00 0.0000000e+00
0.0000000e+00 -1.0000000e+00 0.0000000e+00
0.0000000e+00 0.0000000e+00 1.0000000e+00

	Tolerance: 1.0000000e-06

No matter what I set the origin to (called ori in the above code), this
output stays the same.

InputImage_1 should be my sigmoid Image, however, right? Why does the
spacing, origin, etc change here?
Any help is appreciated!

Robert



--
View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Geodesic-Active-Contour-Error-Inputs-do-not-occupy-the-same-physical-space-tp7588851.html
Sent from the ITK Insight Users mailing list archive at Nabble.com.


More information about the Insight-users mailing list