//--------------------------------------------------------------------
template<class TPixel>
std::string GetTypeAsString() {
+ // http://www.vtk.org/doc/release/3/html/vtkSetGet_8h-source.html
+ // and
+ // itkImageIOBase.cxx
const std::type_info & PixType = typeid(TPixel);
std::string pixelName;
if (PixType == typeid(char)) pixelName = "char"; // 'plain" char is different from signed char and unsigned char ...
}
//--------------------------------------------------------------------
+//--------------------------------------------------------------------
+template<class ImageType>
+void CloneImage(const typename ImageType::Pointer & input, typename ImageType::Pointer & output) {
+ output->SetRegions(input->GetLargestPossibleRegion());
+ output->SetOrigin(input->GetOrigin());
+ output->SetSpacing(input->GetSpacing());
+ output->Allocate();
+ typedef itk::ImageRegionConstIterator<ImageType> ConstIteratorType;
+ ConstIteratorType pi(input,input->GetLargestPossibleRegion());
+ pi.GoToBegin();
+ typedef itk::ImageRegionIterator<ImageType> IteratorType;
+ IteratorType po(output,input->GetLargestPossibleRegion());
+ po.GoToBegin();
+ while (!pi.IsAtEnd()) {
+ po.Set(pi.Get());
+ ++pi;
+ ++po;
+ }
+}
+//--------------------------------------------------------------------
+
#endif /* end #define CLITKCOMMON_TXX */