Go to the documentation of this file.00001 #include "creaImageIOSimpleView.h"
00002 #include "boost/filesystem/operations.hpp"
00003 #include "boost/filesystem/fstream.hpp"
00004
00005 namespace creaImageIO
00006 {
00007 bool SimpleView::readFile(std::vector<std::string> i_filenames, std::vector<vtkImageData *> &i_img)
00008 {
00009 bool bresult, bfinal = true;
00010 ImageReader *mReader = new ImageReader();
00011 std::vector<std::string>::iterator it = i_filenames.begin();
00012 for (; it != i_filenames.end(); it++)
00013 {
00014 bresult = mReader->CanRead((*it).c_str());
00015 if(bresult)
00016 {
00017 i_img.push_back(mReader->ReadImage((*it).c_str()));
00018 }
00019 else
00020 {
00021 bfinal = false;
00022 }
00023 }
00024 delete mReader;
00025 return bfinal;
00026 }
00027
00028 bool SimpleView::readDirectory(const std::string i_pathname, std::vector<vtkImageData *> &i_imgs)
00029 {
00030 bool bresult = true;
00031 ImageReader *mReader = new ImageReader();
00032 std::vector<std::string> names;
00033 bresult = boost::filesystem::exists( i_pathname );
00034 if (bresult)
00035 {
00036 boost::filesystem::directory_iterator itr(i_pathname);
00037 boost::filesystem::directory_iterator end_itr;
00038 for(;itr != end_itr; ++itr)
00039 {
00040 if (!boost::filesystem::is_directory(itr->status()))
00041 {
00042 if( mReader->CanRead(itr->string()) )
00043 {
00044 names.push_back(itr->string());
00045 }
00046 }
00047 }
00048 std::sort (names.begin(), names.end());
00049 int lgr = names.size();
00050
00051 for(int i=0; i<lgr; i++)
00052 {
00053 std::cout << names[i] << std::endl;
00054 i_imgs.push_back( mReader->ReadImage(names[i]) );
00055 }
00056 }
00057 return bresult;
00058 }
00059 }
00060