ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
BackEnd Class Reference

#include <backend.h>

Inheritance diagram for BackEnd:
[legend]
Collaboration diagram for BackEnd:
[legend]

Public Slots

void softwareTrigger ()
 
void switchToContinuousAcquisition ()
 
void switchToSequencerAcquisition ()
 

Signals

void acquisitionRunningChanged ()
 
void acquisitionStarted ()
 
void cameraAboutToClose ()
 
void cameraClosed ()
 
void cameraDisconnected ()
 
void cameraOpened ()
 
void closing ()
 
void CounterChanged (unsigned int frameCounter, unsigned int errorCounter)
 
void counterChanged (const unsigned int frameCounter, const unsigned int errorCounter)
 
void counterChanged (unsigned int frameCounter, unsigned int errorCounter)
 
void counterChanged (unsigned int frameCounter, unsigned int errorCounter)
 
void counterChanged (unsigned int frameCounter, unsigned int errorCounter, double frameRate_ms, double lineRate_ms)
 
void error (QString message)
 
void errorOccurred (QString errorText)
 
void ImageReceived (QImage image)
 
void imageReceived (QImage image)
 
void imageReceived (QImage image)
 
void imageReceived (QImage image, double chunkDataExposureTime_ms)
 
void imageReceived (QImage image, double chunkDataExposureTime_ms)
 
void imageReceived (QImage image, unsigned int iterator, unsigned long long timestamp, unsigned long long timestampDelta)
 
void MessageBoxTrigger (QString messageTitle, QString messageText)
 
void messageBoxTrigger (QString messageTitle, QString messageText)
 
void messageBoxTrigger (QString messageTitle, QString messageText)
 
void messageBoxTrigger (QString messageTitle, QString messageText, bool critical)
 
void messageBoxTrigger (QString messageTitle, QString messageText, bool critical)
 
void nodeListChanged ()
 
void sequenceListChanged ()
 
void sequencerDurationChanged ()
 
void started (bool backendStarted)
 
void startupFinished ()
 
void triggerExecuted ()
 

Public Member Functions

bool acquisitionRunning () const
 
Q_INVOKABLE void applyPixelFormat (int index)
 
Q_INVOKABLE void applyRoi (QRect roi)
 
 BackEnd (QObject *parent=nullptr)
 
 BackEnd (QObject *parent=nullptr)
 
 BackEnd (QObject *parent=nullptr)
 
 BackEnd (QObject *parent=nullptr)
 
 BackEnd (QObject *parent=nullptr)
 
 BackEnd (QObject *parent=nullptr)
 
Q_INVOKABLE void cameraSettingsStartup ()
 
void closeCamera ()
 
void CloseDevice ()
 
void CloseDevice ()
 
void closeDevice ()
 
void closeDevice ()
 
void closeDevice ()
 
void EnsureDeviceAutoFeaturesAreDisabled ()
 
double GetExposureInUs ()
 
peak::afl::Range< double > GetExposureRange ()
 
double GetFrameRate ()
 
peak::afl::Range< double > GetFrameRateRange ()
 
std::pair< bool, std::pair< QString, QString > > getFrameStartTrigger ()
 
double GetGain ()
 
peak::afl::Range< double > GetGainRange ()
 
uint8_t GetHysteresis ()
 
peak::afl::Range< uint8_t > GetHysteresisRange ()
 
int GetImageHeight () const
 
int getImageHeight () const
 
int getImageHeight () const
 
int GetImageWidth () const
 
int getImageWidth () const
 
int getImageWidth () const
 
std::pair< bool, std::pair< QString, QString > > getLineStartTrigger ()
 
std::shared_ptr< peak::core::NodeMap > getNodemapRemoteDevice ()
 
peak_afl_rectangle GetROI ()
 
peak_afl_size GetROIMinSize ()
 
const std::vector< peak_afl_controller_algorithm > & GetSearchAlgorithms ()
 
peak_afl_controller_limit GetSearchRangeLimit ()
 
peak::afl::Range< int64_t > GetSearchRangeRange ()
 
const std::vector< peak_afl_controller_sharpness_algorithm > & GetSharpnessAlgorithms ()
 
bool HasDeviceAutoFocus ()
 
Q_INVOKABLE void init ()
 
bool InitializeAFL ()
 
bool IsAutoFocusModeSupported ()
 
bool IsAutoFocusROISupported ()
 
bool IsHysteresisSupported ()
 
bool IsSearchRangeSupported ()
 
Q_INVOKABLE void loadSequencerSet (int index)
 
NodeListModelnodeList () const
 
Q_INVOKABLE void openCamera (int index=-1)
 
bool OpenDevice ()
 
Q_INVOKABLE bool OpenDevice ()
 
Q_INVOKABLE bool openDevice ()
 
bool openDevice ()
 
bool openDevice ()
 
Q_INVOKABLE void prepareSequencer (int sequencerDuration)
 
Q_INVOKABLE void resetRoi ()
 
Q_INVOKABLE void saveSequencerSet (int index)
 
int sequencerDuration () const
 
bool SetAutoControllerFinishedCallback (const peak::afl::callback::FinishedCallback &callback)
 
bool SetAutoControllerProcessingCallback (const peak::afl::callback::DataProcessingCallback &callback)
 
void SetExposure (double exposureTimeInUs, double &fpsOut, double &maxFpsOut)
 
bool SetFocusMode (peak_afl_controller_automode mode)
 
void SetFrameRate (double frameRate)
 
void SetGain (double gain)
 
bool SetGainSelectorToAll ()
 
void SetHysteresis (uint8_t hysteresis)
 
bool SetROI (peak_afl_rectangle roi)
 
void SetSearchAlgorithm (int searchAlgorithmIndex)
 
bool SetSearchRange (int min, int max)
 
void SetSharpnessAlgorithm (int sharpnessAlgorithmIndex)
 
bool Start ()
 
Q_INVOKABLE bool start ()
 
bool start ()
 
bool start ()
 
Q_INVOKABLE void startAcquisition ()
 
Q_INVOKABLE void stopAcquisition ()
 
void updateCameraList ()
 
void UpdateSearchAlgorithms ()
 
void UpdateSharpnessAlgorithms ()
 
 ~BackEnd ()
 
 ~BackEnd () override
 
 ~BackEnd () override
 
 ~BackEnd () override
 
 ~BackEnd () override
 
 ~BackEnd () override
 

Static Public Member Functions

static Q_INVOKABLE bool isQt6 ()
 
static Q_INVOKABLE QString QtVersion ()
 
static Q_INVOKABLE QString QtVersion ()
 
static Q_INVOKABLE QString QtVersion ()
 
static Q_INVOKABLE QString Version ()
 
static Q_INVOKABLE QString Version ()
 
static Q_INVOKABLE QString Version ()
 

Properties

bool acquisitionRunning
 
NodeListModelnodeList
 
int sequencerDuration
 

Private Slots

void handleConfigDialogClosed ()
 
void handleConfigSubmitted (int offsetY, int imageHeight, const std::pair< bool, std::pair< QString, QString > > &frameStartTrigger, const std::pair< bool, std::pair< QString, QString > > &lineStartTrigger, int acquisitionLineRate, int PWMFrequency)
 

Private Member Functions

bool NodeIsAvailable (const std::string &node_name)
 
bool NodeIsReadable (const std::string &node_name)
 
bool NodeIsWriteable (const std::string &node_name)
 

Private Attributes

bool m_acquisitionRunning = false
 
QThread m_acquisitionThread
 
AcquisitionWorkerm_acquisitionWorker {}
 
bool m_aflInitialized = false
 
std::shared_ptr< peak::afl::Controller > m_autoController {}
 
std::shared_ptr< peak::afl::Manager > m_autoFeatureManager {}
 
std::shared_ptr< Cameram_camera = nullptr
 
ConfigDialogm_configDialog = nullptr
 
std::shared_ptr< peak::core::DataStream > m_dataStream = nullptr
 
std::shared_ptr< peak::core::Device > m_device = nullptr
 
std::vector< std::shared_ptr< peak::core::DeviceDescriptor > > m_devices
 
std::pair< bool, std::pair< QString, QString > > m_frameStartTrigger
 
QImage * m_image = new QImage
 
std::pair< bool, std::pair< QString, QString > > m_lineStartTrigger
 
std::shared_ptr< NodeListModelm_nodeList
 
std::shared_ptr< peak::core::NodeMap > m_nodeMap = nullptr
 
std::shared_ptr< peak::core::NodeMap > m_nodemapRemoteDevice
 
std::string m_openedCamera
 
std::vector< peak_afl_controller_algorithm > m_searchAlgorithms {}
 
int m_sequencerDuration = 4
 
std::vector< peak_afl_controller_sharpness_algorithm > m_sharpnessAlgorithms {}
 
bool m_submitted = false
 

Constructor & Destructor Documentation

◆ BackEnd() [1/6]

BackEnd::BackEnd ( QObject * parent = nullptr)
explicit

◆ ~BackEnd() [1/6]

BackEnd::~BackEnd ( )
override

◆ BackEnd() [2/6]

BackEnd::BackEnd ( QObject * parent = nullptr)
explicit

◆ ~BackEnd() [2/6]

BackEnd::~BackEnd ( )
override

◆ BackEnd() [3/6]

BackEnd::BackEnd ( QObject * parent = nullptr)
explicit

◆ ~BackEnd() [3/6]

BackEnd::~BackEnd ( )

◆ BackEnd() [4/6]

BackEnd::BackEnd ( QObject * parent = nullptr)
explicit

◆ ~BackEnd() [4/6]

BackEnd::~BackEnd ( )
override

◆ BackEnd() [5/6]

BackEnd::BackEnd ( QObject * parent = nullptr)
explicit

◆ ~BackEnd() [5/6]

BackEnd::~BackEnd ( )
override

◆ BackEnd() [6/6]

BackEnd::BackEnd ( QObject * parent = nullptr)
explicit

◆ ~BackEnd() [6/6]

BackEnd::~BackEnd ( )
override

Member Function Documentation

◆ acquisitionRunning()

bool BackEnd::acquisitionRunning ( ) const

◆ acquisitionRunningChanged

void BackEnd::acquisitionRunningChanged ( )
signal

◆ acquisitionStarted

void BackEnd::acquisitionStarted ( )
signal

◆ applyPixelFormat()

void BackEnd::applyPixelFormat ( int index)

◆ applyRoi()

void BackEnd::applyRoi ( QRect roi)

◆ cameraAboutToClose

void BackEnd::cameraAboutToClose ( )
signal

◆ cameraClosed

void BackEnd::cameraClosed ( )
signal

◆ cameraDisconnected

void BackEnd::cameraDisconnected ( )
signal

◆ cameraOpened

void BackEnd::cameraOpened ( )
signal

◆ cameraSettingsStartup()

void BackEnd::cameraSettingsStartup ( )

◆ closeCamera()

void BackEnd::closeCamera ( )

◆ CloseDevice() [1/2]

void BackEnd::CloseDevice ( )

◆ CloseDevice() [2/2]

void BackEnd::CloseDevice ( )

◆ closeDevice() [1/3]

void BackEnd::closeDevice ( )

◆ closeDevice() [2/3]

void BackEnd::closeDevice ( )

◆ closeDevice() [3/3]

void BackEnd::closeDevice ( )

◆ closing

void BackEnd::closing ( )
signal

◆ CounterChanged

void BackEnd::CounterChanged ( unsigned int frameCounter,
unsigned int errorCounter )
signal

◆ counterChanged [1/4]

void BackEnd::counterChanged ( const unsigned int frameCounter,
const unsigned int errorCounter )
signal

◆ counterChanged [2/4]

void BackEnd::counterChanged ( unsigned int frameCounter,
unsigned int errorCounter )
signal

◆ counterChanged [3/4]

void BackEnd::counterChanged ( unsigned int frameCounter,
unsigned int errorCounter )
signal

◆ counterChanged [4/4]

void BackEnd::counterChanged ( unsigned int frameCounter,
unsigned int errorCounter,
double frameRate_ms,
double lineRate_ms )
signal

◆ EnsureDeviceAutoFeaturesAreDisabled()

void BackEnd::EnsureDeviceAutoFeaturesAreDisabled ( )

◆ error

void BackEnd::error ( QString message)
signal

◆ errorOccurred

void BackEnd::errorOccurred ( QString errorText)
signal

◆ GetExposureInUs()

double BackEnd::GetExposureInUs ( )

◆ GetExposureRange()

peak::afl::Range< double > BackEnd::GetExposureRange ( )

◆ GetFrameRate()

double BackEnd::GetFrameRate ( )

◆ GetFrameRateRange()

peak::afl::Range< double > BackEnd::GetFrameRateRange ( )

◆ getFrameStartTrigger()

std::pair< bool, std::pair< QString, QString > > BackEnd::getFrameStartTrigger ( )

◆ GetGain()

double BackEnd::GetGain ( )

◆ GetGainRange()

peak::afl::Range< double > BackEnd::GetGainRange ( )

◆ GetHysteresis()

uint8_t BackEnd::GetHysteresis ( )

◆ GetHysteresisRange()

peak::afl::Range< uint8_t > BackEnd::GetHysteresisRange ( )

◆ GetImageHeight()

int BackEnd::GetImageHeight ( ) const

◆ getImageHeight() [1/2]

int BackEnd::getImageHeight ( ) const

◆ getImageHeight() [2/2]

int BackEnd::getImageHeight ( ) const

◆ GetImageWidth()

int BackEnd::GetImageWidth ( ) const

◆ getImageWidth() [1/2]

int BackEnd::getImageWidth ( ) const

◆ getImageWidth() [2/2]

int BackEnd::getImageWidth ( ) const

◆ getLineStartTrigger()

std::pair< bool, std::pair< QString, QString > > BackEnd::getLineStartTrigger ( )

◆ getNodemapRemoteDevice()

std::shared_ptr< peak::core::NodeMap > BackEnd::getNodemapRemoteDevice ( )

◆ GetROI()

peak_afl_rectangle BackEnd::GetROI ( )

◆ GetROIMinSize()

peak_afl_size BackEnd::GetROIMinSize ( )

◆ GetSearchAlgorithms()

const std::vector< peak_afl_controller_algorithm > & BackEnd::GetSearchAlgorithms ( )

◆ GetSearchRangeLimit()

peak_afl_controller_limit BackEnd::GetSearchRangeLimit ( )

◆ GetSearchRangeRange()

peak::afl::Range< int64_t > BackEnd::GetSearchRangeRange ( )

◆ GetSharpnessAlgorithms()

const std::vector< peak_afl_controller_sharpness_algorithm > & BackEnd::GetSharpnessAlgorithms ( )

◆ handleConfigDialogClosed

void BackEnd::handleConfigDialogClosed ( )
privateslot

◆ handleConfigSubmitted

void BackEnd::handleConfigSubmitted ( int offsetY,
int imageHeight,
const std::pair< bool, std::pair< QString, QString > > & frameStartTrigger,
const std::pair< bool, std::pair< QString, QString > > & lineStartTrigger,
int acquisitionLineRate,
int PWMFrequency )
privateslot

◆ HasDeviceAutoFocus()

bool BackEnd::HasDeviceAutoFocus ( )

◆ ImageReceived

void BackEnd::ImageReceived ( QImage image)
signal

◆ imageReceived [1/5]

void BackEnd::imageReceived ( QImage image)
signal

◆ imageReceived [2/5]

void BackEnd::imageReceived ( QImage image)
signal

◆ imageReceived [3/5]

void BackEnd::imageReceived ( QImage image,
double chunkDataExposureTime_ms )
signal

◆ imageReceived [4/5]

void BackEnd::imageReceived ( QImage image,
double chunkDataExposureTime_ms )
signal

◆ imageReceived [5/5]

void BackEnd::imageReceived ( QImage image,
unsigned int iterator,
unsigned long long timestamp,
unsigned long long timestampDelta )
signal

◆ init()

void BackEnd::init ( )

◆ InitializeAFL()

bool BackEnd::InitializeAFL ( )

◆ IsAutoFocusModeSupported()

bool BackEnd::IsAutoFocusModeSupported ( )

◆ IsAutoFocusROISupported()

bool BackEnd::IsAutoFocusROISupported ( )

◆ IsHysteresisSupported()

bool BackEnd::IsHysteresisSupported ( )

◆ isQt6()

bool BackEnd::isQt6 ( )
static

◆ IsSearchRangeSupported()

bool BackEnd::IsSearchRangeSupported ( )

◆ loadSequencerSet()

void BackEnd::loadSequencerSet ( int index)

◆ MessageBoxTrigger

void BackEnd::MessageBoxTrigger ( QString messageTitle,
QString messageText )
signal

◆ messageBoxTrigger [1/4]

void BackEnd::messageBoxTrigger ( QString messageTitle,
QString messageText )
signal

◆ messageBoxTrigger [2/4]

void BackEnd::messageBoxTrigger ( QString messageTitle,
QString messageText )
signal

◆ messageBoxTrigger [3/4]

void BackEnd::messageBoxTrigger ( QString messageTitle,
QString messageText,
bool critical )
signal

◆ messageBoxTrigger [4/4]

void BackEnd::messageBoxTrigger ( QString messageTitle,
QString messageText,
bool critical )
signal

◆ NodeIsAvailable()

bool BackEnd::NodeIsAvailable ( const std::string & node_name)
private

◆ NodeIsReadable()

bool BackEnd::NodeIsReadable ( const std::string & node_name)
private

◆ NodeIsWriteable()

bool BackEnd::NodeIsWriteable ( const std::string & node_name)
private

◆ nodeList()

NodeListModel * BackEnd::nodeList ( ) const

◆ nodeListChanged

void BackEnd::nodeListChanged ( )
signal

◆ openCamera()

void BackEnd::openCamera ( int index = -1)

◆ OpenDevice() [1/2]

bool BackEnd::OpenDevice ( )

◆ OpenDevice() [2/2]

Q_INVOKABLE bool BackEnd::OpenDevice ( )

◆ openDevice() [1/3]

bool BackEnd::openDevice ( )

◆ openDevice() [2/3]

bool BackEnd::openDevice ( )

◆ openDevice() [3/3]

bool BackEnd::openDevice ( )

◆ prepareSequencer()

void BackEnd::prepareSequencer ( int sequencerDuration)

◆ QtVersion() [1/3]

QString BackEnd::QtVersion ( )
static

◆ QtVersion() [2/3]

static Q_INVOKABLE QString BackEnd::QtVersion ( )
static

◆ QtVersion() [3/3]

static Q_INVOKABLE QString BackEnd::QtVersion ( )
static

◆ resetRoi()

void BackEnd::resetRoi ( )

◆ saveSequencerSet()

void BackEnd::saveSequencerSet ( int index)

◆ sequenceListChanged

void BackEnd::sequenceListChanged ( )
signal

◆ sequencerDuration()

int BackEnd::sequencerDuration ( ) const

◆ sequencerDurationChanged

void BackEnd::sequencerDurationChanged ( )
signal

◆ SetAutoControllerFinishedCallback()

bool BackEnd::SetAutoControllerFinishedCallback ( const peak::afl::callback::FinishedCallback & callback)

◆ SetAutoControllerProcessingCallback()

bool BackEnd::SetAutoControllerProcessingCallback ( const peak::afl::callback::DataProcessingCallback & callback)

◆ SetExposure()

void BackEnd::SetExposure ( double exposureTimeInUs,
double & fpsOut,
double & maxFpsOut )

◆ SetFocusMode()

bool BackEnd::SetFocusMode ( peak_afl_controller_automode mode)

◆ SetFrameRate()

void BackEnd::SetFrameRate ( double frameRate)

◆ SetGain()

void BackEnd::SetGain ( double gain)

◆ SetGainSelectorToAll()

bool BackEnd::SetGainSelectorToAll ( )

◆ SetHysteresis()

void BackEnd::SetHysteresis ( uint8_t hysteresis)

◆ SetROI()

bool BackEnd::SetROI ( peak_afl_rectangle roi)

◆ SetSearchAlgorithm()

void BackEnd::SetSearchAlgorithm ( int searchAlgorithmIndex)

◆ SetSearchRange()

bool BackEnd::SetSearchRange ( int min,
int max )

◆ SetSharpnessAlgorithm()

void BackEnd::SetSharpnessAlgorithm ( int sharpnessAlgorithmIndex)

◆ softwareTrigger

void BackEnd::softwareTrigger ( )
slot

◆ Start()

bool BackEnd::Start ( )

◆ start() [1/3]

bool BackEnd::start ( )

◆ start() [2/3]

bool BackEnd::start ( )

◆ start() [3/3]

bool BackEnd::start ( )

◆ startAcquisition()

void BackEnd::startAcquisition ( )

◆ started

void BackEnd::started ( bool backendStarted)
signal

◆ startupFinished

void BackEnd::startupFinished ( )
signal

◆ stopAcquisition()

void BackEnd::stopAcquisition ( )

◆ switchToContinuousAcquisition

void BackEnd::switchToContinuousAcquisition ( )
slot

◆ switchToSequencerAcquisition

void BackEnd::switchToSequencerAcquisition ( )
slot

◆ triggerExecuted

void BackEnd::triggerExecuted ( )
signal

◆ updateCameraList()

void BackEnd::updateCameraList ( )

◆ UpdateSearchAlgorithms()

void BackEnd::UpdateSearchAlgorithms ( )

◆ UpdateSharpnessAlgorithms()

void BackEnd::UpdateSharpnessAlgorithms ( )

◆ Version() [1/3]

QString BackEnd::Version ( )
static

◆ Version() [2/3]

static Q_INVOKABLE QString BackEnd::Version ( )
static

◆ Version() [3/3]

static Q_INVOKABLE QString BackEnd::Version ( )
static

Member Data Documentation

◆ m_acquisitionRunning

bool BackEnd::m_acquisitionRunning = false
private

◆ m_acquisitionThread

QThread BackEnd::m_acquisitionThread
private

◆ m_acquisitionWorker

AcquisitionWorker * BackEnd::m_acquisitionWorker {}
private

◆ m_aflInitialized

bool BackEnd::m_aflInitialized = false
private

◆ m_autoController

std::shared_ptr<peak::afl::Controller> BackEnd::m_autoController {}
private

◆ m_autoFeatureManager

std::shared_ptr<peak::afl::Manager> BackEnd::m_autoFeatureManager {}
private

◆ m_camera

std::shared_ptr<Camera> BackEnd::m_camera = nullptr
private

◆ m_configDialog

ConfigDialog* BackEnd::m_configDialog = nullptr
private

◆ m_dataStream

std::shared_ptr< peak::core::DataStream > BackEnd::m_dataStream = nullptr
private

◆ m_device

std::shared_ptr< peak::core::Device > BackEnd::m_device = nullptr
private

◆ m_devices

std::vector<std::shared_ptr<peak::core::DeviceDescriptor> > BackEnd::m_devices
private

◆ m_frameStartTrigger

std::pair<bool, std::pair<QString, QString> > BackEnd::m_frameStartTrigger
private

◆ m_image

QImage* BackEnd::m_image = new QImage
private

◆ m_lineStartTrigger

std::pair<bool, std::pair<QString, QString> > BackEnd::m_lineStartTrigger
private

◆ m_nodeList

std::shared_ptr<NodeListModel> BackEnd::m_nodeList
private

◆ m_nodeMap

std::shared_ptr<peak::core::NodeMap> BackEnd::m_nodeMap = nullptr
private

◆ m_nodemapRemoteDevice

std::shared_ptr< peak::core::NodeMap > BackEnd::m_nodemapRemoteDevice
private

◆ m_openedCamera

std::string BackEnd::m_openedCamera
private

◆ m_searchAlgorithms

std::vector<peak_afl_controller_algorithm> BackEnd::m_searchAlgorithms {}
private

◆ m_sequencerDuration

int BackEnd::m_sequencerDuration = 4
private

◆ m_sharpnessAlgorithms

std::vector<peak_afl_controller_sharpness_algorithm> BackEnd::m_sharpnessAlgorithms {}
private

◆ m_submitted

bool BackEnd::m_submitted = false
private

Property Documentation

◆ acquisitionRunning

bool BackEnd::acquisitionRunning
read

◆ nodeList

NodeListModel* BackEnd::nodeList
read

◆ sequencerDuration

int BackEnd::sequencerDuration
read

The documentation for this class was generated from the following files: