]> Creatis software - clitk.git/blobdiff - common/clitkCommon.h
fftw is not required anymore
[clitk.git] / common / clitkCommon.h
index 1c5f9a09bf4d6241046e19481b2b267ae644b1df..3a12a001bad6d1c7ee80ed75cab83d40ebff0095 100644 (file)
 
    -------------------------------------------------------------------*/
 
-// std include
-#include <config.h>
-#include <cstdlib>
-#include <algorithm>
-#include <iostream>
-#include <fstream>
-#include <sstream>
-#include <vector>
-#include <math.h>
-#include <typeinfo>
-
-#include "itkMacro.h"
+// clitk include
+#include "clitkPortability.h"
+
+// itk include (include std)
 #include <itkContinuousIndex.h>
+#include <itkMacro.h>
+#include <itkImageRegionConstIterator.h>
+#include <itkImageRegionIterator.h>
 
 //--------------------------------------------------------------------
 namespace clitk {
-  
-#if defined(WIN32)
-#define lrint(x) (floor(x+(x>0) ? 0.5 : -0.5))
-#endif
-  
+
   typedef unsigned char uchar;
   typedef unsigned short ushort;
   typedef unsigned int uint;
@@ -42,26 +33,19 @@ namespace clitk {
 #define DDV(a,n) { std::cout << #a " = [ "; for(unsigned int _i_=0; _i_<n; _i_++) { std::cout << a[_i_] << " "; }; std::cout << " ]" << std::endl;}
 
   //--------------------------------------------------------------------
-  // GGO with modified struct name
-#define GGO(ggo_filename, args_info)                                             \
-  gengetopt_args_info_##ggo_filename args_info;                                        \
-    cmdline_parser2(argc, argv, &args_info, 1, 1, 0);                  \
-    if (args_info.config_given)                                                \
-      cmdline_parser_configfile (args_info.config_arg, &args_info, 0, 0, 1); \
-    else cmdline_parser(argc, argv, &args_info);
+  // when everything goes wrong
+#define WHEREAMI "[ " << __FILE__  << " ] line " << __LINE__
+#define FATAL(a) std::cerr << "ERROR in " << WHEREAMI << ": " << a; exit(0);
   
-
-  /*   //--------------------------------------------------------------------
-  // GGO default
+  //--------------------------------------------------------------------
+  // GGO with modified struct name
 #define GGO(ggo_filename, args_info)                                    \
-  gengetopt_args_info_##ggo_filename args_info;                         \
+  args_info_##ggo_filename args_info;                                  \
   cmdline_parser2(argc, argv, &args_info, 1, 1, 0);                    \
   if (args_info.config_given)                                          \
     cmdline_parser_configfile (args_info.config_arg, &args_info, 0, 0, 1); \
-  else cmdline_parser(argc, argv, &args_info);
-  
- //--------------------------------------------------------------------
- */
+  else cmdline_parser(argc, argv, &args_info);  
+
   //--------------------------------------------------------------------
   // skip line with #
   void skipComment(std::istream & is);
@@ -194,7 +178,11 @@ namespace clitk {
   //--------------------------------------------------------------------
   void disableStdCerr();
   void enableStdCerr();
-  
+
+  //--------------------------------------------------------------------
+  template<class ImageType>
+  void CloneImage(const typename ImageType::Pointer & input, typename ImageType::Pointer & output);
+
 #include "clitkCommon.txx"
 
 } // end namespace