-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAcquisitionDisplayThread.h
More file actions
55 lines (48 loc) · 1.42 KB
/
AcquisitionDisplayThread.h
File metadata and controls
55 lines (48 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#pragma once
#include "MMThread.h"
#include "MicroscopeManager.h"
#include "qwidget.h"
#include "PixmapReadyObject.h"
class AcquisitionDisplayThread :
public MMThread
{
public:
AcquisitionDisplayThread(unsigned long long bufferCount, MicroscopeManager* mm, QObject* mainWindow, int* targetFrameInfo);
AcquisitionDisplayThread(unsigned long long bufferCount, MicroscopeManager* mm, QObject* mainWindow, int* targetFrameInfo, std::vector<std::pair<char, int>> sd, std::vector<char> o, bool expActive, int fpv, int vps, float vsmin, float vsmax, int lm, float lp, std::string ed);
~AcquisitionDisplayThread();
void WaitForThread();
void processPixmap();
private:
void Acquire();
void Display();
unsigned long long bufferCount_;
std::thread acqThd_;
std::thread disThd_;
MicroscopeManager* mm_;
unsigned char* buf_;
QObject* mainWindow_;
int* targetFrameInfo_;
unsigned long long width;
unsigned long long height;
std::atomic_bool pixmapProcessed;
PixmapReadyObject* pix_;
std::atomic_bool masked;
//Metadata info
bool experimentActive;
int laserMode;
int framesPerVolume;
int volumesPerSecond;
std::string experimentDescription;
float volumeScaleMin;
float volumeScaleMax;
float laserPower;
int cameraMode;
std::vector<std::pair<char, int>> stateAndDuration;
std::vector<char> odorants;
int stateIndex;
int odorantIndex;
char currentOdor;
char currentLaser;
int remainingLaserImages;
int remainingStateImages;
};