]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOSimpleView.cpp
Add a simple dialog box to select file(s or directory or data from creaImageIO database
[creaImageIO.git] / src / creaImageIOSimpleView.cpp
diff --git a/src/creaImageIOSimpleView.cpp b/src/creaImageIOSimpleView.cpp
new file mode 100644 (file)
index 0000000..9ca576c
--- /dev/null
@@ -0,0 +1,52 @@
+#include "creaImageIOSimpleView.h"
+
+namespace creaImageIO
+{
+
+       bool SimpleView::readFile(std::vector<std::string> i_filenames, std::vector<vtkImageData *> &i_img)
+       {
+                       bool bresult, bfinal = true;
+                       ImageReader *mReader = new ImageReader();
+                       std::vector<std::string>::iterator it = i_filenames.begin();
+                       for (; it != i_filenames.end(); it++)
+                       {
+                               bresult = mReader->CanRead((*it).c_str());
+                               if(bresult)
+                               {
+                                       i_img.push_back(mReader->ReadImage((*it).c_str()));
+                               }
+                               else
+                               {
+                                       bfinal = false;
+                               }
+                       }
+                       delete mReader;
+                       return bfinal;
+                       
+       }
+
+       bool SimpleView::readDirectory(const std::string i_pathname, std::vector<vtkImageData *> &i_imgs)
+       {
+                       bool bresult = true;
+                       ImageReader *mReader = new ImageReader();
+
+                       bresult = boost::filesystem::exists( i_pathname );
+                       if (bresult)
+                       {
+                               boost::filesystem::directory_iterator itr(i_pathname);
+                               boost::filesystem::directory_iterator end_itr; 
+                               for(;itr != end_itr; ++itr)
+                               {
+                                       if (!boost::filesystem::is_directory(itr->status()))
+                                       {
+                                               if( mReader->CanRead(itr->string()) )
+                                               {
+                                                       i_imgs.push_back( mReader->ReadImage(itr->string()) );  
+                                               }
+                                       }
+                               }
+                       }
+                       return bresult;
+       }
+}
+