X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageToImageGenericFilter.txx;h=6d2a7cd32df402039a9487b4c00a27b46c5e72b0;hb=6d21b5c535447c4e823bd41890c75f1ee5476227;hp=f68ff21ee9ed6525e27e01095ca320644b44c442;hpb=c324c54e19ace253a5a8f318a0c44cb771cf50c6;p=clitk.git diff --git a/common/clitkImageToImageGenericFilter.txx b/common/clitkImageToImageGenericFilter.txx index f68ff21..6d2a7cd 100644 --- a/common/clitkImageToImageGenericFilter.txx +++ b/common/clitkImageToImageGenericFilter.txx @@ -3,10 +3,10 @@ Program: vv Module: $RCSfile: clitkImageToImageGenericFilter.txx,v $ Language: C++ - Date: $Date: 2010/02/09 14:19:28 $ - Version: $Revision: 1.3 $ + Date: $Date: 2010/03/02 13:28:42 $ + Version: $Revision: 1.8 $ Author : Joel Schaerer - David Sarrut + David Sarrut Copyright (C) 2008 Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr @@ -26,41 +26,43 @@ =========================================================================*/ -//-------------------------------------------------------------------- -template -void clitk::ImageToImageGenericFilterBase::SetNextOutput(typename ImageType::Pointer output) { - if (mOutputFilenames.size()) - { - clitk::writeImage(output, mOutputFilenames.front(), mIOVerbose); - mOutputFilenames.pop_front(); - } - if (mInputVVImages.size()) //We assume that if a vv image is set as input, we want one as the output - mOutputVVImages.push_back(vvImageFromITK(output)); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -template -typename ImageType::Pointer clitk::ImageToImageGenericFilterBase::GetInput(unsigned int n) { - if (mInputFilenames.size() > n) { - return clitk::readImage(mInputFilenames[n], mIOVerbose); - } - else if (mInputVVImages.size() > n) - return typename ImageType::Pointer(const_cast(vvImageToITK(mInputVVImages[n]).GetPointer())); - else - assert(false); //No input, this shouldn't happen -} -//-------------------------------------------------------------------- +// //-------------------------------------------------------------------- +// template +// void clitk::ImageToImageGenericFilterBase::SetNextOutput(typename ImageType::Pointer output) { +// if (mOutputFilenames.size()) +// { +// clitk::writeImage(output, mOutputFilenames.front(), mIOVerbose); +// mOutputFilenames.pop_front(); +// } +// if (mInputVVImages.size()) //We assume that if a vv image is set as input, we want one as the output +// mOutputVVImages.push_back(vvImageFromITK(output)); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// template +// typename ImageType::Pointer clitk::ImageToImageGenericFilterBase::GetInput(unsigned int n) { +// if (mInputFilenames.size() > n) { +// return clitk::readImage(mInputFilenames[n], mIOVerbose); +// } +// else if (mInputVVImages.size() > n) +// return typename ImageType::Pointer(const_cast(vvImageToITK(mInputVVImages[n]).GetPointer())); +// else +// { +// assert(false); //No input, this shouldn't happen +// return typename ImageType::Pointer(NULL); +// } +// } +// //-------------------------------------------------------------------- //-------------------------------------------------------------------- template -clitk::ImageToImageGenericFilter::ImageToImageGenericFilter(std::string filterName) - :ImageToImageGenericFilterBase(filterName){ - // Create main function manager - this->mImageTypesManager = new - ImageTypesManager(static_cast(this)); +clitk::ImageToImageGenericFilter::ImageToImageGenericFilter(std::string filterName) : + ImageToImageGenericFilterBase(filterName), + mImageTypesManager(static_cast(this)) +{ } //-------------------------------------------------------------------- @@ -78,42 +80,50 @@ bool clitk::ImageToImageGenericFilter::Update() { } // Go ! Call the right templatized function - mImageTypesManager->DoIt(mDim, mNbOfComponents, mPixelTypeName); + mImageTypesManager.DoIt(mDim, mNbOfComponents, mPixelTypeName); return true; } +//-------------------------------------------------------------------- + //-------------------------------------------------------------------- template bool clitk::ImageToImageGenericFilter::CheckImageType(unsigned int dim,unsigned int ncomp, std::string pixeltype) { - return static_cast(mImageTypesManager->mMapOfImageTypeToFunction[dim][ncomp][pixeltype]); + return static_cast(mImageTypesManager.mMapOfImageTypeToFunction[dim][ncomp][pixeltype]); } +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- template bool clitk::ImageToImageGenericFilter::CheckImageType() { - return static_cast(mImageTypesManager->mMapOfImageTypeToFunction[mDim][mNbOfComponents][mPixelTypeName]); + return static_cast(mImageTypesManager.mMapOfImageTypeToFunction[mDim][mNbOfComponents][mPixelTypeName]); } +//-------------------------------------------------------------------- + +//-------------------------------------------------------------------- template std::string clitk::ImageToImageGenericFilter::GetAvailableImageTypes() { - std::ostringstream oss; - oss << "The filter <" << mFilterName << "> manages:" << std::endl; + std::ostringstream oss; + oss << "The filter <" << mFilterName << "> manages:" << std::endl; - typedef typename ImageTypesManager::MapOfImageComponentsToFunctionType::const_iterator MCompItType; - typedef typename ImageTypesManager::MapOfImageDimensionToFunctionType::const_iterator MDimItType; - typedef typename ImageTypesManager::MapOfPixelTypeToFunctionType::const_iterator MPixelItType; - for (MDimItType i=mImageTypesManager->mMapOfImageTypeToFunction.begin(); - i!=mImageTypesManager->mMapOfImageTypeToFunction.end(); - i++) { - for (MCompItType j=(*i).second.begin(); j!= (*i).second.end(); j++) { - for (MPixelItType k=(*j).second.begin(); k!= (*j).second.end(); k++) { - oss << "Dim: " << (*i).first - << ", Components: " << (*j).first - << ", Type: " << (*k).first << std::endl; - } - } + typedef typename ImageTypesManager::MapOfImageComponentsToFunctionType::const_iterator MCompItType; + typedef typename ImageTypesManager::MapOfImageDimensionToFunctionType::const_iterator MDimItType; + typedef typename ImageTypesManager::MapOfPixelTypeToFunctionType::const_iterator MPixelItType; + for (MDimItType i=mImageTypesManager.mMapOfImageTypeToFunction.begin(); + i!=mImageTypesManager.mMapOfImageTypeToFunction.end(); + i++) { + for (MCompItType j=(*i).second.begin(); j!= (*i).second.end(); j++) { + for (MPixelItType k=(*j).second.begin(); k!= (*j).second.end(); k++) { + oss << "Dim: " << (*i).first + << ", Components: " << (*j).first + << ", Type: " << (*k).first << std::endl; + } } - return oss.str(); + } + return oss.str(); } //--------------------------------------------------------------------