template<class T, unsigned int D>
void vtkImageData2itkImage::Convert()
{
+ printf("vtkImageData2itkImage::Convert A \n");
+
bbtkDebugMessage("process",5,"==> ["<<bbGetFullName()<<"] : Convert<"
<<bbtk::TypeName<T>()<<","<<D
<<">()"<<std::endl);
typedef itk::VTKImageToImageFilter< itkImageType > VtkToItkConnection;
typename VtkToItkConnection::Pointer conv;
+ printf("vtkImageData2itkImage::Convert B \n");
+
// No converter yet : create it and set its input
if (!mConverter)
{
+ printf("vtkImageData2itkImage::Convert C \n");
bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : No converter yet : creating it"<<std::endl);
conv = VtkToItkConnection::New();
mConverter = conv;
((itk::ProcessObject*)mConverter);
if (!conv)
{
- bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Converter of wrong input type : reacreating it "<<std::endl);
+ printf("vtkImageData2itkImage::Convert 1 \n");
+ bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Converter of wrong input type : reacreating it "<<std::endl);
mConverter->UnRegister();
conv = VtkToItkConnection::New();
// set new input
else if ( this->bbGetInputIn() != conv->GetExporter()->GetInput())
{
+ printf("vtkImageData2itkImage::Convert 2 \n");
bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Converter input changed : resetting it"<<std::endl);
conv->SetInput( this->bbGetInputIn() );
}
else
{
- bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Nothing changed"<<std::endl);
+ printf("vtkImageData2itkImage::Convert 3 \n");
+ bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Nothing changed"<<std::endl);
}
}
try
{
bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Trying update"<<std::endl);
+
conv->Update();
+
itkImageType* out = const_cast<itkImageType*>(conv->GetOutput());
bbSetOutputOut(out);
}