#include <QDateTime>
#include "vvPacsSettingsDialog.h"
#include "vvUtils.h"
-
+#include <algorithm>
+#include <itkGDCMImageIO.h>
+#include <itkGDCMSeriesFileNames.h>
vvQPacsConnection::vvQPacsConnection(QWidget *i_parent)
void vvQPacsConnection::on_importButton_clicked()
{
setCursor(QCursor(Qt::WaitCursor));
- QString path = QDir::homePath() +QString::fromStdString("/.move");
+ QString path = QString::fromStdString(getCMoveDirectory());
QDir dirpath (path);
if (dirpath.exists())
{
getDicomClientPort(), getDicomClientAETitle().c_str(), m_aetitle.c_str(), path.toStdString().c_str() );
gdcm::Directory theDir;
theDir.Load(path.toStdString().c_str());
- m_files = theDir.GetFilenames();
+ //m_files = theDir.GetFilenames();
+
+ typedef itk::GDCMSeriesFileNames NamesGeneratorType;
+ NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();
+ nameGenerator->SetUseSeriesDetails(true);
+
+ //ds gérer recursive moi-meme pour progress ...
+ nameGenerator->SetInputDirectory(path.toStdString());
+
+ // insert in table
+ typedef std::vector<std::string> SeriesIdContainer;
+ const SeriesIdContainer & seriesUID = nameGenerator->GetSeriesUIDs();
+ std::map<std::string, std::vector<std::string>* > mListOfSeriesFilenames;
+
+
+ m_fileseries.clear();
+
+ for (unsigned int i=0; i<seriesUID.size(); i++) {
+ m_fileseries.push_back( nameGenerator->GetFileNames(seriesUID[i]));
+ }
accept();
setCursor(QCursor(Qt::ArrowCursor));
-std::vector <std::string> vvQPacsConnection::getFileNames()
+std::vector <std::string> vvQPacsConnection::getFileNames(int i_series)
{
std::vector <std::string> filenames;
- gdcm::Directory::FilenamesType::iterator it = m_files.begin();
- for (;it != m_files.end(); it++)
+ gdcm::Directory::FilenamesType::iterator it = m_fileseries[i_series].begin();
+ for (;it != m_fileseries[i_series].end(); it++)
filenames.push_back(it->c_str());
return filenames;
}