[vtkusers] GetNumberOfPoints error when using vtkPoints

Ming Chao mingchao2005 at gmail.com
Mon Oct 13 11:23:16 EDT 2008


Recently I updated my VTK to Release 5.2.0. However, I encountered an error
when using the function GetNumberOfPoints in using vtkPoints. In the past
when I used a earlier version I didn't have this problem. My code remains
the same, but I got an error now. Any help would be appreciated.
The sample code is shown below:

#include "itkImage.h"

#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"

#include "vtkCellArray.h"
#include "vtkPoints.h"
#include "vtkPolyData.h"
#include "vtkPolyDataWriter.h"
#include "vtkPolyDataReader.h"
#include "vtkDoubleArray.h"
#include "vtkPointData.h"

#include <fstream>

// ------ end of header files  ------



const   unsigned int   Dimension = 3;
typedef float VectorComponentType;

typedef itk::Vector< VectorComponentType, Dimension >   VectorType;
typedef itk::Image< VectorType,  Dimension >   DeformationFieldType;
typedef itk::DeformationFieldSource< DeformationFieldType >
  DeformationSourceType;

typedef float PixelType;
typedef itk::Image< PixelType, Dimension >   ImageType;
//typedef itk::ImageFileReader<  ImageType >   ReaderType;
typedef itk::ImageFileWriter<  ImageType >   WriterType;

typedef itk::ImageFileReader< DeformationFieldType >
 DeformationFieldReaderType;

typedef itk::WarpImageFilter< ImageType, ImageType, DeformationFieldType >
FilterType;

typedef itk::LinearInterpolateImageFunction< ImageType, double >
InterpolaterType;

typedef itk::Point< double, Dimension> PointType;

//ReaderType::Pointer fixedReader;
WriterType::Pointer outputWriter;

DeformationFieldReaderType::Pointer  deformationFieldReader;

InterpolaterType::Pointer   interpolator;

//PointType point;

//---------------------------------------------------------------------------------------

int main( int argc, char * argv[] )
{

std::cout << " Starting....... " << std::endl;

if( argc < 1 ) {
std::cerr << "Missing Parameters " << std::endl;
std::cerr << "Usage: " << argv[0];
std::cerr << "fixedImage ";
std::cerr << "contour " << std::endl;
return 1;
}

outputWriter = WriterType::New();

interpolator    = InterpolaterType::New();

// read in the original contour
vtkPolyDataReader *contourReader = vtkPolyDataReader::New();
contourReader->SetFileName( argv[1] );

try {
contourReader->Update();
}
catch( itk::ExceptionObject & excp_poly ) {
std::cerr << "Exception thrown " << std::endl;
std::cerr << excp_poly << std::endl;
return EXIT_FAILURE;
}

vtkPolyData *poly = vtkPolyData::New();
poly->DeepCopy( contourReader->GetOutput() );
contourReader->Delete();

vtkPoints *points = poly->GetPoints();
 //vtkFloatArray *array =  vtkFloatArray::New();
//array->SetNumberOfComponents(3);

//return 0;

int NumberOfTotalPoints = points->GetNumberOfPoints();

std::cout << "total number of points = " << NumberOfTotalPoints <<
std::endl;



return 0;

}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20081013/3f8542a9/attachment.htm>


More information about the vtkusers mailing list