Authors belong to:
- University of LYON http://www.universite-lyon.fr/
- - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
+ - Léon Bérard cancer center http://www.centreleonberard.fr
- CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
This software is distributed WITHOUT ANY WARRANTY; without even
- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
#ifndef CLITKCOMMON_H
#define CLITKCOMMON_H
// clitk include
-#include "clitkConfiguration.h"
#include "clitkPortability.h"
+#include "clitkDD.h"
+#include "clitkExceptionObject.h"
// itk include (include std)
#include <itkContinuousIndex.h>
#include <itkImageRegionConstIterator.h>
#include <itkImageRegionIterator.h>
+// std include
#include <fstream>
+// Include for "rusage"
+#include <ctime>
+#if defined(unix) || defined(__APPLE__)
+# include <sys/time.h>
+# include <sys/resource.h>
+#elif defined(WIN32)
+# include <windows.h>
+#endif
+
//--------------------------------------------------------------------
namespace clitk {
typedef unsigned short ushort;
typedef unsigned int uint;
- //--------------------------------------------------------------------
- // display
-#define DD(a) std::cout << #a " = [ " << a << " ]" << std::endl;std::cout.flush();
-#define DDV(a,n) { std::cout << #a " = [ "; for(unsigned int _i_=0; _i_<n; _i_++) { std::cout << a[_i_] << " "; }; std::cout << " ]" << std::endl;std::cout.flush();}
-template<class T>
-void _print_container(T const& a)
- { for(typename T::const_iterator i=a.begin();i!=a.end();++i) { std::cout << *i << " "; };}
-#define DDS(a) { std::cout << #a " = [ "; _print_container(a) ; std::cout << " ]" << std::endl;std::cout.flush():}
-
//--------------------------------------------------------------------
// when everything goes wrong
#define WHEREAMI "[ " << __FILE__ << " ] line " << __LINE__
template<class T> std::string toStringVector(const T * t, const int n);
template<class T> std::string toStringVector(const T & t, const int n);
template<class T> std::string toStringVector(const std::vector<T> & t);
+ template <class T> bool fromString(T& t,
+ const std::string& s,
+ std::ios_base& (*f)(std::ios_base&)=std::dec);
//--------------------------------------------------------------------
// Display a progress %
template<class ImageType>
void CloneImage(const typename ImageType::Pointer & input, typename ImageType::Pointer & output);
+ //--------------------------------------------------------------------
+ void PrintMemoryUsed();
+
+ //--------------------------------------------------------------------
+ // Convert a map to a vector
+ template <typename M, typename V>
+ void MapToVecFirst(const M & m, V & v);
+ template <typename M, typename V>
+ void MapToVecSecond(const M & m, V & v);
+
#include "clitkCommon.txx"
} // end namespace