X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageToImageGenericFilterBase.h;h=2d624baecef67ecb87d25124528c9c4f5940f09f;hb=f6eb604895c396999872e92dd944c57e8189da94;hp=007f40b2be03296de5736c3038bf1e0d945f6d57;hpb=decc1d09983198c5b2f1cc1a14e0716fea452f39;p=clitk.git diff --git a/common/clitkImageToImageGenericFilterBase.h b/common/clitkImageToImageGenericFilterBase.h index 007f40b..2d624ba 100644 --- a/common/clitkImageToImageGenericFilterBase.h +++ b/common/clitkImageToImageGenericFilterBase.h @@ -1,43 +1,32 @@ /*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Program: clitk - Module: $RCSfile: clitkImageToImageGenericFilterBase.h,v $ - Language: C++ - Date: $Date: 2010/03/02 13:02:52 $ - Version: $Revision: 1.1 $ - Author : Joel Schaerer - David Sarrut + 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 - Copyright (C) 2008 - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr - CREATIS-LRMN 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. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, version 3 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - =========================================================================*/ + 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 +======================================================================-====*/ #ifndef CLITKIMAGETOIMAGEGENERICFILTERBASE_H #define CLITKIMAGETOIMAGEGENERICFILTERBASE_H -// clitk include +// clitk #include "clitkCommon.h" #include "clitkImageCommon.h" #include "clitkCommonGenericFilter.h" -// itk include +// itk #include -// vv include +// vv #include "vvImage.h" #include "vvFromITK.h" #include "vvToITK.h" @@ -61,6 +50,11 @@ namespace clitk { // Filters information const std::string & GetFilterName(); void SetFilterName(std::string & n); + + // Error management + itkSetMacro(LastError, std::string); + itkGetConstMacro(LastError, std::string); + bool HasError() { return (GetLastError() != ""); } // Generic IO /// Returns the dimension and pixel type of the *first* input @@ -71,6 +65,7 @@ namespace clitk { void SetInputFilename(const std::string & filename); void AddInputFilename(const std::string & filename); void SetInputFilenames(const std::vector & filenames); + void EnableReadOnDisk(bool b); void SetOutputFilename(const std::string & filename); void AddOutputFilename(const std::string & filename); void SetOutputFilenames(const std::vector & filenames); @@ -95,6 +90,7 @@ namespace clitk { virtual bool Update() = 0; protected: + bool m_ReadOnDisk; /// Call this function to dispatch an output towards the correct sink template void SetNextOutput(typename ImageType::Pointer output); @@ -103,28 +99,37 @@ namespace clitk { template typename ImageType::Pointer GetInput(unsigned int n); - std::vector mInputFilenames; - std::list mOutputFilenames; + std::vector m_InputFilenames; + std::list m_OutputFilenames; - bool mIOVerbose; - unsigned int mDim; - std::string mPixelTypeName; - unsigned int mNbOfComponents; - std::string mFilterName; + bool m_IOVerbose; + unsigned int m_Dim; + std::string m_PixelTypeName; + unsigned int m_NbOfComponents; + std::string m_FilterName; - std::vector mInputVVImages; - std::vector mOutputVVImages; + std::vector m_InputVVImages; + std::vector m_OutputVVImages; void ImageTypeError(); void SetImageTypeError(); - bool mFailOnImageTypeError; + bool m_FailOnImageTypeError; + + std::string m_LastError; }; // end class clitk::ImageToImageGenericFilter #define ADD_VEC_IMAGE_TYPE(DIM, COMP, PT) this->mImageTypesManager.template AddNewDimensionAndPixelType(); #define ADD_IMAGE_TYPE(DIM, PT) this->mImageTypesManager.template AddNewDimensionAndPixelType(); - -#include "clitkImageToImageGenericFilterBase.txx" +#define ADD_DEFAULT_IMAGE_TYPES(DIM) ADD_IMAGE_TYPE(DIM, char); \ + ADD_IMAGE_TYPE(DIM, uchar); \ + ADD_IMAGE_TYPE(DIM, short); \ + ADD_IMAGE_TYPE(DIM, ushort); \ + ADD_IMAGE_TYPE(DIM, int); \ + ADD_IMAGE_TYPE(DIM, float); \ + ADD_IMAGE_TYPE(DIM, double); + + //#include "clitkImageToImageGenericFilterBase.txx" } // end namespace