]> Creatis software - bbtk.git/blobdiff - packages/itk/src/bbitkImageSeriesReader.cxx
Now itk::ImageSeriesReader returns a 3D image when it's passed a 2D images
[bbtk.git] / packages / itk / src / bbitkImageSeriesReader.cxx
index 26fa4fadd6a49058aa0164c19ec4f5eb0d601fa6..1a18bcbb97138b1024ac4780cf6da16f7581165d 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbitkImageSeriesReader.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/17 08:18:21 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2008/11/26 10:13:32 $
+  Version:   $Revision: 1.7 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -65,21 +65,28 @@ namespace bbitk
       }
 
     std::string filename = filenames[0];
-
+    
     itk::ImageIOBase::Pointer genericReader = 
       itk::ImageIOFactory::CreateImageIO(filename.c_str(), 
                                         itk::ImageIOFactory::ReadMode);
+                                        
     if (!genericReader)
       {
-       bbtkError(bbGetFullName()<<" : File format unknown (while reading \"" << filename << "\")");
+       bbtkError(bbGetFullName()<<" : File format unknown (while reading [" << filename << "])");
       }
     genericReader->SetFileName(filename.c_str());
-    genericReader->ReadImageInformation();  
+    genericReader->ReadImageInformation();
     
-    bbtk::TypeInfo typ = GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(genericReader->GetComponentTypeInfo(), genericReader->GetNumberOfDimensions());
+    int plusUn;
+    if (filenames.size()>1)
+       plusUn = 1;
+    else
+       plusUn = 0;
     
+    bbtk::TypeInfo typ = GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(genericReader->GetComponentTypeInfo(), genericReader->GetNumberOfDimensions() + plusUn);
+      
     BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ,Read);
-  
+    
   }
 
   /** 
@@ -112,10 +119,6 @@ namespace bbitk
   }
 
 
-
-
-
-
 }
 // eo namespace bbtk