DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
DynExpModule::Widefield::WidefieldMicroscopeWidget Class Reference

#include <WidefieldMicroscopeWidget.h>

+ Inheritance diagram for DynExpModule::Widefield::WidefieldMicroscopeWidget:

Classes

struct  StatusBarType
 

Public Types

enum  LocalizationType : int { LocalizeEmittersFromImage , RecallEmitterPositions }
 

Public Member Functions

 WidefieldMicroscopeWidget (WidefieldMicroscope &Owner, QModuleWidget *parent=nullptr)
 
 ~WidefieldMicroscopeWidget ()=default
 
bool AllowResize () const noexcept override final
 Indicates the resizing behavior of the user interface window. Override to adjust.
 
bool AllowDocked () const noexcept override final
 Indicates the docking behavior of the user interface window. Override to adjust.
 
const WidefieldMicroscopeGetCastOwner () const noexcept
 
void InitializeUI (Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData)
 
void SetUIState (const StateMachineStateType *State, const Util::StateMachineContext< StateMachineStateType > *Context, Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData)
 
void UpdateUIData (Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData)
 
void UpdateWidefieldUIData (Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData)
 
void UpdateConfocalUIData (Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData)
 
void UpdateHBTUIData (Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData)
 
void UpdateAutoMeasureUIData (Util::SynchronizedPointer< WidefieldMicroscopeData > &ModuleData, bool IsCharacterizingSample)
 
const auto GetUI () const noexcept
 
const auto & GetWidefieldConfocalModeActionGroup () const noexcept
 
const auto & GetMainGraphicsView () const noexcept
 
bool GetUIInitialized () const noexcept
 
void SetMainGraphicsImage (const QImage &Image) noexcept
 
void UpdateScene ()
 
- Public Member Functions inherited from DynExp::QModuleWidget
 QModuleWidget (QModuleBase &Owner, QWidget *Parent=nullptr)
 Constructs a QModuleWidget instance.
 
 ~QModuleWidget ()=default
 
const auto & GetOwner () const noexcept
 Getter for the owning module.
 
Qt::WindowFlags GetQtWindowFlags () const noexcept
 Depending on thr return value of AllowResize(), returns either the return value of GetQtWindowFlagsResizable() or GetQtWindowFlagsNonResizable().
 
std::string GetDataSaveDirectory () const
 Recalls a path where modules might save recorded data to. Used by Util::PromptSaveFilePathModule() to recall the directory the user has chosen last for saving a file. This directory is the same across all modules.
 
void SetDataSaveDirectory (std::string_view Directory) const
 Sets a path where modules might save recorded data to. Used by Util::PromptSaveFilePathModule() to store the directory the user has chosen last for saving a file. This directory is the same across all modules.
 

Private Types

enum  EmitterListColumnType : int {
  EmitterID , EmitterName , Image_x , Image_y ,
  Sample_x , Sample_y , EmitterState
}
 
enum class  EmitterListTaskType { None , GoToSamplePos , MarkerToConfocalSpot , RunCharacterization }
 

Private Slots

void OnSaveImageClicked ()
 
void OnZoomResetClicked ()
 
void OnZoomInClicked ()
 
void OnZoomOutClicked ()
 
void OnZoomFitClicked (bool Checked)
 
void OnImageMouseMove (QMouseEvent *Event)
 
void OnCellIDContextMenuRequested (const QPoint &Position)
 
void OnEmitterListCellClicked (int Row, int Column)
 
void OnEmitterListCellDoubleClicked (int Row, int Column)
 
void OnEmitterListContextMenuRequested (const QPoint &Position)
 
void OnEmitterListDeleteEntryClicked ()
 
void OnEmitterListEditEntryClicked ()
 
void OnEmitterListGoToSamplePositionClicked ()
 
void OnEmitterListBringMarkerToConfocalSpotClicked ()
 
void OnEmitterListRunCharacterizationFromID ()
 
void OnConfocalMapResetClicked ()
 
void OnConfocalMapSaveRawDataClicked ()
 
void OnHBTSaveRawDataClicked ()
 
void OnAutoMeasureSavePathBrowseClicked ()
 
void OnCharacterizationStepsContextMenuRequested ()
 

Private Member Functions

bool eventFilter (QObject *obj, QEvent *event) override
 
virtual void resizeEvent (QResizeEvent *event) override
 
bool StoreTWEmitterListSelection ()
 Stores the values of the respective cells of ui.TWEmitterList's currently selected row in MarkerPos and SamplePos.
 

Private Attributes

std::unique_ptr< Ui::WidefieldMicroscope > ui
 
StatusBarType StatusBar
 
QActionGroup * WidefieldConfocalModeActionGroup
 
Util::MarkerGraphicsViewMainGraphicsView
 
QPixmap MainGraphicsPixmap
 
QGraphicsPixmapItem * MainGraphicsPixmapItem
 
QGraphicsScene * MainGraphicsScene
 
QPoint CurrentConfocalSpotPosition
 
QString SaveWidefieldImageFilename
 
QMenu * EmitterListContextMenu
 
QMenu * ConfocalMapContextMenu
 
DynExpQuick::DynExpSurfaceGraphBackendConfocalGraph
 
size_t NumItemsInArray
 
double ConfocalSurfaceMinCounts
 
double ConfocalSurfaceMaxCounts
 
DynExpQuick::DynExpLineGraphBackendHBTGraph
 
Graph::LineGraphPlotInfo HBTPlotInfo
 
QMenu * CharacterizationStepsContextMenu
 
bool UIInitialized = false
 
QPoint MarkerPos
 
QPointF SamplePos
 
Util::MarkerGraphicsView::MarkerType::IDType MarkerID {}
 
EmitterListTaskType EmitterListTask = EmitterListTaskType::None
 

Additional Inherited Members

- Static Public Member Functions inherited from DynExp::QModuleWidget
static constexpr Qt::WindowFlags GetQtWindowFlagsResizable ()
 Default Qt window flags for resizable module windows.
 
static constexpr Qt::WindowFlags GetQtWindowFlagsNonResizable ()
 Default Qt window flags for non-resizable module windows.
 

Detailed Description

Definition at line 99 of file WidefieldMicroscopeWidget.h.

Member Enumeration Documentation

◆ EmitterListColumnType

Enumerator
EmitterID 
EmitterName 
Image_x 
Image_y 
Sample_x 
Sample_y 
EmitterState 

Definition at line 124 of file WidefieldMicroscopeWidget.h.

◆ EmitterListTaskType

Enumerator
None 
GoToSamplePos 
MarkerToConfocalSpot 
RunCharacterization 

Definition at line 155 of file WidefieldMicroscopeWidget.h.

◆ LocalizationType

Enumerator
LocalizeEmittersFromImage 
RecallEmitterPositions 

Definition at line 127 of file WidefieldMicroscopeWidget.h.

Constructor & Destructor Documentation

◆ WidefieldMicroscopeWidget()

DynExpModule::Widefield::WidefieldMicroscopeWidget::WidefieldMicroscopeWidget ( WidefieldMicroscope Owner,
QModuleWidget parent = nullptr 
)

Definition at line 42 of file WidefieldMicroscopeWidget.cpp.

◆ ~WidefieldMicroscopeWidget()

DynExpModule::Widefield::WidefieldMicroscopeWidget::~WidefieldMicroscopeWidget ( )
default

Member Function Documentation

◆ AllowDocked()

bool DynExpModule::Widefield::WidefieldMicroscopeWidget::AllowDocked ( ) const
inlinefinaloverridevirtualnoexcept

Indicates the docking behavior of the user interface window. Override to adjust.

Returns
Return false when the window should always be undocked from DynExp's main window, false otherwise.

Reimplemented from DynExp::QModuleWidget.

Definition at line 133 of file WidefieldMicroscopeWidget.h.

◆ AllowResize()

bool DynExpModule::Widefield::WidefieldMicroscopeWidget::AllowResize ( ) const
inlinefinaloverridevirtualnoexcept

Indicates the resizing behavior of the user interface window. Override to adjust.

Returns
Return true when the window should be resizable by the user, false otherwise.

Reimplemented from DynExp::QModuleWidget.

Definition at line 132 of file WidefieldMicroscopeWidget.h.

◆ eventFilter()

bool DynExpModule::Widefield::WidefieldMicroscopeWidget::eventFilter ( QObject *  obj,
QEvent *  event 
)
overrideprivate

Definition at line 663 of file WidefieldMicroscopeWidget.cpp.

◆ GetCastOwner()

const WidefieldMicroscope & DynExpModule::Widefield::WidefieldMicroscopeWidget::GetCastOwner ( ) const
noexcept

Definition at line 174 of file WidefieldMicroscopeWidget.cpp.

◆ GetMainGraphicsView()

const auto & DynExpModule::Widefield::WidefieldMicroscopeWidget::GetMainGraphicsView ( ) const
inlinenoexcept

Definition at line 148 of file WidefieldMicroscopeWidget.h.

◆ GetUI()

const auto DynExpModule::Widefield::WidefieldMicroscopeWidget::GetUI ( ) const
inlinenoexcept

Definition at line 146 of file WidefieldMicroscopeWidget.h.

◆ GetUIInitialized()

bool DynExpModule::Widefield::WidefieldMicroscopeWidget::GetUIInitialized ( ) const
inlinenoexcept

Definition at line 149 of file WidefieldMicroscopeWidget.h.

◆ GetWidefieldConfocalModeActionGroup()

const auto & DynExpModule::Widefield::WidefieldMicroscopeWidget::GetWidefieldConfocalModeActionGroup ( ) const
inlinenoexcept

Definition at line 147 of file WidefieldMicroscopeWidget.h.

◆ InitializeUI()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::InitializeUI ( Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData)

Definition at line 179 of file WidefieldMicroscopeWidget.cpp.

◆ OnAutoMeasureSavePathBrowseClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnAutoMeasureSavePathBrowseClicked ( )
privateslot

Definition at line 858 of file WidefieldMicroscopeWidget.cpp.

◆ OnCellIDContextMenuRequested

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnCellIDContextMenuRequested ( const QPoint &  Position)
privateslot

Definition at line 743 of file WidefieldMicroscopeWidget.cpp.

◆ OnCharacterizationStepsContextMenuRequested

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnCharacterizationStepsContextMenuRequested ( )
privateslot

Definition at line 869 of file WidefieldMicroscopeWidget.cpp.

◆ OnConfocalMapResetClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnConfocalMapResetClicked ( )
privateslot

Definition at line 813 of file WidefieldMicroscopeWidget.cpp.

◆ OnConfocalMapSaveRawDataClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnConfocalMapSaveRawDataClicked ( )
privateslot

Definition at line 819 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListBringMarkerToConfocalSpotClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListBringMarkerToConfocalSpotClicked ( )
privateslot

Definition at line 801 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListCellClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListCellClicked ( int  Row,
int  Column 
)
privateslot

Definition at line 748 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListCellDoubleClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListCellDoubleClicked ( int  Row,
int  Column 
)
privateslot

Definition at line 756 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListContextMenuRequested

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListContextMenuRequested ( const QPoint &  Position)
privateslot

Definition at line 762 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListDeleteEntryClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListDeleteEntryClicked ( )
privateslot

Definition at line 767 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListEditEntryClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListEditEntryClicked ( )
privateslot

Definition at line 779 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListGoToSamplePositionClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListGoToSamplePositionClicked ( )
privateslot

Definition at line 795 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListRunCharacterizationFromID

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnEmitterListRunCharacterizationFromID ( )
privateslot

Definition at line 807 of file WidefieldMicroscopeWidget.cpp.

◆ OnHBTSaveRawDataClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnHBTSaveRawDataClicked ( )
privateslot

Definition at line 840 of file WidefieldMicroscopeWidget.cpp.

◆ OnImageMouseMove

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnImageMouseMove ( QMouseEvent *  Event)
privateslot

Definition at line 730 of file WidefieldMicroscopeWidget.cpp.

◆ OnSaveImageClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnSaveImageClicked ( )
privateslot

Definition at line 697 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomFitClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnZoomFitClicked ( bool  Checked)
privateslot

Definition at line 724 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomInClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnZoomInClicked ( )
privateslot

Definition at line 712 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomOutClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnZoomOutClicked ( )
privateslot

Definition at line 718 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomResetClicked

void DynExpModule::Widefield::WidefieldMicroscopeWidget::OnZoomResetClicked ( )
privateslot

Definition at line 706 of file WidefieldMicroscopeWidget.cpp.

◆ resizeEvent()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::resizeEvent ( QResizeEvent *  event)
overrideprivatevirtual

Definition at line 676 of file WidefieldMicroscopeWidget.cpp.

◆ SetMainGraphicsImage()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::SetMainGraphicsImage ( const QImage &  Image)
noexcept

Definition at line 644 of file WidefieldMicroscopeWidget.cpp.

◆ SetUIState()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::SetUIState ( const StateMachineStateType State,
const Util::StateMachineContext< StateMachineStateType > *  Context,
Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData 
)

Definition at line 243 of file WidefieldMicroscopeWidget.cpp.

◆ StoreTWEmitterListSelection()

bool DynExpModule::Widefield::WidefieldMicroscopeWidget::StoreTWEmitterListSelection ( )
private

Stores the values of the respective cells of ui.TWEmitterList's currently selected row in MarkerPos and SamplePos.

Returns
Returns true if exactly one row has been selected, so that storing was successful. False otherwise.

Definition at line 681 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateAutoMeasureUIData()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::UpdateAutoMeasureUIData ( Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData,
bool  IsCharacterizingSample 
)

Definition at line 571 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateConfocalUIData()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::UpdateConfocalUIData ( Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData)

Definition at line 480 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateHBTUIData()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::UpdateHBTUIData ( Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData)

Definition at line 545 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateScene()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::UpdateScene ( )

Definition at line 650 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateUIData()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::UpdateUIData ( Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData)

Definition at line 320 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateWidefieldUIData()

void DynExpModule::Widefield::WidefieldMicroscopeWidget::UpdateWidefieldUIData ( Util::SynchronizedPointer< WidefieldMicroscopeData > &  ModuleData)

Definition at line 351 of file WidefieldMicroscopeWidget.cpp.

Member Data Documentation

◆ CharacterizationStepsContextMenu

QMenu* DynExpModule::Widefield::WidefieldMicroscopeWidget::CharacterizationStepsContextMenu
private

Definition at line 189 of file WidefieldMicroscopeWidget.h.

◆ ConfocalGraph

DynExpQuick::DynExpSurfaceGraphBackend* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalGraph
private

Definition at line 181 of file WidefieldMicroscopeWidget.h.

◆ ConfocalMapContextMenu

QMenu* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalMapContextMenu
private

Definition at line 180 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurfaceMaxCounts

double DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalSurfaceMaxCounts
private

Definition at line 184 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurfaceMinCounts

double DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalSurfaceMinCounts
private

Definition at line 183 of file WidefieldMicroscopeWidget.h.

◆ CurrentConfocalSpotPosition

QPoint DynExpModule::Widefield::WidefieldMicroscopeWidget::CurrentConfocalSpotPosition
private

Definition at line 175 of file WidefieldMicroscopeWidget.h.

◆ EmitterListContextMenu

QMenu* DynExpModule::Widefield::WidefieldMicroscopeWidget::EmitterListContextMenu
private

Definition at line 178 of file WidefieldMicroscopeWidget.h.

◆ EmitterListTask

EmitterListTaskType DynExpModule::Widefield::WidefieldMicroscopeWidget::EmitterListTask = EmitterListTaskType::None
private

Definition at line 196 of file WidefieldMicroscopeWidget.h.

◆ HBTGraph

DynExpQuick::DynExpLineGraphBackend* DynExpModule::Widefield::WidefieldMicroscopeWidget::HBTGraph
private

Definition at line 186 of file WidefieldMicroscopeWidget.h.

◆ HBTPlotInfo

Graph::LineGraphPlotInfo DynExpModule::Widefield::WidefieldMicroscopeWidget::HBTPlotInfo
private

Definition at line 187 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsPixmap

QPixmap DynExpModule::Widefield::WidefieldMicroscopeWidget::MainGraphicsPixmap
private

Definition at line 172 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsPixmapItem

QGraphicsPixmapItem* DynExpModule::Widefield::WidefieldMicroscopeWidget::MainGraphicsPixmapItem
private

Definition at line 173 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsScene

QGraphicsScene* DynExpModule::Widefield::WidefieldMicroscopeWidget::MainGraphicsScene
private

Definition at line 174 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsView

Util::MarkerGraphicsView* DynExpModule::Widefield::WidefieldMicroscopeWidget::MainGraphicsView
private

Definition at line 171 of file WidefieldMicroscopeWidget.h.

◆ MarkerID

Util::MarkerGraphicsView::MarkerType::IDType DynExpModule::Widefield::WidefieldMicroscopeWidget::MarkerID {}
private

Definition at line 195 of file WidefieldMicroscopeWidget.h.

◆ MarkerPos

QPoint DynExpModule::Widefield::WidefieldMicroscopeWidget::MarkerPos
private

Definition at line 193 of file WidefieldMicroscopeWidget.h.

◆ NumItemsInArray

size_t DynExpModule::Widefield::WidefieldMicroscopeWidget::NumItemsInArray
private

Definition at line 182 of file WidefieldMicroscopeWidget.h.

◆ SamplePos

QPointF DynExpModule::Widefield::WidefieldMicroscopeWidget::SamplePos
private

Definition at line 194 of file WidefieldMicroscopeWidget.h.

◆ SaveWidefieldImageFilename

QString DynExpModule::Widefield::WidefieldMicroscopeWidget::SaveWidefieldImageFilename
private

Definition at line 176 of file WidefieldMicroscopeWidget.h.

◆ StatusBar

StatusBarType DynExpModule::Widefield::WidefieldMicroscopeWidget::StatusBar
private

Definition at line 167 of file WidefieldMicroscopeWidget.h.

◆ ui

std::unique_ptr<Ui::WidefieldMicroscope> DynExpModule::Widefield::WidefieldMicroscopeWidget::ui
private

Definition at line 166 of file WidefieldMicroscopeWidget.h.

◆ UIInitialized

bool DynExpModule::Widefield::WidefieldMicroscopeWidget::UIInitialized = false
private

Definition at line 191 of file WidefieldMicroscopeWidget.h.

◆ WidefieldConfocalModeActionGroup

QActionGroup* DynExpModule::Widefield::WidefieldMicroscopeWidget::WidefieldConfocalModeActionGroup
private

Definition at line 169 of file WidefieldMicroscopeWidget.h.


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