Files
glocalize/DicomScanWorker.h
T

41 lines
959 B
C++

#pragma once
#include <QObject>
#include <atomic>
#include <QString>
#include "DicomScanService.h"
class vtkImageData;
class gPatientRTGeneralInfos;
// Qt wrapper around DicomScanService (runs in a worker thread).
class DicomScanWorker : public QObject
{
Q_OBJECT
public:
explicit DicomScanWorker(QObject* parent = nullptr);
public slots:
void load(QString p_loadDir);
void changeRef(int selectedRef);
void abort();
signals:
void folderIsEmpty();
void statusInfo(QString msg);
void parse_result(int result, gPatientRTGeneralInfos* patientInfos);
void loadFail(QString msg);
void loadEnd(vtkImageData* vol);
void loadedRTIso(double* iso);
void loadedVolBBox(double* bbox, double* spacing, int* dimension);
void referenceChange(double dx, double dy, double dz);
void virtualIsoTested(bool virtualIso);
void aborted();
private:
std::atomic_bool m_abort{false};
DicomScanService svc;
};