diff --git a/src/src/base/DICOMDirectoryHelper.cpp b/src/src/base/DICOMDirectoryHelper.cpp index 1190e56..3065a3b 100644 --- a/src/src/base/DICOMDirectoryHelper.cpp +++ b/src/src/base/DICOMDirectoryHelper.cpp @@ -127,8 +127,12 @@ void DICOMDirectoryHelper::getFileProperty(const std::string &path, DICOMFileMap void DICOMDirectoryHelper::Update() { std::unordered_map> series; - - getDirectoryProperties(this->dirName.c_str(), series); + if (!this->dirName.empty()){ + getDirectoryProperties(this->dirName.c_str(), series); + } + else{ + getFileProperty(this->fileName.c_str(), series); + } //sort files for (auto &pair : series) { auto iterator = std::find_if(seriesProperties.begin(),seriesProperties.end(), @@ -143,7 +147,6 @@ void DICOMDirectoryHelper::Update() { // printf("%s\r\n",f.second.FilePath.c_str()); vector.emplace_back(std::move(f.second)); } - std::sort(vector.begin(), vector.end(), [](const DICOMFileRefValue &v1, const DICOMFileRefValue &v2) { return v1.SeriesNumber != v2.SeriesNumber ? (v1.SeriesNumber < v2.SeriesNumber) : @@ -154,6 +157,7 @@ void DICOMDirectoryHelper::Update() { // printf("%s\r\n",v.FilePath.c_str()); files->emplace_back(std::move(v.FilePath)); }); + } } SeriesCount = seriesProperties.size();