Use DICOMTypes.h instead of QGlobals.h in DICOM object store reference classes.
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "SeriesImageSet.h"
|
||||
#include "IO/DICOM/DicomLoader.h"
|
||||
#include "IO/DICOM/ExtendMedicalImageProperties.h"
|
||||
|
||||
SeriesImageSet *ImageSetStore::getSeriesImageSet(const string &uniqueID) {
|
||||
//only user key to the series level
|
||||
@@ -81,10 +80,13 @@ void ImageSetStore::addImageSet(ExtendMedicalImageProperties* property) {
|
||||
}
|
||||
//TODO:need add Image set logic
|
||||
if (study->series->count(series_uid)>0){
|
||||
|
||||
study->series->at(series_uid)->insert({property->GetUniqueID(),property});
|
||||
imageProperties.push_back(property);
|
||||
}
|
||||
else {
|
||||
study->series->insert({series_uid,property});
|
||||
ImageSetMapType* v = new ImageSetMapType;
|
||||
v->insert({property->GetUniqueID(),property});
|
||||
study->series->insert({series_uid,v});
|
||||
imageProperties.push_back(property);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
#ifndef OMEGAV_IMAGESETSTORE_H
|
||||
#define OMEGAV_IMAGESETSTORE_H
|
||||
|
||||
#include "Common/QGlobals.h"
|
||||
#include <vector>
|
||||
#include <vtkObject.h>
|
||||
|
||||
#include "IO/Common/DICOMTypes.h"
|
||||
class SeriesImageSet;
|
||||
class ExtendMedicalImageProperties;
|
||||
typedef std::map<std::string, SeriesImageSet*> StoreMap;
|
||||
|
||||
@@ -340,37 +340,5 @@ private:
|
||||
|
||||
};
|
||||
|
||||
typedef std::map<std::string, ExtendMedicalImageProperties*> SeriesMapType;
|
||||
|
||||
typedef struct StudyInfo
|
||||
{
|
||||
std::string study_date;
|
||||
std::string study_time;
|
||||
std::string study_description;
|
||||
QPushButton *study_label;
|
||||
SeriesMapType *series;
|
||||
StudyInfo():study_label(nullptr), series(nullptr) {}
|
||||
~StudyInfo(){
|
||||
delete series;
|
||||
}
|
||||
}StudyInfo_t;
|
||||
typedef std::map<std::string, StudyInfo_t*> StudiesMapType;
|
||||
|
||||
typedef struct PatientInfo
|
||||
{
|
||||
std::string patient_name;
|
||||
std::string birth_date;
|
||||
QPushButton *patient_label;
|
||||
StudiesMapType *studies;
|
||||
PatientInfo():patient_label(nullptr), studies(nullptr){
|
||||
|
||||
}
|
||||
~PatientInfo(){
|
||||
for(auto item: *studies){
|
||||
delete item.second;
|
||||
}
|
||||
delete studies;
|
||||
}
|
||||
}PatientInfo_t;
|
||||
typedef std::map<std::string, PatientInfo_t*> PatientsMapType;
|
||||
#endif OMEGAV_QGLOBALS_H
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#include "SeriesImageSet.h"
|
||||
#include <vtkRendererCollection.h>
|
||||
#include "UI/Widget/ImageView/dicomimageview.h"
|
||||
#include "IO/DICOM/DicomLoader.h"
|
||||
|
||||
#include <QPainter>
|
||||
#include <QDebug>
|
||||
#include "IO/DICOM/ExtendMedicalImageProperties.h"
|
||||
#include <vtkBoundingBox.h>
|
||||
|
||||
#include "UI/Widget/ImageView/dicomimageview.h"
|
||||
#include "IO/DICOM/DicomLoader.h"
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
||||
44
src/src/IO/Common/DICOMTypes.h
Normal file
44
src/src/IO/Common/DICOMTypes.h
Normal file
@@ -0,0 +1,44 @@
|
||||
//
|
||||
// Created by Krad on 2022/9/21.
|
||||
//
|
||||
|
||||
#ifndef OMEGAV_DICOMTYPES_H
|
||||
#define OMEGAV_DICOMTYPES_H
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
class ExtendMedicalImageProperties;
|
||||
|
||||
typedef std::map<std::string, ExtendMedicalImageProperties*> ImageSetMapType;
|
||||
typedef std::map<std::string, ImageSetMapType*> SeriesMapType;
|
||||
|
||||
typedef struct StudyInfo
|
||||
{
|
||||
std::string study_date;
|
||||
std::string study_time;
|
||||
std::string study_description;
|
||||
SeriesMapType *series;
|
||||
StudyInfo(): series(nullptr) {}
|
||||
~StudyInfo(){
|
||||
delete series;
|
||||
}
|
||||
}StudyInfo_t;
|
||||
typedef std::map<std::string, StudyInfo_t*> StudiesMapType;
|
||||
|
||||
typedef struct PatientInfo
|
||||
{
|
||||
std::string patient_name;
|
||||
std::string birth_date;
|
||||
StudiesMapType *studies;
|
||||
PatientInfo(): studies(nullptr){
|
||||
|
||||
}
|
||||
~PatientInfo(){
|
||||
for(auto item: *studies){
|
||||
delete item.second;
|
||||
}
|
||||
delete studies;
|
||||
}
|
||||
}PatientInfo_t;
|
||||
typedef std::map<std::string, PatientInfo_t*> PatientsMapType;
|
||||
#endif //OMEGAV_DICOMTYPES_H
|
||||
@@ -118,15 +118,18 @@ void ThumbnailBarWidget::updateThumbnailBar()
|
||||
|
||||
DicomLoader::InitCodecs();
|
||||
for (SeriesMapType::const_iterator it_se = series->cbegin(); it_se != series->cend(); it_se++) {
|
||||
thumbnailImage *thumbnail = createThumbnailImage(seriesPanel, it_se->second);
|
||||
auto imageSetMap = (*it_se).second;
|
||||
for(ImageSetMapType::const_iterator it_is = imageSetMap->cbegin(); it_is != imageSetMap->cend(); it_is++ ){
|
||||
thumbnailImage *thumbnail = createThumbnailImage(seriesPanel, it_is->second);
|
||||
|
||||
seriesPanel->layout()->addWidget(thumbnail);
|
||||
if (firstThumbnail){
|
||||
setCurrentImageLabel(thumbnail);
|
||||
firstThumbnail = false;
|
||||
seriesPanel->layout()->addWidget(thumbnail);
|
||||
if (firstThumbnail){
|
||||
setCurrentImageLabel(thumbnail);
|
||||
firstThumbnail = false;
|
||||
}
|
||||
//save all thumbnail in one list
|
||||
LabelList << thumbnail;
|
||||
}
|
||||
//save all thumbnail in one list
|
||||
LabelList << thumbnail;
|
||||
}
|
||||
DicomLoader::FinalizeCodecs();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user