Program: bbtk
Module: $RCSfile: bbitkvtkvtkImageData2itkImage.cxx,v $
Language: C++
- Date: $Date: 2011/06/16 12:28:57 $
- Version: $Revision: 1.6 $
+ Date: $Date: 2011/06/16 13:38:49 $
+ Version: $Revision: 1.7 $
=========================================================================*/
BBTK_TEMPLATE_VTK_IMAGE_DATA_SWITCH_DIM(I,3,M)
void vtkImageData2itkImage::Convert()
- {
- BBTK_TEMPLATE_VTK_IMAGE_DATA_SWITCH(bbGetInputIn(),Convert)
+ {
+ BBTK_TEMPLATE_VTK_IMAGE_DATA_SWITCH(bbGetInputIn(),Convert)
}
bbtkDebugMessage("process",5,"<== ["<<bbGetFullName()<<"] : Convert<"
<<bbtk::TypeName<T>()<<","<<D
<<">() *DONE*"<<std::endl);
- }
+}
void vtkImageData2itkImage::bbUserSetDefaultValues()
Program: bbtk
Module: $RCSfile: bbitkvtkvtkImageDataVector2itkImageVector.cxx,v $
Language: C++
- Date: $Date: 2011/06/16 12:28:57 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2011/06/16 13:38:49 $
+ Version: $Revision: 1.2 $
=========================================================================*/
BBTK_ADD_BLACK_BOX_TO_PACKAGE(itkvtk,vtkImageDataVector2itkImageVector);
-#define BBTK_TEMPLATE_VTK_IMAGE_DATA_SWITCH_DIM(I,DIM,M) \
- if (I->GetDataDimension()==DIM) \
- { \
- if (I->GetScalarType()==VTK_CHAR) M<char,DIM>(); \
- else if (I->GetScalarType()==VTK_SIGNED_CHAR) M<signed char,DIM>(); \
- else if (I->GetScalarType()==VTK_UNSIGNED_CHAR) M<unsigned char,DIM>(); \
- else if (I->GetScalarType()==VTK_SHORT) M<short,DIM>(); \
- else if (I->GetScalarType()==VTK_UNSIGNED_SHORT) M<unsigned short,DIM>(); \
- else if (I->GetScalarType()==VTK_INT) M<int,DIM>(); \
- else if (I->GetScalarType()==VTK_UNSIGNED_INT) M<unsigned int,DIM>(); \
- else if (I->GetScalarType()==VTK_LONG) M<long,DIM>(); \
- else if (I->GetScalarType()==VTK_UNSIGNED_LONG) M<unsigned long,DIM>(); \
- else if (I->GetScalarType()==VTK_FLOAT) M<float,DIM>(); \
- else if (I->GetScalarType()==VTK_DOUBLE) M<double,DIM>(); \
+// we assume all the vector elements have the same type
+#define BBTK_TEMPLATE_VTK_IMAGE_DATA_SWITCH_DIM(I,DIM,M) \
+ if (I[0]->GetDataDimension()==DIM) \
+ { \
+ if (I[0]->GetScalarType()==VTK_CHAR) M<char,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_SIGNED_CHAR) M<signed char,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_UNSIGNED_CHAR) M<unsigned char,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_SHORT) M<short,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_UNSIGNED_SHORT) M<unsigned short,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_INT) M<int,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_UNSIGNED_INT) M<unsigned int,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_LONG) M<long,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_UNSIGNED_LONG) M<unsigned long,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_FLOAT) M<float,DIM>(); \
+ else if (I[0]->GetScalarType()==VTK_DOUBLE) M<double,DIM>(); \
}
#define BBTK_TEMPLATE_VTK_IMAGE_DATA_SWITCH(I,M) \
bbtkDebugMessage("process",5," ["<<bbGetFullName()<<"] : Trying update"<<std::endl);
conv->Update();
itkImageType* out = const_cast<itkImageType*>(conv->GetOutput());
- m_Output_Vector.push_back(conv->GetOutput());
+ m_Output_Vector.push_back(out);
}
catch( itk::ExceptionObject & e)