mirror of
https://gitlab.ethz.ch/gfattori/glocalize.git
synced 2026-05-03 13:44:26 +02:00
adding service worker structure for dicomscan skullremoval and volumepreparation
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#include "DicomScanWorker.h"
|
||||
|
||||
DicomScanWorker::DicomScanWorker(QObject* parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
DicomScanService::Callbacks cb;
|
||||
cb.folderIsEmpty = [&]() { emit folderIsEmpty(); };
|
||||
cb.statusInfo = [&](QString msg) { emit statusInfo(msg); };
|
||||
cb.parse_result = [&](int r, gPatientRTGeneralInfos* infos) { emit parse_result(r, infos); };
|
||||
cb.loadFail = [&](QString msg) { emit loadFail(msg); };
|
||||
cb.loadEnd = [&](vtkImageData* vol) { emit loadEnd(vol); };
|
||||
cb.loadedRTIso = [&](double* iso) { emit loadedRTIso(iso); };
|
||||
cb.loadedVolBBox = [&](double* bbox, double* spacing, int* dim) { emit loadedVolBBox(bbox, spacing, dim); };
|
||||
cb.referenceChange = [&](double dx, double dy, double dz) { emit referenceChange(dx, dy, dz); };
|
||||
cb.virtualIsoTested = [&](bool b) { emit virtualIsoTested(b); };
|
||||
svc.setCallbacks(std::move(cb));
|
||||
}
|
||||
|
||||
void DicomScanWorker::load(QString p_loadDir)
|
||||
{
|
||||
m_abort.store(false);
|
||||
if (m_abort.load()) { emit aborted(); return; }
|
||||
svc.load(p_loadDir);
|
||||
if (m_abort.load()) emit aborted();
|
||||
}
|
||||
|
||||
void DicomScanWorker::changeRef(int selectedRef)
|
||||
{
|
||||
svc.changeRef(selectedRef);
|
||||
}
|
||||
|
||||
void DicomScanWorker::abort()
|
||||
{
|
||||
m_abort.store(true);
|
||||
}
|
||||
Reference in New Issue
Block a user