]> Creatis software - bbtk.git/commitdiff
(try to) fix trouble when file name contains space(s)
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Wed, 24 Jun 2009 08:08:57 +0000 (08:08 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Wed, 24 Jun 2009 08:08:57 +0000 (08:08 +0000)
packages/itk/src/bbitkImage.h
packages/itk/src/bbitkImageReader.cxx
packages/itk/src/bbitkImageSeriesReader.cxx
packages/std/src/bbstdFilesFromDirectory.cxx

index 000c95bbd5d88d341e9a4a8ac970f405c2d569ef..974582786df4a539432119bd9b90937c5882cde8 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbitkImage.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/18 10:45:43 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2009/06/24 08:08:57 $
+  Version:   $Revision: 1.7 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
 
 namespace bbitk
 {
-  
+
   // bbtk typedefs for itk images
 #define BBTK_TYPEDEF_ITK_IMAGE(TYPE,DIM)                               \
   typedef itk::Image<TYPE,DIM> Image_##TYPE##_##DIM;                   \
     typedef const Image_##TYPE##_##DIM Image_##TYPE##_##DIM##_c;       \
   typedef Image_##TYPE##_##DIM * Image_##TYPE##_##DIM##_ptr;           \
-  typedef Image_##TYPE##_##DIM##_c * Image_##TYPE##_##DIM##_cptr;      
+  typedef Image_##TYPE##_##DIM##_c * Image_##TYPE##_##DIM##_cptr;
 
 
 #define BBTK_TYPEDEF_ITK_IMAGES_DIM(DIM)       \
@@ -63,33 +63,33 @@ namespace bbitk
   BBTK_TYPEDEF_ITK_IMAGES_DIM(3);
   BBTK_TYPEDEF_ITK_IMAGES_DIM(4);
   //BBTK_TYPEDEF_ITK_IMAGES_DIM(5)
-  
-  
-  
+
+
+
 #define BBTK_BEGIN_TEMPLATE_SWITCH(TYPE_INFO) if (false) {}
-  
+
 #define BBTK_END_TEMPLATE_SWITCH(TYPE_INFO) else { bbtkError("bbtk was not built for itk images of type <"<< bbtk::demangle_type_name(TYPE_INFO.name())<<">"); }
 
 #define BBTK_END_TEMPLATE_SWITCH_MESSAGE(TYPE_INFO,MESSAGE) else { bbtkError(MESSAGE); }
-  
+
   /// Generic macro which calls a TEMPLATE_FUNCTION instanciated 
   /// on TEMPLATE_TYPE iff TYPE_INFO == typeid(TEST_TYPE).
   /// This macro must be used (maybe several times) between a pair of BEGIN_TEMPLATE_SWITCH and END_TEMPLATE_SWITCH macros
-#define TEMPLATE_SWITCH(TYPE_INFO,TEST_TYPE,TEMPLATE_FUNCTION,TEMPLATE_TYPE) \
-  else if (TYPE_INFO == typeid(bbitk::TEST_TYPE))                      \
+#define TEMPLATE_SWITCH(TYPE_INFO,TEST_TYPE,TEMPLATE_FUNCTION,TEMPLATE_TYPE)    \
+  else if (TYPE_INFO == typeid(bbitk::TEST_TYPE))                               \
     { TEMPLATE_FUNCTION<bbitk::TEMPLATE_TYPE>(); }
-  
-  
+
+
 // DIMENSION 2
 #ifdef BBTK_ITK_IMAGE_DIM_2
 #  ifdef BBTK_ITK_IMAGE_TYPE_int8_t 
-#    define BBTK_SWITCH_ITK_IMAGE_int8_t_2(TYPE_INFO,FUN,CONST)                \
+#    define BBTK_SWITCH_ITK_IMAGE_int8_t_2(TYPE_INFO,FUN,CONST)                        \
   TEMPLATE_SWITCH(TYPE_INFO,Image_int8_t_2_##CONST##ptr,FUN,Image_int8_t_2)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_int8_t_2(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_int16_t
-#    define BBTK_SWITCH_ITK_IMAGE_int16_t_2(TYPE_INFO,FUN,CONST)               \
+#    define BBTK_SWITCH_ITK_IMAGE_int16_t_2(TYPE_INFO,FUN,CONST)                \
   TEMPLATE_SWITCH(TYPE_INFO,Image_int16_t_2_##CONST##ptr,FUN,Image_int16_t_2)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_int16_t_2(TYPE_INFO,FUN,CONST)
@@ -107,7 +107,7 @@ namespace bbitk
 #    define BBTK_SWITCH_ITK_IMAGE_uint8_t_2(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_int16_t
-#    define BBTK_SWITCH_ITK_IMAGE_uint16_t_2(TYPE_INFO,FUN,CONST)              \
+#    define BBTK_SWITCH_ITK_IMAGE_uint16_t_2(TYPE_INFO,FUN,CONST)               \
   TEMPLATE_SWITCH(TYPE_INFO,Image_uint16_t_2_##CONST##ptr,FUN,Image_uint16_t_2)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_uint16_t_2(TYPE_INFO,FUN,CONST)
@@ -119,13 +119,13 @@ namespace bbitk
 #    define BBTK_SWITCH_ITK_IMAGE_uint32_t_2(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_float
-#    define BBTK_SWITCH_ITK_IMAGE_float_2(TYPE_INFO,FUN,CONST)         \
+#    define BBTK_SWITCH_ITK_IMAGE_float_2(TYPE_INFO,FUN,CONST)                  \
   TEMPLATE_SWITCH(TYPE_INFO,Image_float_2_##CONST##ptr,FUN,Image_float_2)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_float_2(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_double
-#    define BBTK_SWITCH_ITK_IMAGE_double_2(TYPE_INFO,FUN,CONST)                \
+#    define BBTK_SWITCH_ITK_IMAGE_double_2(TYPE_INFO,FUN,CONST)                 \
   TEMPLATE_SWITCH(TYPE_INFO,Image_double_2_##CONST##ptr,FUN,Image_double_2)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_double_2(TYPE_INFO,FUN,CONST)
@@ -145,7 +145,7 @@ namespace bbitk
 // DIMENSION 3
 #ifdef BBTK_ITK_IMAGE_DIM_3
 #  ifdef BBTK_ITK_IMAGE_TYPE_int8_t 
-#    define BBTK_SWITCH_ITK_IMAGE_int8_t_3(TYPE_INFO,FUN,CONST)                \
+#    define BBTK_SWITCH_ITK_IMAGE_int8_t_3(TYPE_INFO,FUN,CONST)                 \
   TEMPLATE_SWITCH(TYPE_INFO,Image_int8_t_3_##CONST##ptr,FUN,Image_int8_t_3)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_int8_t_3(TYPE_INFO,FUN,CONST)
@@ -181,13 +181,13 @@ namespace bbitk
 #    define BBTK_SWITCH_ITK_IMAGE_uint32_t_3(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_float
-#    define BBTK_SWITCH_ITK_IMAGE_float_3(TYPE_INFO,FUN,CONST)         \
+#    define BBTK_SWITCH_ITK_IMAGE_float_3(TYPE_INFO,FUN,CONST)                  \
   TEMPLATE_SWITCH(TYPE_INFO,Image_float_3_##CONST##ptr,FUN,Image_float_3)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_float_3(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_double
-#    define BBTK_SWITCH_ITK_IMAGE_double_3(TYPE_INFO,FUN,CONST)                \
+#    define BBTK_SWITCH_ITK_IMAGE_double_3(TYPE_INFO,FUN,CONST)                 \
   TEMPLATE_SWITCH(TYPE_INFO,Image_double_3_##CONST##ptr,FUN,Image_double_3)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_double_3(TYPE_INFO,FUN,CONST)
@@ -202,12 +202,12 @@ namespace bbitk
 #  define BBTK_SWITCH_ITK_IMAGE_float_3(TYPE_INFO,FUN,CONST)
 #  define BBTK_SWITCH_ITK_IMAGE_double_3(TYPE_INFO,FUN,CONST)
 #endif
-  
-  
+
+
   // DIMENSION 4
 #ifdef BBTK_ITK_IMAGE_DIM_4
 #  ifdef BBTK_ITK_IMAGE_TYPE_int8_t 
-#    define BBTK_SWITCH_ITK_IMAGE_int8_t_4(TYPE_INFO,FUN,CONST)                \
+#    define BBTK_SWITCH_ITK_IMAGE_int8_t_4(TYPE_INFO,FUN,CONST)                 \
   TEMPLATE_SWITCH(TYPE_INFO,Image_int8_t_4_##CONST##ptr,FUN,Image_int8_t_4)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_int8_t_4(TYPE_INFO,FUN,CONST)
@@ -237,19 +237,19 @@ namespace bbitk
 #    define BBTK_SWITCH_ITK_IMAGE_uint16_t_4(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_uint32_t
-#    define BBTK_SWITCH_ITK_IMAGE_uint32_t_4(TYPE_INFO,FUN,CONST)      \
+#    define BBTK_SWITCH_ITK_IMAGE_uint32_t_4(TYPE_INFO,FUN,CONST)               \
   TEMPLATE_SWITCH(TYPE_INFO,Image_uint32_t_4_##CONST##ptr,FUN,Image_uint32_t_4)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_uint32_t_4(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_float
-#    define BBTK_SWITCH_ITK_IMAGE_float_4(TYPE_INFO,FUN,CONST)         \
+#    define BBTK_SWITCH_ITK_IMAGE_float_4(TYPE_INFO,FUN,CONST)                  \
   TEMPLATE_SWITCH(TYPE_INFO,Image_float_4_##CONST##ptr,FUN,Image_float_4)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_float_4(TYPE_INFO,FUN,CONST)
 #  endif
 #  ifdef BBTK_ITK_IMAGE_TYPE_double
-#    define BBTK_SWITCH_ITK_IMAGE_double_4(TYPE_INFO,FUN,CONST)                \
+#    define BBTK_SWITCH_ITK_IMAGE_double_4(TYPE_INFO,FUN,CONST)                 \
   TEMPLATE_SWITCH(TYPE_INFO,Image_double_4_##CONST##ptr,FUN,Image_double_4)
 #  else
 #    define BBTK_SWITCH_ITK_IMAGE_double_4(TYPE_INFO,FUN,CONST)
@@ -265,7 +265,7 @@ namespace bbitk
 #  define BBTK_SWITCH_ITK_IMAGE_double_4(TYPE_INFO,FUN,CONST)
 #endif
 
-  
+
   /// General macro which calls the template function FUN instanciated 
   /// on the right type of itk image depending on the value of TYPE_INFO (which must be of type type_info). 
 #define BBTK_TEMPLATE_ITK_IMAGE_SWITCH(TYPE_INFO,FUN)  \
@@ -298,7 +298,7 @@ namespace bbitk
 
   /// General macro which calls the template function FUN instanciated 
   /// on the right type of itk image depending on the value of TYPE_INFO (which must be of type type_info). 
-#define BBTK_TEMPLATE_ITK_IMAGE_DIM_3_SWITCH(TYPE_INFO,FUN,ERROR_MESSAGE)      \
+#define BBTK_TEMPLATE_ITK_IMAGE_DIM_3_SWITCH(TYPE_INFO,FUN,ERROR_MESSAGE) \
   BBTK_BEGIN_TEMPLATE_SWITCH(TYPE_INFO)                        \
     BBTK_SWITCH_ITK_IMAGE_int8_t_3(TYPE_INFO,FUN,)     \
     BBTK_SWITCH_ITK_IMAGE_int16_t_3(TYPE_INFO,FUN,)    \
@@ -313,8 +313,8 @@ namespace bbitk
 
   /// General macro which calls the template function FUN instanciated 
   /// on the right type of itk image depending on the value of TYPE_INFO (which must be of type type_info). 
-  
-#define BBTK_TEMPLATE_CONST_ITK_IMAGE_SWITCH(TYPE_INFO,FUN)    \
+
+#define BBTK_TEMPLATE_CONST_ITK_IMAGE_SWITCH(TYPE_INFO,FUN) \
   BBTK_BEGIN_TEMPLATE_SWITCH(TYPE_INFO)                        \
     BBTK_SWITCH_ITK_IMAGE_int8_t_2(TYPE_INFO,FUN,c)    \
     BBTK_SWITCH_ITK_IMAGE_int16_t_2(TYPE_INFO,FUN,c)   \
@@ -340,8 +340,8 @@ namespace bbitk
     BBTK_SWITCH_ITK_IMAGE_uint32_t_4(TYPE_INFO,FUN,c)  \
     BBTK_SWITCH_ITK_IMAGE_float_4(TYPE_INFO,FUN,c)     \
     BBTK_SWITCH_ITK_IMAGE_double_4(TYPE_INFO,FUN,c)    \
-    BBTK_END_TEMPLATE_SWITCH(TYPE_INFO)                               
-   
+    BBTK_END_TEMPLATE_SWITCH(TYPE_INFO)      
+
 #define BBTK_GITIFPTI_DIM(DIM)                         \
   if (pti == typeid(unsigned char))                    \
     return typeid(itk::Image<unsigned char,DIM>*);     \
@@ -362,8 +362,8 @@ namespace bbitk
     if (pti == typeid(float))                          \
       return typeid(itk::Image<float,DIM>*);           \
     if (pti == typeid(double))                         \
-      return typeid(itk::Image<double,DIM>*);                          
-  
+      return typeid(itk::Image<double,DIM>*);
+
 
   inline bbtk::TypeInfo GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension( 
                                                                            bbtk::TypeInfo pti,
@@ -374,8 +374,8 @@ namespace bbitk
     else if (dim==4) { BBTK_GITIFPTI_DIM(4); }
     else 
       {
-               //bbtkGlobalError("GetImageTypeInfoFromPixelTypeInfo : itk::Images not compiled for dim "<<dim);
-       return typeid(void);
+        //bbtkGlobalError("GetImageTypeInfoFromPixelTypeInfo : itk::Images not compiled for dim "<<dim);
+        return typeid(void);
       }
     return typeid(void);
   }
@@ -417,33 +417,33 @@ public:
 protected:
   std::map<void*, ValueType> m_map;
 };
-  
-#define BBTK_BUILD_ITK_IMAGE_FUNCTION_MAPPING(MAP,FUN)                 \
-  MAP.value<bbtk::Image_int8_t_2_ptr>() = FUN<bbtk::Image_int8_t_2_ptr>; \
-    MAP.value<bbtk::Image_int16_t_2_ptr>() = FUN<bbtk::Image_int16_t_2_ptr>; \
-    MAP.value<bbtk::Image_int32_t_2_ptr>() = FUN<bbtk::Image_int32_t_2_ptr>; \
-    MAP.value<bbtk::Image_uint8_t_2_ptr>() = FUN<bbtk::Image_uint8_t_2_ptr>; \
+
+#define BBTK_BUILD_ITK_IMAGE_FUNCTION_MAPPING(MAP,FUN)                         \
+  MAP.value<bbtk::Image_int8_t_2_ptr>() = FUN<bbtk::Image_int8_t_2_ptr>;       \
+    MAP.value<bbtk::Image_int16_t_2_ptr>() = FUN<bbtk::Image_int16_t_2_ptr>;   \
+    MAP.value<bbtk::Image_int32_t_2_ptr>() = FUN<bbtk::Image_int32_t_2_ptr>;   \
+    MAP.value<bbtk::Image_uint8_t_2_ptr>() = FUN<bbtk::Image_uint8_t_2_ptr>;   \
     MAP.value<bbtk::Image_uint16_t_2_ptr>() = FUN<bbtk::Image_uint16_t_2_ptr>; \
     MAP.value<bbtk::Image_uint32_t_2_ptr>() = FUN<bbtk::Image_uint32_t_2_ptr>; \
-    MAP.value<bbtk::Image_float_2_ptr>() = FUN<bbtk::Image_float_2_ptr>;       \
-    MAP.value<bbtk::Image_double_2_ptr>() = FUN<bbtk::Image_double_2_ptr>; \
-    MAP.value<bbtk::Image_int8_t_3_ptr>() = FUN<bbtk::Image_int8_t_3_ptr>; \
-    MAP.value<bbtk::Image_int16_t_3_ptr>() = FUN<bbtk::Image_int16_t_3_ptr>; \
-    MAP.value<bbtk::Image_int32_t_3_ptr>() = FUN<bbtk::Image_int32_t_3_ptr>; \
-    MAP.value<bbtk::Image_uint8_t_3_ptr>() = FUN<bbtk::Image_uint8_t_3_ptr>; \
+    MAP.value<bbtk::Image_float_2_ptr>() = FUN<bbtk::Image_float_2_ptr>;       \
+    MAP.value<bbtk::Image_double_2_ptr>() = FUN<bbtk::Image_double_2_ptr>;     \
+    MAP.value<bbtk::Image_int8_t_3_ptr>() = FUN<bbtk::Image_int8_t_3_ptr>;     \
+    MAP.value<bbtk::Image_int16_t_3_ptr>() = FUN<bbtk::Image_int16_t_3_ptr>;   \
+    MAP.value<bbtk::Image_int32_t_3_ptr>() = FUN<bbtk::Image_int32_t_3_ptr>;   \
+    MAP.value<bbtk::Image_uint8_t_3_ptr>() = FUN<bbtk::Image_uint8_t_3_ptr>;   \
     MAP.value<bbtk::Image_uint16_t_3_ptr>() = FUN<bbtk::Image_uint16_t_3_ptr>; \
     MAP.value<bbtk::Image_uint32_t_3_ptr>() = FUN<bbtk::Image_uint32_t_3_ptr>; \
-    MAP.value<bbtk::Image_float_3_ptr>() = FUN<bbtk::Image_float_3_ptr>;       \
-    MAP.value<bbtk::Image_double_3_ptr>() = FUN<bbtk::Image_double_3_ptr>; \
-    MAP.value<bbtk::Image_int8_t_4_ptr>() = FUN<bbtk::Image_int8_t_4_ptr>; \
-    MAP.value<bbtk::Image_int16_t_4_ptr>() = FUN<bbtk::Image_int16_t_4_ptr>; \
-    MAP.value<bbtk::Image_int32_t_4_ptr>() = FUN<bbtk::Image_int32_t_4_ptr>; \
-    MAP.value<bbtk::Image_uint8_t_4_ptr>() = FUN<bbtk::Image_uint8_t_4_ptr>; \
+    MAP.value<bbtk::Image_float_3_ptr>() = FUN<bbtk::Image_float_3_ptr>;       \
+    MAP.value<bbtk::Image_double_3_ptr>() = FUN<bbtk::Image_double_3_ptr>;     \
+    MAP.value<bbtk::Image_int8_t_4_ptr>() = FUN<bbtk::Image_int8_t_4_ptr>;     \
+    MAP.value<bbtk::Image_int16_t_4_ptr>() = FUN<bbtk::Image_int16_t_4_ptr>;   \
+    MAP.value<bbtk::Image_int32_t_4_ptr>() = FUN<bbtk::Image_int32_t_4_ptr>;   \
+    MAP.value<bbtk::Image_uint8_t_4_ptr>() = FUN<bbtk::Image_uint8_t_4_ptr>;   \
     MAP.value<bbtk::Image_uint16_t_4_ptr>() = FUN<bbtk::Image_uint16_t_4_ptr>; \
     MAP.value<bbtk::Image_uint32_t_4_ptr>() = FUN<bbtk::Image_uint32_t_4_ptr>; \
-    MAP.value<bbtk::Image_float_4_ptr>() = FUN<bbtk::Image_float_4_ptr>;       \
+    MAP.value<bbtk::Image_float_4_ptr>() = FUN<bbtk::Image_float_4_ptr>;       \
     MAP.value<bbtk::Image_double_4_ptr>() = FUN<bbtk::Image_double_4_ptr>; 
-  
+
   //=======================================================================
 
 
@@ -553,13 +553,13 @@ namespace bbtk
  // Human readable names for itk images
 // #define BBTK_HUMAN_READABLE_ITK_IMAGE_NAME(TYPE,DIM) std::string("itkImage")+HumanTypeName<TYPE>()+std::string(#DIM)+std::string("ptr")
 
-#define BBTK_HUMAN_READABLE_ITK_IMAGE(TYPE,DIM)         \
-template <> inline std::string HumanTypeName< bbitk::Image_##TYPE##_##DIM##_ptr >()            \
-  { std::string n("itkImage"); \
-       n+= HumanTypeName<TYPE>();\
- n += std::string(#DIM);\
-n += std::string("ptr"); \
-       return n; }                                                     \
+#define BBTK_HUMAN_READABLE_ITK_IMAGE(TYPE,DIM)                                     \
+template <> inline std::string HumanTypeName< bbitk::Image_##TYPE##_##DIM##_ptr >() \
+  { std::string n("itkImage");                                                      \
+       n+= HumanTypeName<TYPE>();                                                  \
+ n += std::string(#DIM);                                                            \
+n += std::string("ptr");                                                            \
+       return n; }                                                                 \
     template <> inline std::string HumanTypeName< bbitk::Image_##TYPE##_##DIM##_ptr >(const bbitk::Image_##TYPE##_##DIM##_ptr &)       \
     { std::string n("itkImage");\
  n+= HumanTypeName<TYPE>(); \
index 58fd442e49e6bcdeb3fe63cade5b71c4b4615bb5..ecb8a8caf52cabb1eb0d382a69f967f108393ed8 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbitkImageReader.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:57:58 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2009/06/24 08:08:57 $
+  Version:   $Revision: 1.7 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -68,7 +68,7 @@ namespace bbitk
                                         itk::ImageIOFactory::ReadMode);
     if (!genericReader)
       {
-       bbtkError("File format unknown (while reading \"" << filename << "\")");
+       bbtkError("File format unknown (while reading [" << filename << "])");
       }
     genericReader->SetFileName(filename.c_str());
     genericReader->ReadImageInformation();  
index d182265656bb632c164995e5fcadd40d1ae11f34..0d6b35eefcd687cc9aa1cc24f7db17b22b55af1f 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbitkImageSeriesReader.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:57:58 $
-  Version:   $Revision: 1.9 $
+  Date:      $Date: 2009/06/24 08:08:57 $
+  Version:   $Revision: 1.10 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -67,6 +67,7 @@ namespace bbitk
        
   void ImageSeriesReader::Read()
   {
+std::cout << "--------------------------------------------------- ImageSeriesReader::Read( NO template)" << std::endl;
     const std::vector<std::string>& filenames = bbGetInputFileNames();
     if (!filenames.size()) 
       {
@@ -81,12 +82,16 @@ namespace bbitk
        p->Allocate();
        p->Register();
        bbSetOutputOut(p.GetPointer());
+std::cout << "--------------------------------------------------- ImageSeriesReader::Read( NO image found)" << std::endl;
        return;
        //bbtkError("Void vector passed to "<<bbGetFullName());
       }
 
     std::string filename = filenames[0];
-    
+    std::cout << "--------------------------------------------------- size " << filenames.size() << std::endl;
+std::cout << "--------------------------------------------------- filenames[0] : " << filenames[0]<< std::endl; 
+std::cout << "--------------------------------------------------- filename.c_str : " << filename.c_str()<< std::endl; 
+   
     itk::ImageIOBase::Pointer genericReader = 
       itk::ImageIOFactory::CreateImageIO(filename.c_str(), 
                                         itk::ImageIOFactory::ReadMode);
@@ -106,7 +111,6 @@ namespace bbitk
        plusUn = 0;
     
     bbtk::TypeInfo typ = GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(genericReader->GetComponentTypeInfo(), genericReader->GetNumberOfDimensions() + plusUn);
-    
       
     BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ,Read);
     
@@ -118,6 +122,7 @@ namespace bbitk
   template<class T>
   void ImageSeriesReader::Read()
   {
+std::cout << "--------------------------------------------------- ImageSeriesReader::Read()" << std::endl;
     bbtkDebugMessageInc("Core",9,"bbitk::ImageSeriesReader<"
                        <<bbtk::TypeName<T>()
                        <<">::Read()"<<std::endl);
@@ -127,7 +132,13 @@ namespace bbitk
 
     typename itkReaderType::Pointer reader = itkReaderType::New();
     const std::vector<std::string>& filenames = bbGetInputFileNames();
-    reader->SetFileNames(filenames);
+    
+std::cout << "--------------------------------------------------- size " << filenames.size() << std::endl;
+       for (int i = 0; i< filenames.size(); i++)
+       std::cout << "-- [" <<filenames[i] << "]" << std::endl;
+       
+    reader->SetFileNames(filenames);    
+
     try { reader->Update(); }
     catch( std::exception& e ) 
       {
@@ -143,16 +154,19 @@ namespace bbitk
        spacingToBeSet = true;
        spacingJPRx[0]= bbGetInputXSpacing();
     }
+
     if (bbGetInputYSpacing() > 0.)
     {
        spacingToBeSet = true;
        spacingJPRx[1]= bbGetInputYSpacing();
     }
+
     if (bbGetInputZSpacing() > 0.)
     {
        spacingToBeSet = true;
        spacingJPRx[2]= bbGetInputZSpacing();
     }
+
     if (spacingToBeSet)
        reader->GetOutput()->SetSpacing(spacingJPRx);   
     // JPRx 
@@ -164,7 +178,6 @@ namespace bbitk
     bbtkDebugDecTab("Core",9);
   }
 
-
 }
 // eo namespace bbtk
 
index 698cca545686326c20eb0a42da98a1009d3d8270..cf4030e0e224ccf4b3d4df0663981aba8d03f2b4 100644 (file)
@@ -1,5 +1,6 @@
 #include "bbstdFilesFromDirectory.h"
 #include "bbstdPackage.h"
+#include <string>
 
 #ifdef _MSC_VER
    #include <windows.h>
@@ -19,27 +20,28 @@ BBTK_BLACK_BOX_IMPLEMENTATION(FilesFromDirectory,bbtk::AtomicBlackBox);
 
 void FilesFromDirectory::Process()
 {
-
    DirName = bbGetInputIn();
    bool rec = bbGetInputRecursive();
    /*int nbFiles = */ Explore(DirName, rec);
-   bbSetOutputOut(Filenames);
+   bbSetOutputOut(Filenames);   
    
-  
+//  for (int i=0; i<Filenames.size(); i++)
+//     std::cout << "Filenames [" << i << "] = [" << Filenames[i] << "]" << std::endl;  
 }
+
 void FilesFromDirectory::bbUserSetDefaultValues()
 {
-
     bbSetInputIn(".");
-    bbSetInputRecursive(false);
-  
+    bbSetInputRecursive(false);  
+}
+
+void FilesFromDirectory::bbUserInitializeProcessing() 
+{ 
+}
+
+void FilesFromDirectory::bbUserFinalizeProcessing() 
+{
 }
-  void FilesFromDirectory::bbUserInitializeProcessing() 
-  { 
-  }
-  void FilesFromDirectory::bbUserFinalizeProcessing() 
-  {
-  }
   
 /**
  * \brief   Add a SEPARATOR to the end of the name if necessary
@@ -88,12 +90,21 @@ int FilesFromDirectory::Explore(std::string const &dirpath, bool recursive)
          // Need to check for . and .. to avoid infinite loop
          if ( fileName != "." && fileName != ".." && recursive )
          {
-            numberOfFiles += Explore(dirName+fileName,recursive);
+            numberOfFiles += Explore(dirName+fileName, recursive);
          }
       }
       else
       {
-         Filenames.push_back(dirName+fileName);
+         std::string temp = "\"" +dirName+fileName + "\"";
+         std::string::size_type spacePosition = temp.find_first_of(' ');
+         if (spacePosition != string::npos) 
+        {
+   std::cout << "=========================================== File name : [" <<temp << 
+              "] contains space(s); Discarted !" << std::endl;
+           temp.insert(spacePosition, "\\");
+   continue;  /// \TODO : fix the trouble (vtk?)
+        }      
+         Filenames.push_back(temp);
          numberOfFiles++;
       }
    }
@@ -135,17 +146,27 @@ int FilesFromDirectory::Explore(std::string const &dirpath, bool recursive)
    for (d = readdir(dir); d; d = readdir(dir))
    {
       fileName = dirName + d->d_name;
+      std::string temp = fileName;
       if( stat(fileName.c_str(), &buf) != 0 )
       {
          //gdcmErrorMacro( strerror(errno) );
       }
       if ( S_ISREG(buf.st_mode) )    //is it a regular file?
       {
-                 if ( d->d_name[0]!='.')
-                 {     
-              Filenames.push_back( fileName );
-              numberOfFiles++;
-                 }
+         if ( d->d_name[0]!='.')
+         {
+        
+             std::string::size_type /* long int */ spacePosition = temp.find_first_of(' ');
+             if (spacePosition != std::string::npos)
+            {
+   std::cout << "=========================================== File name : [" <<temp << 
+              "] contains space(s); Discarted !" << std::endl;
+                 temp.insert(spacePosition, "\\");
+   continue;   /// \TODO : fix the trouble (vtk?)
+             }
+             Filenames.push_back(temp);         
+             numberOfFiles++;
+         }
       }
       else if ( S_ISDIR(buf.st_mode) ) //directory?
       {