DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpModule::Widefield::WidefieldMicroscopeWidget Class Reference
+ 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. More...
 
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
 
const auto & GetConfocalSurface3DSeries () 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. More...
 
 ~QModuleWidget ()=default
 
const auto & GetOwner () const noexcept
 Getter for the owning module. More...
 
Qt::WindowFlags GetQtWindowFlags () const noexcept
 Depending on thr return value of AllowResize(), returns either the return value of GetQtWindowFlagsResizable() or GetQtWindowFlagsNonResizable(). More...
 
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. More...
 
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. More...
 

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 ()
 

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. More...
 

Private Attributes

Ui::WidefieldMicroscope ui
 
StatusBarType StatusBar
 
QActionGroup * WidefieldConfocalModeActionGroup
 
Util::MarkerGraphicsViewMainGraphicsView
 
QPixmap MainGraphicsPixmap
 
QGraphicsPixmapItem * MainGraphicsPixmapItem
 
QGraphicsScene * MainGraphicsScene
 
QPoint CurrentConfocalSpotPosition
 
QString SaveWidefieldImageFilename
 
QMenu * EmitterListContextMenu
 
QMenu * ConfocalMapContextMenu
 
Q3DSurface * ConfocalGraph
 
QWidget * ConfocalGraphContainer
 
QSurfaceDataProxy * ConfocalSurfaceDataProxy
 
QSurfaceDataArray * ConfocalSurfaceDataArray
 
QSurface3DSeries * ConfocalSurface3DSeries
 
size_t NumItemsInArray
 
double ConfocalSurfaceMinCounts
 
double ConfocalSurfaceMaxCounts
 
QXYSeries * HBTDataSeries
 
QChart * HBTDataChart
 
QValueAxis * HBTXAxis
 
QValueAxis * HBTYAxis
 
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
constexpr static Qt::WindowFlags GetQtWindowFlagsResizable ()
 Default Qt window flags for resizable module windows. More...
 
constexpr static Qt::WindowFlags GetQtWindowFlagsNonResizable ()
 Default Qt window flags for non-resizable module windows. More...
 

Detailed Description

Definition at line 89 of file WidefieldMicroscopeWidget.h.

Member Enumeration Documentation

◆ EmitterListColumnType

Enumerator
EmitterID 
EmitterName 
Image_x 
Image_y 
Sample_x 
Sample_y 
EmitterState 

Definition at line 114 of file WidefieldMicroscopeWidget.h.

◆ EmitterListTaskType

Enumerator
None 
GoToSamplePos 
MarkerToConfocalSpot 
RunCharacterization 

Definition at line 145 of file WidefieldMicroscopeWidget.h.

◆ LocalizationType

Enumerator
LocalizeEmittersFromImage 
RecallEmitterPositions 

Definition at line 117 of file WidefieldMicroscopeWidget.h.

Constructor & Destructor Documentation

◆ WidefieldMicroscopeWidget()

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

Definition at line 41 of file WidefieldMicroscopeWidget.cpp.

◆ ~WidefieldMicroscopeWidget()

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

Member Function Documentation

◆ 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 122 of file WidefieldMicroscopeWidget.h.

◆ eventFilter()

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

Definition at line 647 of file WidefieldMicroscopeWidget.cpp.

◆ GetCastOwner()

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

Definition at line 163 of file WidefieldMicroscopeWidget.cpp.

◆ GetConfocalSurface3DSeries()

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

Definition at line 138 of file WidefieldMicroscopeWidget.h.

◆ GetMainGraphicsView()

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

Definition at line 137 of file WidefieldMicroscopeWidget.h.

◆ GetUI()

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

Definition at line 135 of file WidefieldMicroscopeWidget.h.

◆ GetUIInitialized()

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

Definition at line 139 of file WidefieldMicroscopeWidget.h.

◆ GetWidefieldConfocalModeActionGroup()

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

Definition at line 136 of file WidefieldMicroscopeWidget.h.

◆ InitializeUI()

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

Definition at line 168 of file WidefieldMicroscopeWidget.cpp.

◆ OnAutoMeasureSavePathBrowseClicked

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

Definition at line 841 of file WidefieldMicroscopeWidget.cpp.

◆ OnCellIDContextMenuRequested

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

Definition at line 727 of file WidefieldMicroscopeWidget.cpp.

◆ OnConfocalMapResetClicked

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

Definition at line 797 of file WidefieldMicroscopeWidget.cpp.

◆ OnConfocalMapSaveRawDataClicked

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

Definition at line 802 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListBringMarkerToConfocalSpotClicked

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

Definition at line 785 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListCellClicked

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

Definition at line 732 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListCellDoubleClicked

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

Definition at line 740 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListContextMenuRequested

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

Definition at line 746 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListDeleteEntryClicked

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

Definition at line 751 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListEditEntryClicked

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

Definition at line 763 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListGoToSamplePositionClicked

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

Definition at line 779 of file WidefieldMicroscopeWidget.cpp.

◆ OnEmitterListRunCharacterizationFromID

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

Definition at line 791 of file WidefieldMicroscopeWidget.cpp.

◆ OnHBTSaveRawDataClicked

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

Definition at line 823 of file WidefieldMicroscopeWidget.cpp.

◆ OnImageMouseMove

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

Definition at line 714 of file WidefieldMicroscopeWidget.cpp.

◆ OnSaveImageClicked

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

Definition at line 681 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomFitClicked

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

Definition at line 708 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomInClicked

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

Definition at line 696 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomOutClicked

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

Definition at line 702 of file WidefieldMicroscopeWidget.cpp.

◆ OnZoomResetClicked

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

Definition at line 690 of file WidefieldMicroscopeWidget.cpp.

◆ resizeEvent()

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

Definition at line 660 of file WidefieldMicroscopeWidget.cpp.

◆ SetMainGraphicsImage()

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

Definition at line 628 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 226 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 665 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateAutoMeasureUIData()

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

Definition at line 549 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateConfocalUIData()

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

Definition at line 464 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateHBTUIData()

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

Definition at line 522 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateScene()

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

Definition at line 634 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateUIData()

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

Definition at line 304 of file WidefieldMicroscopeWidget.cpp.

◆ UpdateWidefieldUIData()

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

Definition at line 335 of file WidefieldMicroscopeWidget.cpp.

Member Data Documentation

◆ ConfocalGraph

Q3DSurface* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalGraph
private

Definition at line 171 of file WidefieldMicroscopeWidget.h.

◆ ConfocalGraphContainer

QWidget* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalGraphContainer
private

Definition at line 172 of file WidefieldMicroscopeWidget.h.

◆ ConfocalMapContextMenu

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

Definition at line 170 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurface3DSeries

QSurface3DSeries* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalSurface3DSeries
private

Definition at line 175 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurfaceDataArray

QSurfaceDataArray* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalSurfaceDataArray
private

Definition at line 174 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurfaceDataProxy

QSurfaceDataProxy* DynExpModule::Widefield::WidefieldMicroscopeWidget::ConfocalSurfaceDataProxy
private

Definition at line 173 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurfaceMaxCounts

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

Definition at line 178 of file WidefieldMicroscopeWidget.h.

◆ ConfocalSurfaceMinCounts

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

Definition at line 177 of file WidefieldMicroscopeWidget.h.

◆ CurrentConfocalSpotPosition

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

Definition at line 165 of file WidefieldMicroscopeWidget.h.

◆ EmitterListContextMenu

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

Definition at line 168 of file WidefieldMicroscopeWidget.h.

◆ EmitterListTask

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

Definition at line 190 of file WidefieldMicroscopeWidget.h.

◆ HBTDataChart

QChart* DynExpModule::Widefield::WidefieldMicroscopeWidget::HBTDataChart
private

Definition at line 181 of file WidefieldMicroscopeWidget.h.

◆ HBTDataSeries

QXYSeries* DynExpModule::Widefield::WidefieldMicroscopeWidget::HBTDataSeries
private

Definition at line 180 of file WidefieldMicroscopeWidget.h.

◆ HBTXAxis

QValueAxis* DynExpModule::Widefield::WidefieldMicroscopeWidget::HBTXAxis
private

Definition at line 182 of file WidefieldMicroscopeWidget.h.

◆ HBTYAxis

QValueAxis* DynExpModule::Widefield::WidefieldMicroscopeWidget::HBTYAxis
private

Definition at line 183 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsPixmap

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

Definition at line 162 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsPixmapItem

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

Definition at line 163 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsScene

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

Definition at line 164 of file WidefieldMicroscopeWidget.h.

◆ MainGraphicsView

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

Definition at line 161 of file WidefieldMicroscopeWidget.h.

◆ MarkerID

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

Definition at line 189 of file WidefieldMicroscopeWidget.h.

◆ MarkerPos

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

Definition at line 187 of file WidefieldMicroscopeWidget.h.

◆ NumItemsInArray

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

Definition at line 176 of file WidefieldMicroscopeWidget.h.

◆ SamplePos

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

Definition at line 188 of file WidefieldMicroscopeWidget.h.

◆ SaveWidefieldImageFilename

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

Definition at line 166 of file WidefieldMicroscopeWidget.h.

◆ StatusBar

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

Definition at line 157 of file WidefieldMicroscopeWidget.h.

◆ ui

Ui::WidefieldMicroscope DynExpModule::Widefield::WidefieldMicroscopeWidget::ui
private

Definition at line 156 of file WidefieldMicroscopeWidget.h.

◆ UIInitialized

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

Definition at line 185 of file WidefieldMicroscopeWidget.h.

◆ WidefieldConfocalModeActionGroup

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

Definition at line 159 of file WidefieldMicroscopeWidget.h.


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