X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageToImageGenericFilter.cxx;h=4b702f46646ef8bc62b157db9c6ad6457d2b8094;hb=0b7c9b1e1215634b02cbd38d4e4ba101d6111ba8;hp=f41f8d36b3e09178d0cbb666bfc44ca36bb37ba2;hpb=9bcf64b7f7c5a7f0a39843df634c05b5d9e4e237;p=clitk.git diff --git a/common/clitkImageToImageGenericFilter.cxx b/common/clitkImageToImageGenericFilter.cxx index f41f8d3..4b702f4 100644 --- a/common/clitkImageToImageGenericFilter.cxx +++ b/common/clitkImageToImageGenericFilter.cxx @@ -1,243 +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; - mListOfAllowedDimension.clear(); - mListOfAllowedPixelType.clear(); - mFailOnImageTypeError = true; -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::AddImageType(unsigned int d, std::string p) { - // Search for dimension (to not duplicate) - std::vector::const_iterator it = - std::find (mListOfAllowedDimension.begin(), - mListOfAllowedDimension.end(), d); - if (it == mListOfAllowedDimension.end()) mListOfAllowedDimension.push_back(d); - // Search for PixelType (to not duplicate) - std::vector::const_iterator itt = - std::find (mListOfAllowedPixelType.begin(), - mListOfAllowedPixelType.end(), p); - if (itt == mListOfAllowedPixelType.end()) mListOfAllowedPixelType.push_back(p); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -void clitk::ImageToImageGenericFilterBase::SetInputFilenames(const std::vector & filenames) { - mInputFilenames.resize(filenames.size()); - std::copy(filenames.begin(), filenames.end(), mInputFilenames.begin()); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -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) -{ - 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 +// //-------------------------------------------------------------------- +// 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; -} -//-------------------------------------------------------------------- - - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckImageType() { - return (CheckDimension() && CheckPixelType()); -} -//-------------------------------------------------------------------- - - -//-------------------------------------------------------------------- -bool clitk::ImageToImageGenericFilterBase::CheckDimension(unsigned int d) { - bool b = false; - unsigned int i=0; - while ((!b) && (i manages "; - for(unsigned int i=0; i is not available for " - << mDim << "D images with pixel=" - << mPixelTypeName << "." << std::endl; - std::cerr << "**Error** Allowed image dim: \t"; - for(unsigned int i=0; i 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); +// } +// //--------------------------------------------------------------------