X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageToImageGenericFilter.cxx;h=8561f696dc8821819d1bf51ae43e551efdf48ba0;hb=c7f6f682ddc01d2a41740bbdb806f9ef967b57d5;hp=0465b9b7879074047eb0eb0a5b3e02bb2059dcf0;hpb=893334d62f784e9c7153eadaf23e987ea3a38a7b;p=clitk.git diff --git a/common/clitkImageToImageGenericFilter.cxx b/common/clitkImageToImageGenericFilter.cxx index 0465b9b..8561f69 100644 --- a/common/clitkImageToImageGenericFilter.cxx +++ b/common/clitkImageToImageGenericFilter.cxx @@ -1,238 +1,180 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ #include "clitkImageToImageGenericFilter.h" #include "clitkImageCommon.h" -//-------------------------------------------------------------------- -clitk::ImageToImageGenericFilterBase::ImageToImageGenericFilterBase(std::string n) - :mIOVerbose(false) { - mFilterName = n; - mListOfAllowedDimensions.clear(); - mListOfAllowedPixelTypes.clear(); - mFailOnImageTypeError = true; -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::AddImageType(unsigned int d, std::string p) { - - mListOfAllowedDimensions.insert(d); - mListOfAllowedPixelTypes.insert(p); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetInputFilenames(const std::vector & filenames) { - mInputFilenames=filenames; -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetInputFilename(const std::string & filename) { - std::vector f; - f.push_back(filename); - SetInputFilenames(f); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::AddInputFilename(const std::string & filename) { - mInputFilenames.push_back(filename); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetOutputFilename(const std::string & filename) { - mOutputFilenames.clear(); - mOutputFilenames.push_back(filename); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::AddOutputFilename(const std::string & filename) -{ - mOutputFilenames.push_back(filename); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetOutputFilenames(const std::vector & filenames) -{ - mOutputFilenames.clear(); - std::copy(filenames.begin(),filenames.end(),mOutputFilenames.begin()); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -std::string clitk::ImageToImageGenericFilterBase::GetOutputFilename() -{ - assert(mOutputFilenames.size() == 1); - return mOutputFilenames.front(); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::GetInputImageDimensionAndPixelType(unsigned int& dim, \ - std::string& pixeltype,unsigned int& components) -{ - if (mInputFilenames.size()) - { - int comp_temp,dim_temp; //clitkCommonImage takes ints - ReadImageDimensionAndPixelType(mInputFilenames[0], dim_temp, pixeltype,comp_temp); - components=comp_temp; dim=dim_temp; - } - else if (mInputVVImages.size()) - { - pixeltype=mInputVVImages[0]->GetScalarTypeAsString(); - dim=mInputVVImages[0]->GetNumberOfDimensions(); - components=mInputVVImages[0]->GetNumberOfScalarComponents(); - } - else - assert(false); //No input image, shouldn't happen - - if (mIOVerbose) { - std::cout << "Input is " << mDim << "D " << mPixelTypeName << "." << std::endl; - } -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -vvImage::Pointer clitk::ImageToImageGenericFilterBase::GetOutputVVImage () -{ - assert(mOutputVVImages.size()); - return mOutputVVImages[0]; -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -std::vector clitk::ImageToImageGenericFilterBase::GetOutputVVImages() -{ - return mOutputVVImages; -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetInputVVImage (vvImage::Pointer input) -{ - mInputVVImages.clear(); - mInputVVImages.push_back(input); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::AddInputVVImage (vvImage::Pointer input) -{ - mInputVVImages.push_back(input); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetInputVVImages (std::vector input) -{ - mInputVVImages=input; -} -//-------------------------------------------------------------------- - - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckImageType() { - return (CheckDimension() && CheckPixelType()); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckDimension(unsigned int d) { - return (mListOfAllowedDimensions.find(d) != mListOfAllowedDimensions.end()); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckPixelType(std::string pt) { - return (mListOfAllowedPixelTypes.find(pt) != mListOfAllowedPixelTypes.end()); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckDimension() { - return CheckDimension(mDim); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckPixelType() { - return CheckPixelType(mPixelTypeName); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::PrintAvailableImageTypes() { - std::cout << GetAvailableImageTypes(); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -std::string clitk::ImageToImageGenericFilterBase::GetAvailableImageTypes() { - std::ostringstream oss; - oss << "The filter <" << mFilterName << "> manages "; - for(std::set::const_iterator i=mListOfAllowedDimensions.begin(); - i!=mListOfAllowedDimensions.end(); i++) { - oss << *i << "D "; - } - oss << "images, with pixel types: "; - for(std::set::const_iterator i=mListOfAllowedPixelTypes.begin(); - i!=mListOfAllowedPixelTypes.end(); i++) { - oss << *i << " "; - } - oss << std::endl; - return oss.str(); -} -//-------------------------------------------------------------------- - - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::ImageTypeError() { - std::cerr << "**Error** The filter <" << mFilterName << "> is not available for " - << mDim << "D images with pixel=" - << mPixelTypeName << "." << std::endl; - std::cerr << "**Error** Allowed image dim: \t"; - for(std::set::const_iterator i=mListOfAllowedDimensions.begin(); - i!=mListOfAllowedDimensions.end(); i++) { - std::cerr << *i << "D "; - } - std::cerr << std::endl << "**Error** Allowed pixel types: \t"; - for(std::set::const_iterator i=mListOfAllowedPixelTypes.begin(); - i!=mListOfAllowedPixelTypes.end(); i++) { - std::cerr << *i << " "; - } - std::cerr << std::endl; - exit(0); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetImageTypeError() { - std::cerr << "TODO ! " << std::endl; - exit(0); -} -//-------------------------------------------------------------------- +// //-------------------------------------------------------------------- +// clitk::ImageToImageGenericFilterBase::ImageToImageGenericFilterBase(std::string n) +// :mIOVerbose(false) { +// mFilterName = n; +// mFailOnImageTypeError = true; +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetInputFilenames(const std::vector & filenames) { +// mInputFilenames=filenames; +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetInputFilename(const std::string & filename) { +// std::vector f; +// f.push_back(filename); +// SetInputFilenames(f); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::AddInputFilename(const std::string & filename) { +// mInputFilenames.push_back(filename); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetOutputFilename(const std::string & filename) { +// mOutputFilenames.clear(); +// mOutputFilenames.push_back(filename); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::AddOutputFilename(const std::string & filename) +// { +// mOutputFilenames.push_back(filename); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetOutputFilenames(const std::vector & filenames) +// { +// mOutputFilenames.clear(); +// std::copy(filenames.begin(),filenames.end(),mOutputFilenames.begin()); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// std::string clitk::ImageToImageGenericFilterBase::GetOutputFilename() +// { +// assert(mOutputFilenames.size() == 1); +// return mOutputFilenames.front(); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::GetInputImageDimensionAndPixelType(unsigned int& dim, \ +// std::string& pixeltype,unsigned int& components) +// { +// if (mInputFilenames.size()) +// { +// int comp_temp,dim_temp; //clitkCommonImage takes ints +// ReadImageDimensionAndPixelType(mInputFilenames[0], dim_temp, pixeltype,comp_temp); +// components=comp_temp; dim=dim_temp; +// } +// else if (mInputVVImages.size()) +// { +// pixeltype=mInputVVImages[0]->GetScalarTypeAsString(); +// dim=mInputVVImages[0]->GetNumberOfDimensions(); +// components=mInputVVImages[0]->GetNumberOfScalarComponents(); +// } +// else +// assert(false); //No input image, shouldn't happen + +// if (mIOVerbose) { +// std::cout << "Input is " << mDim << "D " << mPixelTypeName << "." << std::endl; +// } +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// vvImage::Pointer clitk::ImageToImageGenericFilterBase::GetOutputVVImage () +// { +// assert(mOutputVVImages.size()); +// return mOutputVVImages[0]; +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// std::vector clitk::ImageToImageGenericFilterBase::GetOutputVVImages() +// { +// return mOutputVVImages; +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetInputVVImage (vvImage::Pointer input) +// { +// mInputVVImages.clear(); +// mInputVVImages.push_back(input); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::AddInputVVImage (vvImage::Pointer input) +// { +// mInputVVImages.push_back(input); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetInputVVImages (std::vector input) +// { +// mInputVVImages=input; +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::PrintAvailableImageTypes() { +// std::cout << GetAvailableImageTypes(); +// } +// //-------------------------------------------------------------------- + + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::ImageTypeError() { +// std::cerr << "**Error** The filter <" << mFilterName << "> is not available for " +// << mDim << "D images with pixel=" +// << mPixelTypeName << " and " +// << mNbOfComponents << " component." << std::endl; +// std::cerr << GetAvailableImageTypes(); +// exit(0); +// } +// //-------------------------------------------------------------------- + + +// //-------------------------------------------------------------------- +// void clitk::ImageToImageGenericFilterBase::SetImageTypeError() { +// std::cerr << "TODO ! " << std::endl; +// exit(0); +// } +// //--------------------------------------------------------------------