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

#include <WidefieldMicroscope.h>

+ Inheritance diagram for DynExpModule::Widefield::WidefieldMicroscope:

Classes

struct  ConfocalOptimizationStateType
 

Public Types

using ParamsType = WidefieldMicroscopeParams
 
using ConfigType = WidefieldMicroscopeConfigurator
 
using ModuleDataType = WidefieldMicroscopeData
 
- Public Types inherited from DynExp::QModuleBase
using ParamsType = QModuleParamsBase
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. "
 
using ConfigType = QModuleConfiguratorBase
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object.
 
using ModuleDataType = QModuleDataBase
 Type of the data class belonging to this ModuleBase type. Declare this alias in every derived class with the respective data class accompanying the derived ModuleBase.
 
- Public Types inherited from DynExp::ModuleBase
using ParamsType = ModuleParamsBase
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. "
 
using ConfigType = ModuleConfiguratorBase
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object.
 
using ModuleDataType = ModuleDataBase
 Type of the data class belonging to this ModuleBase type. Declare this alias in every derived class with the respective data class accompanying the derived ModuleBase.
 
using ModuleDataTypeSyncPtrType = Util::SynchronizedPointer< ModuleDataType >
 Alias for the return type of ModuleBase::GetModuleData(). Data class instances wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way.
 
using ModuleDataTypeSyncPtrConstType = Util::SynchronizedPointer< const ModuleDataType >
 Alias for the return type of ModuleBase::GetModuleData() const. Data class instances wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way.
 
using ModuleDataGetterType = Util::CallableMemberWrapper< ModuleBase, ModuleDataTypeSyncPtrType(ModuleBase::*)(const std::chrono::milliseconds)>
 Invoking an instance of this alias is supposed to call ModuleBase::GetModuleData() of the instance the Util::CallableMemberWrapper has been constructed with.
 
- Public Types inherited from DynExp::RunnableObject
using ParamsType = RunnableObjectParams
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. "
 
using ConfigType = RunnableObjectConfigurator
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object.
 
- Public Types inherited from DynExp::Object
using ParamsType = ParamsBase
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object.
 
using ParamsTypeSyncPtrType = Util::SynchronizedPointer< ParamsType >
 Alias for the return type of Object::GetParams(). Parameters wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way.
 
using ParamsConstTypeSyncPtrType = Util::SynchronizedPointer< const ParamsType >
 Alias for the return type of Object::GetParams() const. Parameters wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way.
 
using ConfigType = ConfiguratorBase
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object.
 
using ParamsGetterType = Util::CallableMemberWrapper< Object, decltype(&Object::GetParams)>
 Invoking an instance of this alias is supposed to call Object::GetParams() of the instance the Util::CallableMemberWrapper has been constructed with.
 

Public Member Functions

 WidefieldMicroscope (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 
virtual ~WidefieldMicroscope ()
 
virtual std::string GetName () const override
 Returns the name of this Object type.
 
virtual std::string GetCategory () const override
 Returns the category of this Object type.
 
std::chrono::milliseconds GetMainLoopDelay () const override final
 Specifies in which time intervals the module's event queue runs to handle pending events.
 
void RegisterConfocalGraphEvents (DynExpQuick::DynExpSurfaceGraphBackend *ConfocalGraph)
 
void OnSaveCurrentImage (DynExp::ModuleInstance *Instance, QString Filename) const
 
void OnGoToSamplePos (DynExp::ModuleInstance *Instance, QPointF SamplePos) const
 
void OnBringMarkerToConfocalSpot (DynExp::ModuleInstance *Instance, QPoint MarkerPos, QPointF SamplePos) const
 
void OnRunCharacterizationFromID (DynExp::ModuleInstance *Instance, Util::MarkerGraphicsView::MarkerType::IDType ID) const
 
- Public Member Functions inherited from DynExp::QModuleBase
 QModuleBase (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 Constructs a QModuleBase instance.
 
virtual ~QModuleBase ()=0
 
bool HasUI () const noexcept override final
 Determines whether this module possesses a user interface (UI) which is shown in a window dedicated to the module.
 
QAction & InitUI (DynExpManager &DynExpMgr, QMdiArea *const MdiArea)
 Sets up the module's user interface widgets and window frames. Called by the main user interface thread in DynExpManager::RegisterModuleUI().
 
void HideUI ()
 Removes MdiSubWindow, DockWidget, and ModuleWindowFocusAction setting them to nullptr.
 
virtual void DisableUI ()
 Disables all user interface controls in Widget. Does nothing if Widget is nullptr.
 
virtual void UpdateUI ()
 Enables the user interface controls in Widget. Does nothing if Widget is nullptr. Calls UpdateUIChild().
 
void UpdateModuleWindowFocusAction ()
 Updates the icon assigned to ModuleWindowFocusAction depending on whether Widget is docked to or undocked from MdiArea. Called by the main user interface thread in DynExpManager::UpdateModuleWindowsActionIcons().
 
void DockWindow () noexcept
 Docks Widget to MdiArea. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr.
 
void UndockWindow () noexcept
 Undocks Widget from MdiArea. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr.
 
void DockUndockWindow () noexcept
 Toggles the docking state of Widget. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr.
 
void SetFocus () noexcept
 Focuses/activates Widget and moves it on top of other windows if possible. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr.
 
void FocusMainWindow () noexcept
 Focuses/activates DynExp's main window calling DynExpManager::FocusMainWindow(). Does nothing if Widget is nullptr.
 
void SendKeyPressEventToMainWindow (QKeyEvent *Event) noexcept
 Sends a Qt key press event to DynExp's main window calling DynExpManager::PostKeyPressEvent(). Does nothing if Widget is nullptr.
 
bool IsWindowDocked () noexcept
 Checks whether Widget is docked.
 
bool IsActiveWindow ()
 Checks whether Widget is docked and active.
 
- Public Member Functions inherited from DynExp::ModuleBase
 ModuleBase (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs a ModuleBase instance.
 
virtual ~ModuleBase ()=0
 
void RestoreWindowStatesFromParams ()
 RestoreWindowStatesFromParams() only calls RestoreWindowStatesFromParamsChild(). Override RestoreWindowStatesFromParamsChild() to restore the styles of possibly owned windows according to the style saved in the module's parameters.
 
void UpdateParamsFromWindowStates ()
 UpdateParamsFromWindowStates() only calls UpdateParamsFromWindowStatesChild(). Override UpdateParamsFromWindowStatesChild() to store the styles of possibly owned windows in the module's parameters.
 
ModuleDataTypeSyncPtrType GetModuleData (const std::chrono::milliseconds Timeout=GetModuleDataTimeoutDefault)
 Locks the mutex of the module data class instance ModuleData assigned to this ModuleBase instance and returns a pointer to the locked ModuleData. Module data should not be locked by having called this function while subsequently calling a derived module's method which also makes use of the module's data by locking it. If this happens, the module data's mutex is locked recursively. In principle, this does no harm since Util::ISynchronizedPointerLockable supports that. But, it is not considered good practice.
 
ModuleDataTypeSyncPtrConstType GetModuleData (const std::chrono::milliseconds Timeout=GetModuleDataTimeoutDefault) const
 Locks the mutex of the module data class instance ModuleData assigned to this ModuleBase instance and returns a pointer to the locked ModuleData. Module data should not be locked by having called this function while subsequently calling a derived module's method which also makes use of the module's data by locking it. If this happens, the module data's mutex is locked recursively. In principle, this does no harm since Util::ISynchronizedPointerLockable supports that. But, it is not considered good practice.
 
void EnqueueEvent (ModuleDataBase::EventPtrType &&Event) const
 Enqueues Event at the module event queue's back. Takes ownership of the event. Notifies the module owning the respective ModuleDataBase's instance that a new event has been enqueued.
 
template<typename ReceiverType , typename EventType , typename... ArgsTs>
void MakeAndEnqueueEvent (ReceiverType *Receiver, EventType EventFuncPtr, ArgsTs &&...Args) const
 Calls MakeEvent() to construct a new event and subsequently enqueues the event into the module's event queue. Logical const-ness: this is a const member function to allow pointers to const ModuleBase inserting events into the module's event queue. These kind of pointers are e.g. returned by RunnableInstance::GetOwner() which can be called by events' EventBase::InvokeChild() functions. For const ModuleBase*, it is possible to insert events into the event queue, but not to change the ModuleBase object itself (e.g. calling Object::Reset()).
 
virtual bool TreatModuleExceptionsAsWarnings () const
 Determines whether this module should be terminated if an exception leaves the module's main loop or respective event handlers.
 
- Public Member Functions inherited from DynExp::RunnableObject
 RunnableObject (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs an Object instance.
 
virtual ~RunnableObject ()=0
 
void SetPaused (bool Pause, std::string Description="")
 Pauses or resumes a RunnableObject instance. Its thread stays running, but the instance does not perform any action while it is paused.
 
bool IsRunning () const noexcept
 Returns Running.
 
bool IsPaused () const noexcept
 Returns Paused.
 
bool IsExiting () const noexcept
 Returns ShouldExit.
 
auto GetStartupType () const noexcept
 Returns Startup.
 
auto GetReasonWhyPaused () const
 Returns ReasonWhyPaused.
 
bool Run (QWidget *ParentWidget=nullptr)
 Starts the RunnableObject instance's thread and ensures that all Object instances linked to this instance via ObjectLink parameters are in a ready state. Calls RunChild() which is to be overridden by derived classes to start a thread and to pass this thread back by calling StoreThread().
 
bool RunIfRunAutomatic ()
 Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::Automatic.
 
bool RunIfRunOnCreation ()
 Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::OnCreation.
 
void Terminate (bool Force=false, const std::chrono::milliseconds Timeout=TerminateTimeoutDefault)
 Notifies the RunnableObject instance's thread to terminate and waits until it has ended. Calls TerminateImpl().
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 
- Public Member Functions inherited from DynExp::Object
ItemIDType GetID () const noexcept
 Returns the ID of this Object instance. Thread-safe since ID is const.
 
std::string GetCategoryAndName () const
 Builds a string from an Object's category and name to allow the user to identify an Object's type.
 
void EnsureReadyState (bool IsAutomaticStartup)
 Ensures that this Object instance is ready by possibly starting its worker thread or by opening connections to hardware devices.
 
void CheckLinkedObjectStates () const
 Checks whether Object instances this instance uses are in a ready state. Override CheckLinkedObjectStatesChild() to implement this behavior.
 
void Reset ()
 Resets this Object instance (including all its derived classes) by calling ResetImpl(). A reset implies that the derived classes reload all their parameters from Params and that all LinkedObjectWrapper instances owned by this Object instance become invalidated.
 
void BlockIfUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout)
 Blocks this Object instance setting Object::IsBlocked to true. Refer to Object::IsBlocked for the consequences.
 
ParamsConstTypeSyncPtrType GetParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Locks the mutex of the parameter class instance Params assigned to this Object instance and returns a pointer to the locked Params.
 
ParamsTypeSyncPtrType GetParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault)
 Locks the mutex of the parameter class instance Params assigned to this Object instance and returns a pointer to the locked Params.
 
auto GetObjectName (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Returns the name of this Object instance.
 
bool IsSharedUsageEnabled (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Returns whether shared usage has been enabled for this Object instance. Refer to ParamsBase::UsageType.
 
void SetWarning (std::string Description, int ErrorCode) const
 Setter for Object::Warning. Sets the warning by a description and an error code.
 
void SetWarning (const Util::Exception &e) const
 Setter for Object::Warning. Sets the warning by retrieving the warning data from an exception e.
 
void ClearWarning () const
 Resets Object::Warning.
 
auto GetWarning () const
 Returns Object::Warning in a thread-safe way by copying its internal data.
 
std::exception_ptr GetException (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns a pointer to the exception which has caused this Object instance to fail.
 
bool IsReady () const
 Returns wheter this Object instance is ready (e.g. it is running or connected to a hardware device) and not blocked (refer to Object::IsBlocked).
 
auto GetUseCount (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Counts the registered useres in a thread-safe way.
 
bool IsUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns whether this Object instance is used by other instances.
 
auto GetUserIDs (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns a list of the IDs of the registered users in a thread-safe way.
 
auto GetUserNamesString (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Builds a string describing which users are registered containing their object names, categories and type names in a thread-safe way.
 

Static Public Member Functions

static constexpr auto Name () noexcept
 
static constexpr auto Category () noexcept
 
- Static Public Member Functions inherited from DynExp::ModuleBase
static constexpr auto Category () noexcept
 Every derived class has to redefine this function.
 
- Static Public Member Functions inherited from DynExp::Object
static std::string CategoryAndNameToStr (const std::string &Category, const std::string &Name)
 Builds a string from an Object's category and name to allow the user to identify an Object's type.
 
static std::string RemoveCategoryAndName (const std::string &ObjectDesc)
 Removes the category and name part built by Object::CategoryAndNameToStr() from the string ObjectDesc constructed by LinkedObjectWrapper::GetLinkedObjectDesc().
 

Private Types

enum class  PositionerStateType { WaitingForMovement , Moving , Arrived }
 
enum class  WidefieldImageProcessingStateType { Waiting , Finished , Failed }
 
enum class  ConfocalOptimizationThreadReturnType { NextStep , Finished , Failed }
 
using AtomicPositionerStateType = std::atomic< PositionerStateType >
 
using AtomicWidefieldImageProcessingStateType = std::atomic< WidefieldImageProcessingStateType >
 
using ConfocalOptimizationFeedbackType = double
 

Private Member Functions

Util::DynExpErrorCodes::DynExpErrorCodes ModuleMainLoop (DynExp::ModuleInstance &Instance) override final
 Module main loop. The function is executed periodically by the module thread. Also refer to GetMainLoopDelay().
 
void ResetImpl (dispatch_tag< QModuleBase >) override final
 
std::unique_ptr< DynExp::QModuleWidgetMakeUIWidget () override final
 Used by InitUI() as a factory function for the module's user interface widget. Create the widget here using std::make_unique and then use Connect() to connect Qt signals to the module's event functions.
 
void UpdateUIChild (const ModuleBase::ModuleDataGetterType &ModuleDataGetter) override final
 
bool IsReadyState () const noexcept
 
StateType ResetState (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 Aborts a measurement or experimental sequence and continues with the ready state.
 
bool IsCharacterizingSample () const noexcept
 Returns true if an entire sample (multiple cells) are processed, false if only a single cell is processed.
 
void MoveSampleTo (const ModuleDataType::PositionPoint &Point, Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
bool IsSampleMoving (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 Checks whether the sample is moving in x- or y-direction. The z-direction is ignored currently since this module doesn't currently make use of it.
 
void SetFocus (Util::SynchronizedPointer< ModuleDataType > &ModuleData, double Voltage, bool IgnoreOffset=false) const
 
ModuleDataType::PositionPoint CalcMarkerToConfocalSpotDestiny (Util::SynchronizedPointer< const ParamsType > &ModuleParams, Util::SynchronizedPointer< ModuleDataType > &ModuleData, QPoint MarkerPos, QPointF SamplePos) const
 
void BringMarkerToConfocalSpot (Util::SynchronizedPointer< const ParamsType > &ModuleParams, Util::SynchronizedPointer< ModuleDataType > &ModuleData, QPoint MarkerPos, QPointF SamplePos) const
 
QSurfaceDataArray CalculateConfocalScanPositions (const int Width, const int Height, const int DistPerPixel, const WidefieldMicroscopeData::PositionPoint CenterPosition) const
 
void UpdatePumpPower (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void PrepareImageRecording (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void RecordImage (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
StateType InitiateReadCellIDFromImage (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
StateType InitiateLocalizationFromImage (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void PrepareAPDsForConfocalMode (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void InitializeConfocalOptimizer (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void SetHBTSwitch (Util::SynchronizedPointer< const ParamsType > &ModuleParams, Util::SynchronizedPointer< ModuleDataType > &ModuleData, bool IsHBTMode) const
 
void InitializeHBT (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void StopHBT (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
StateType StartAutofocus (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
StateType StartAutoMeasureLocalization (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
StateType StartAutoMeasureCharacterization (Util::SynchronizedPointer< ModuleDataType > &ModuleData, Util::MarkerGraphicsView::MarkerType::IDType FirstEmitterID=-1) const
 
StateType StartAutoMeasureSampleCharacterization (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
std::filesystem::path BuildFilename (Util::SynchronizedPointer< ModuleDataType > &ModuleData, std::string_view FilenameSuffix) const
 
ModuleDataType::PositionPoint RandomPointInCircle (ModuleDataType::PositionType Radius) const
 Returns a uniformly-distributed random coordinate within a circle of radius Radius, not thread-safe.
 
void ConfocalOptimizationInitPromises ()
 
double ConfocalOptimizationFunc (const gsl_vector *vector) noexcept
 
void OnInit (DynExp::ModuleInstance *Instance) const override final
 This event is triggered right before the module thread starts. Override it to lock instruments this module depends on (via RunnableInstance::LockObject()) and to register/subscribe for events (via InterModuleEvent::Register()).
 
void OnExit (DynExp::ModuleInstance *Instance) const override final
 This event is triggered right before the module thread terminates (not due to an exception, in this case refer to ModuleBase::OnError). Override it to unlock instruments this module depends on (via RunnableInstance::UnlockObject()) and to deregister/unsubscribe from events (via InterModuleEvent::Deregister()).
 
void OnTerminate (DynExp::ModuleInstance *Instance, bool) const
 
void OnStopAction (DynExp::ModuleInstance *Instance, bool) const
 
void OnSetHomePosition (DynExp::ModuleInstance *Instance, bool) const
 
void OnGoToHomePosition (DynExp::ModuleInstance *Instance, bool) const
 
void OnToggleLEDLightSource (DynExp::ModuleInstance *Instance, bool State) const
 
void OnTogglePumpLightSource (DynExp::ModuleInstance *Instance, bool State) const
 
void OnSetupModeChanged (DynExp::ModuleInstance *Instance, QAction *Action) const
 
void OnAutofocus (DynExp::ModuleInstance *Instance, bool) const
 
void OnOptimizePositions (DynExp::ModuleInstance *Instance, bool) const
 
void OnToggleHBTMirror (DynExp::ModuleInstance *Instance, bool Checked) const
 
void OnResetCellID (DynExp::ModuleInstance *Instance, bool) const
 
void OnGeneralWidefieldPowerChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnGeneralConfocalPowerChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnGeneralFocusCurrentVoltageChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnGeneralFocusZeroVoltageChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnGeneralFocusConfocalOffsetVoltageChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnGeneralSetZeroFocus (DynExp::ModuleInstance *Instance, bool) const
 
void OnGeneralApplyZeroFocus (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldLEDExposureTimeChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnWidefieldApplyLEDExposureTime (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldPumpExposureTimeChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnWidefieldApplyPumpExposureTime (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldFindConfocalSpot (DynExp::ModuleInstance *Instance, bool) const
 
void OnCaptureLEDImage (DynExp::ModuleInstance *Instance, bool) const
 
void OnCaptureWidefieldImage (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldReadCellID (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldAnalyzeImageDistortion (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldLocalizeEmitters (DynExp::ModuleInstance *Instance, bool) const
 
void OnWidefieldImageClicked (DynExp::ModuleInstance *Instance, QPoint Position) const
 
void OnConfocalConfocalWidthChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnConfocalConfocalHeightChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnConfocalConfocalDistPerPixelChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnConfocalSPDExposureTimeChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnConfocalOptimizationInitXYStepSizeChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnConfocalOptimizationInitZStepSizeChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnConfocalOptimizationToleranceChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnPerformConfocalScan (DynExp::ModuleInstance *Instance, bool) const
 
void ConfocalSurfaceSelectedPointChanged (DynExp::ModuleInstance *Instance, QPoint Position) const
 
void OnHBTBinWidthChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnHBTBinCountChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnHHBTMaxIntegrationTimeChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnMeasureHBT (DynExp::ModuleInstance *Instance, bool) const
 
void OnImageCapturingPaused (DynExp::ModuleInstance *Instance) const
 
void OnFinishedAutofocus (DynExp::ModuleInstance *Instance, bool Success, double Voltage) const
 
void OnSpectrumFinishedRecording (DynExp::ModuleInstance *Instance) const
 
void OnPLEAcquisitionFinished (DynExp::ModuleInstance *Instance) const
 
void OnAutoMeasureSavePathChanged (DynExp::ModuleInstance *Instance, QString Path) const
 
void OnAutoMeasureNumberImageSetsChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureInitialImageSetWaitTimeChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureImagePositionScatterRadius (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureLocalizationTypeChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnToggleAutoMeasureWidefieldPLEEnabled (DynExp::ModuleInstance *Instance, bool State) const
 
void OnToggleAutoMeasureOptimizeEnabled (DynExp::ModuleInstance *Instance, bool State) const
 
void OnToggleAutoMeasureSpectrumEnabled (DynExp::ModuleInstance *Instance, bool State) const
 
void OnToggleAutoMeasureConfocalPLEEnabled (DynExp::ModuleInstance *Instance, bool State) const
 
void OnToggleAutoMeasureHBTEnabled (DynExp::ModuleInstance *Instance, bool State) const
 
void OnAutoMeasureNumOptimizationAttemptsChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureMaxOptimizationRerunsChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureOptimizationMaxDistanceChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCountRateThresholdChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCellRangeFromXChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCellRangeFromYChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCellRangeToXChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCellRangeToYChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCellSkipXChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnAutoMeasureCellSkipYChanged (DynExp::ModuleInstance *Instance, int Value) const
 
void OnToggleAutoMeasureSampleRotated (DynExp::ModuleInstance *Instance, Qt::CheckState State) const
 
void OnAutoMeasureRunLocalization (DynExp::ModuleInstance *Instance, bool) const
 
void OnAutoMeasureRunCharacterization (DynExp::ModuleInstance *Instance, bool) const
 
void OnAutoMeasureRunSampleCharacterization (DynExp::ModuleInstance *Instance, bool) const
 
StateType ReturnToReadyStateFunc (DynExp::ModuleInstance &Instance)
 
StateType InitializingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType SetupTransitionBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType SetupTransitioningStateFunc (DynExp::ModuleInstance &Instance)
 
StateType SetupTransitionEndStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ReadyStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutofocusBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutofocusWaitingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType LEDImageAcquisitionBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WidefieldImageAcquisitionBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WaitingForImageReadyToCaptureStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WaitingForImageStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WaitingForWidefieldCellIDStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WidefieldCellWaitUntilCenteredStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WaitingForWidefieldLocalizationStateFunc (DynExp::ModuleInstance &Instance)
 
StateType FindingConfocalSpotBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType FindingConfocalSpotAfterTransitioningToConfocalModeStateFunc (DynExp::ModuleInstance &Instance)
 
StateType FindingConfocalSpotAfterRecordingWidefieldImageStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalScanStepStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalScanWaitUntilMovedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalScanCaptureStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalScanWaitUntilCapturedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalOptimizationInitStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalOptimizationInitSubStepStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalOptimizationWaitStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ConfocalOptimizationStepStateFunc (DynExp::ModuleInstance &Instance)
 
StateType HBTAcquiringStateFunc (DynExp::ModuleInstance &Instance)
 
StateType WaitingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType PLEAcquisitionWaitingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType SpectrumAcquisitionWaitingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureLocalizationStepStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureLocalizationSaveLEDImageStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureLocalizationSaveWidefieldImageStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureLocalizationMovingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureLocalizationPLEBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureLocalizationPLEFinishedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationStepStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationGotoEmitterStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationOptimizationFinishedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationSpectrumBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationSpectrumFinishedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationPLEBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationPLEFinishedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationHBTBeginStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationHBTWaitForInitStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureCharacterizationHBTFinishedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleStepStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleReadCellIDStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleReadCellIDFinishedStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleLocalizeStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleFindEmittersStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleCharacterizeStateFunc (DynExp::ModuleInstance &Instance)
 
StateType AutoMeasureSampleAdvanceCellStateFunc (DynExp::ModuleInstance &Instance)
 Checks whether the last cell within the sample characterization range (specified as a square region by WidefieldMicroscopeData::AutoMeasureCellRangeFrom and WidefieldMicroscopeData::AutoMeasureCellRangeTo) has been reached. If this is not the case, the sample is moved to advance to the next cell. To advance, the x-coordinate is increased. After reaching the end of the current line (given by WidefieldMicroscopeData::AutoMeasureCellRangeTo::x), a 'line break' is performed by increasing the y-coordinate and resetting the x-coordinate to WidefieldMicroscopeData::AutoMeasureCellRangeFrom::x.
 

Static Private Member Functions

template<typename PosT >
static ModuleDataType::PositionPoint PositionPointFromPixelDist (Util::SynchronizedPointer< const ParamsType > &ModuleParams, Util::SynchronizedPointer< ModuleDataType > &ModuleData, const PosT x, const PosT y)
 
static ConfocalOptimizationThreadReturnType ConfocalOptimizationThread (WidefieldMicroscope *Owner)
 
static double ConfocalOptimizationFuncForwarder (const gsl_vector *vector, void *params)
 

Private Attributes

const Util::StateMachineContext< StateMachineStateTypeAutofocusSetupTransitioningContext
 
const Util::StateMachineContext< StateMachineStateTypeFindingConfocalSpotBeginContext
 
const Util::StateMachineContext< StateMachineStateTypeFindingConfocalSpotRecordingWidefieldImageContext
 
const Util::StateMachineContext< StateMachineStateTypeConfocalOptimizationContext
 
const Util::StateMachineContext< StateMachineStateTypeLEDImageAcquisitionSetupTransitioningContext
 
const Util::StateMachineContext< StateMachineStateTypeWidefieldImageAcquisitionSetupTransitioningContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureLocalizationContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureCharacterizationContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureCharacterizationOptimizationContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureCharacterizationSpectrumContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureCharacterizationPLEContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureCharacterizationHBTContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleRecenterCellContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleLocalizationContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleCharacterizationContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleCharacterizationOptimizationContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleCharacterizationSpectrumContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleCharacterizationPLEContext
 
const Util::StateMachineContext< StateMachineStateTypeAutoMeasureSampleCharacterizationHBTContext
 
Util::StateMachine< StateMachineStateTypeStateMachine
 
const std::shared_ptr< AtomicPositionerStateTypeConfocalScanPositionerStateX
 
const std::shared_ptr< AtomicPositionerStateTypeConfocalScanPositionerStateY
 
const std::shared_ptr< AtomicPositionerStateTypeConfocalScanPositionerStateZ
 
const std::shared_ptr< AtomicWidefieldImageProcessingStateTypeWidefieldCellIDState
 
const std::shared_ptr< AtomicWidefieldImageProcessingStateTypeWidefieldLocalizationState
 
std::list< WidefieldMicroscopeData::PositionPointConfocalScanPositions
 
const gsl_multimin_fminimizer_type *const GSLConfocalOptimizationMinimizer = gsl_multimin_fminimizer_nmsimplex2
 
gsl_multimin_function GSLConfocalOptimizationFuncDesc { &WidefieldMicroscope::ConfocalOptimizationFuncForwarder, GSLConfocalOptimizationNumDimensions, this }
 
gsl_multimin_fminimizer *const GSLConfocalOptimizationState
 
gsl_vector *const GSLConfocalOptimizationStepSize
 
gsl_vector *const GSLConfocalOptimizationInitialPoint
 
std::atomic< size_t > ConfocalOptimizationNumStepsPerformed = 0
 
std::atomic_bool ConfocalOptimizationPromisesRenewed = false
 
std::promise< ConfocalOptimizationStateTypeConfocalOptimizationStatePromise
 
std::future< ConfocalOptimizationStateTypeConfocalOptimizationStateFuture
 
std::promise< ConfocalOptimizationFeedbackTypeConfocalOptimizationFeedbackPromise
 
std::future< ConfocalOptimizationFeedbackTypeConfocalOptimizationFeedbackFuture
 
std::future< ConfocalOptimizationThreadReturnTypeConfocalOptimizationThreadReturnFuture
 
std::chrono::system_clock::time_point SetupTransitionFinishedTimePoint
 
bool TurnOnPumpSourceAfterTransitioning = false
 
bool ImageCapturingPaused = false
 
std::chrono::system_clock::time_point WaitingEndTimePoint
 
std::chrono::microseconds HBTIntegrationTimeBeforeReset { 0 }
 
size_t NumFailedUpdateAttempts = 0
 
bool LogUIMessagesOnly = false
 

Static Private Attributes

static constexpr auto InitializingState
 
static constexpr auto SetupTransitionBeginState
 
static constexpr auto SetupTransitioningState
 
static constexpr auto SetupTransitionEndState
 
static constexpr auto SetupTransitionFinishedState
 
static constexpr auto ReadyState
 
static constexpr auto AutofocusBeginState
 
static constexpr auto AutofocusWaitingState
 
static constexpr auto AutofocusFinishedState
 
static constexpr auto LEDImageAcquisitionBeginState
 
static constexpr auto WidefieldImageAcquisitionBeginState
 
static constexpr auto WaitingForLEDImageReadyToCaptureState
 
static constexpr auto WaitingForLEDImageState
 
static constexpr auto WaitingForLEDImageFinishedState
 
static constexpr auto WaitingForWidefieldImageReadyToCaptureState
 
static constexpr auto WaitingForWidefieldImageState
 
static constexpr auto WaitingForWidefieldImageFinishedState
 
static constexpr auto WaitingForWidefieldCellIDState
 
static constexpr auto WidefieldCellWaitUntilCenteredState
 
static constexpr auto WidefieldCellIDReadFinishedState
 
static constexpr auto WaitingForWidefieldLocalizationState
 
static constexpr auto WidefieldLocalizationFinishedState
 
static constexpr auto FindingConfocalSpotBeginState
 
static constexpr auto FindingConfocalSpotAfterTransitioningToConfocalModeState
 
static constexpr auto FindingConfocalSpotAfterRecordingWidefieldImageState
 
static constexpr auto ConfocalScanStepState
 
static constexpr auto ConfocalScanWaitUntilMovedState
 
static constexpr auto ConfocalScanCaptureState
 
static constexpr auto ConfocalScanWaitUntilCapturedState
 
static constexpr auto ConfocalOptimizationInitState
 
static constexpr auto ConfocalOptimizationInitSubStepState
 
static constexpr auto ConfocalOptimizationWaitState
 
static constexpr auto ConfocalOptimizationStepState
 
static constexpr auto ConfocalOptimizationFinishedState
 
static constexpr auto HBTAcquiringState
 
static constexpr auto HBTFinishedState
 
static constexpr auto WaitingState
 
static constexpr auto WaitingFinishedState
 
static constexpr auto PLEAcquisitionWaitingState
 
static constexpr auto PLEAcquisitionFinishedState
 
static constexpr auto SpectrumAcquisitionWaitingState
 
static constexpr auto SpectrumAcquisitionFinishedState
 
static constexpr auto AutoMeasureLocalizationStepState
 
static constexpr auto AutoMeasureLocalizationSaveLEDImageState
 
static constexpr auto AutoMeasureLocalizationSaveWidefieldImageState
 
static constexpr auto AutoMeasureLocalizationMovingState
 
static constexpr auto AutoMeasureLocalizationPLEBeginState
 
static constexpr auto AutoMeasureLocalizationPLEFinishedState
 
static constexpr auto AutoMeasureLocalizationFinishedState
 
static constexpr auto AutoMeasureCharacterizationStepState
 
static constexpr auto AutoMeasureCharacterizationGotoEmitterState
 
static constexpr auto AutoMeasureCharacterizationOptimizationFinishedState
 
static constexpr auto AutoMeasureCharacterizationSpectrumBeginState
 
static constexpr auto AutoMeasureCharacterizationSpectrumFinishedState
 
static constexpr auto AutoMeasureCharacterizationPLEBeginState
 
static constexpr auto AutoMeasureCharacterizationPLEFinishedState
 
static constexpr auto AutoMeasureCharacterizationHBTBeginState
 
static constexpr auto AutoMeasureCharacterizationHBTWaitForInitState
 
static constexpr auto AutoMeasureCharacterizationHBTFinishedState
 
static constexpr auto AutoMeasureCharacterizationFinishedState
 
static constexpr auto AutoMeasureSampleStepState
 
static constexpr auto AutoMeasureSampleReadCellIDState
 
static constexpr auto AutoMeasureSampleReadCellIDFinishedState
 
static constexpr auto AutoMeasureSampleLocalizeState
 
static constexpr auto AutoMeasureSampleFindEmittersState
 
static constexpr auto AutoMeasureSampleCharacterizeState
 
static constexpr auto AutoMeasureSampleAdvanceCellState
 
static constexpr auto AutoMeasureSampleFinishedState
 
static constexpr size_t GSLConfocalOptimizationNumDimensions = 3
 

Additional Inherited Members

- Public Attributes inherited from DynExp::ModuleBase
ModuleThreadOnlyType ModuleThreadOnly
 Allow exclusive access to some of ModuleBase's private methods to the module thread ModuleThreadMain().
 
EventListenersOnlyType EventListenersOnly
 Allow exclusive access to some of ModuleBase's private methods to any TypedEventListeners class.
 
- Public Attributes inherited from DynExp::RunnableObject
RunnableInstanceOnlyType RunnableInstanceOnly
 Allow exclusive access to some of RunnableObject's private methods to class RunnableInstance.
 
- Public Attributes inherited from DynExp::Object
LinkedObjectWrapperOnlyType LinkedObjectWrapperOnly
 Allow exclusive access to some of Object's private methods to any LinkedObjectWrapper<T>.
 
- Static Public Attributes inherited from DynExp::ModuleBase
static constexpr auto GetModuleDataTimeoutDefault = std::chrono::milliseconds(1000)
 Determines the default timeout for GetModuleData() to lock the mutex synchronizing the module's data ModuleData.
 
- Static Public Attributes inherited from DynExp::RunnableObject
static constexpr auto ShortTimeoutDefault = std::chrono::milliseconds(50)
 Default timeout e.g. used as a default for calls to InstrumentBase::GetInstrumentData or ModuleBase::GetModuleData.
 
static constexpr auto TerminateTimeoutDefault = std::chrono::milliseconds(3000)
 Default timeout used as a default for calls to RunnableObject::Terminate.
 
- Static Public Attributes inherited from DynExp::Object
static constexpr std::chrono::milliseconds GetParamsTimeoutDefault = std::chrono::milliseconds(100)
 Default timeout used by Object::GetParams() to lock the mutex of the parameter instance assigned to this Object instance.
 
- Protected Types inherited from DynExp::RunnableObject
using ThreadFuncType = std::function< int(std::unique_ptr< RunnableInstance > &&, RunnableObject *)>
 Type of the thread function executed by RunnableObject instances.
 
- Protected Member Functions inherited from DynExp::QModuleBase
template<typename SenderType , typename SignalType , typename ReceiverType , typename EventType >
void Connect (SenderType *Sender, SignalType Signal, ReceiverType *Receiver, EventType Event)
 Uses Qt's connect mechanism to connect a QObject's signal to a DynExp module's event. By directly connecting slots to signals via QObject::connect(), the slot function runs in the user interface thread. In contrast, this function connects a signal to a lambda function, which itself enqueues an event in the module's event queue. The event runs in the module thread. Arguments passed from the signal to the lambda function are forwarded to the event.
 
template<typename WidgetType = QModuleWidget>
WidgetType * GetWidget () const
 Getter for Widget.
 
- Protected Member Functions inherited from DynExp::RunnableObject
void Init ()
 Initializes member variables in case of a reset.
 
std::promise< void > MakeThreadExitedPromise ()
 Helper function to be used by overridden RunChild() functions in derived classes to (re)initialize the ThreadExitedSignal future and to provide the derived class a promise to signal the RunnableObject instance that its thread has terminated.
 
void MakeThread (ThreadFuncType ThreadFunc, std::unique_ptr< RunnableInstance > &&InstancePtr)
 Creates and runs the thread of the RunnableObject instance. Call this function in the derived class overriding RunChild() and nowhere else!
 
bool IsCallFromRunnableThread () const
 Checks whether Thread's id matches the id of the calling thread. This is thread-safe if the function is called by the RunnableObject instance's thread since Terminate() joins the threads before changing the Thread member. It is also thread-safe if the function is called by the thread owning the the RunnableObject instance since Run() and Terminate() can only be called by this thread. Only Run() and Terminate() (indirectly) modify Thread.
 
void EnsureCallFromRunnableThread () const
 Asserts that the call to this function is performed from the RunnableObject instance's thread by calling IsCallFromRunnableThread().
 
void SetReasonWhyPaused (std::string Description)
 Sets the reason why this RunnableObject instance has been paused.
 
void SetReasonWhyPaused (const Util::Exception &e)
 Sets the reason why this RunnableObject instance has been paused.
 
void ClearReasonWhyPaused ()
 Removes the reason why this RunnableObject instance has been paused (since it is resumed).
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 
- Protected Member Functions inherited from DynExp::Object
 Object (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs an Object instance.
 
virtual ~Object ()=0
 
void EnsureCallFromOwningThread () const
 Asserts that the call to this function is performed from the thread which constructed this Object instance (the thread with the id stored in Object::OwnerThreadID).
 
ParamsTypeSyncPtrType GetNonConstParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Allows derived Objects to edit their own parameters - even in const task functions (for instruments) or event functions (for modules).
 
auto LockUserList (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout)
 Locks the user list for thread-safe manipulation.
 
void DeregisterAllUnsafe ()
 Deregisters all users and notifies them that they need to check the states of their used linked objects.
 
auto GetUseCountUnsafe ()
 
auto GetUserNamesStringUnsafe () const
 
bool IsUnusedUnsafe ()
 Returns whether this Object instance is used by other instances (not thread-safe).
 
- Static Protected Member Functions inherited from DynExp::ModuleBase
static auto GetExceptionUnsafe (const ModuleDataTypeSyncPtrConstType &ModuleDataPtr)
 Getter for ModuleDataBase::ModuleException assuming that the module data has already been locked.
 

Detailed Description

Definition at line 560 of file WidefieldMicroscope.h.


Class Documentation

◆ DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStateType

struct DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStateType

Definition at line 645 of file WidefieldMicroscope.h.

Class Members
PositionType X {}
PositionType Y {}
SampleType Z {}

Member Typedef Documentation

◆ AtomicPositionerStateType

◆ AtomicWidefieldImageProcessingStateType

◆ ConfigType

◆ ConfocalOptimizationFeedbackType

◆ ModuleDataType

◆ ParamsType

Member Enumeration Documentation

◆ ConfocalOptimizationThreadReturnType

Enumerator
NextStep 
Finished 
Failed 

Definition at line 652 of file WidefieldMicroscope.h.

◆ PositionerStateType

Enumerator
WaitingForMovement 
Moving 
Arrived 

Definition at line 562 of file WidefieldMicroscope.h.

◆ WidefieldImageProcessingStateType

Enumerator
Waiting 
Finished 
Failed 

Definition at line 563 of file WidefieldMicroscope.h.

Constructor & Destructor Documentation

◆ WidefieldMicroscope()

DynExpModule::Widefield::WidefieldMicroscope::WidefieldMicroscope ( const std::thread::id  OwnerThreadID,
DynExp::ParamsBasePtrType &&  Params 
)

Definition at line 540 of file WidefieldMicroscope.cpp.

◆ ~WidefieldMicroscope()

DynExpModule::Widefield::WidefieldMicroscope::~WidefieldMicroscope ( )
virtual

Definition at line 583 of file WidefieldMicroscope.cpp.

Member Function Documentation

◆ AutofocusBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutofocusBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2252 of file WidefieldMicroscope.cpp.

◆ AutofocusWaitingStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutofocusWaitingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2275 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationGotoEmitterStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationGotoEmitterStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2893 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationHBTBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3049 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationHBTFinishedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTFinishedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3076 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationHBTWaitForInitStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTWaitForInitStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3058 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationOptimizationFinishedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationOptimizationFinishedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2923 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationPLEBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationPLEBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3015 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationPLEFinishedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationPLEFinishedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3026 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationSpectrumBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationSpectrumBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2981 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationSpectrumFinishedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationSpectrumFinishedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2992 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationStepStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationStepStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2850 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationMovingStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationMovingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2825 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationPLEBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationPLEBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2835 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationPLEFinishedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationPLEFinishedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2845 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationSaveLEDImageStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationSaveLEDImageStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2773 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationSaveWidefieldImageStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationSaveWidefieldImageStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2790 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationStepStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationStepStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2758 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleAdvanceCellStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleAdvanceCellStateFunc ( DynExp::ModuleInstance Instance)
private

Checks whether the last cell within the sample characterization range (specified as a square region by WidefieldMicroscopeData::AutoMeasureCellRangeFrom and WidefieldMicroscopeData::AutoMeasureCellRangeTo) has been reached. If this is not the case, the sample is moved to advance to the next cell. To advance, the x-coordinate is increased. After reaching the end of the current line (given by WidefieldMicroscopeData::AutoMeasureCellRangeTo::x), a 'line break' is performed by increasing the y-coordinate and resetting the x-coordinate to WidefieldMicroscopeData::AutoMeasureCellRangeFrom::x.

Parameters
InstanceHandle to current WidefieldMicroscope instance
Returns
StateType::AutoMeasureSampleFinished when finished, StateType::AutoMeasureSampleStep otherwise

Definition at line 3208 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleCharacterizeStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizeStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3191 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleFindEmittersStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleFindEmittersStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3178 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleLocalizeStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleLocalizeStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3160 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleReadCellIDFinishedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleReadCellIDFinishedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3117 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleReadCellIDStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleReadCellIDStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3110 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleStepStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleStepStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 3099 of file WidefieldMicroscope.cpp.

◆ BringMarkerToConfocalSpot()

void DynExpModule::Widefield::WidefieldMicroscope::BringMarkerToConfocalSpot ( Util::SynchronizedPointer< const ParamsType > &  ModuleParams,
Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
QPoint  MarkerPos,
QPointF  SamplePos 
) const
private

Definition at line 933 of file WidefieldMicroscope.cpp.

◆ BuildFilename()

std::filesystem::path DynExpModule::Widefield::WidefieldMicroscope::BuildFilename ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
std::string_view  FilenameSuffix 
) const
private

Definition at line 1211 of file WidefieldMicroscope.cpp.

◆ CalcMarkerToConfocalSpotDestiny()

WidefieldMicroscopeData::PositionPoint DynExpModule::Widefield::WidefieldMicroscope::CalcMarkerToConfocalSpotDestiny ( Util::SynchronizedPointer< const ParamsType > &  ModuleParams,
Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
QPoint  MarkerPos,
QPointF  SamplePos 
) const
private

Definition at line 924 of file WidefieldMicroscope.cpp.

◆ CalculateConfocalScanPositions()

QSurfaceDataArray DynExpModule::Widefield::WidefieldMicroscope::CalculateConfocalScanPositions ( const int  Width,
const int  Height,
const int  DistPerPixel,
const WidefieldMicroscopeData::PositionPoint  CenterPosition 
) const
private

Definition at line 939 of file WidefieldMicroscope.cpp.

◆ Category()

static constexpr auto DynExpModule::Widefield::WidefieldMicroscope::Category ( )
inlinestaticconstexprnoexcept

Definition at line 574 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationFunc()

double DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationFunc ( const gsl_vector *  vector)
privatenoexcept

Definition at line 1288 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationFuncForwarder()

double DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationFuncForwarder ( const gsl_vector *  vector,
void *  params 
)
staticprivate

Definition at line 1283 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationInitPromises()

void DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationInitPromises ( )
private

Definition at line 1235 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationInitStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationInitStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2615 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationInitSubStepStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationInitSubStepStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2624 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationStepStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStepStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2655 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationThread()

WidefieldMicroscope::ConfocalOptimizationThreadReturnType DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationThread ( WidefieldMicroscope Owner)
staticprivate

Definition at line 1247 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationWaitStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationWaitStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2631 of file WidefieldMicroscope.cpp.

◆ ConfocalScanCaptureStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanCaptureStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2542 of file WidefieldMicroscope.cpp.

◆ ConfocalScanStepStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanStepStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2512 of file WidefieldMicroscope.cpp.

◆ ConfocalScanWaitUntilCapturedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanWaitUntilCapturedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2568 of file WidefieldMicroscope.cpp.

◆ ConfocalScanWaitUntilMovedStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanWaitUntilMovedStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2529 of file WidefieldMicroscope.cpp.

◆ ConfocalSurfaceSelectedPointChanged()

void DynExpModule::Widefield::WidefieldMicroscope::ConfocalSurfaceSelectedPointChanged ( DynExp::ModuleInstance Instance,
QPoint  Position 
) const
private

Definition at line 1905 of file WidefieldMicroscope.cpp.

◆ FindingConfocalSpotAfterRecordingWidefieldImageStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotAfterRecordingWidefieldImageStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2486 of file WidefieldMicroscope.cpp.

◆ FindingConfocalSpotAfterTransitioningToConfocalModeStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotAfterTransitioningToConfocalModeStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2471 of file WidefieldMicroscope.cpp.

◆ FindingConfocalSpotBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2454 of file WidefieldMicroscope.cpp.

◆ GetCategory()

virtual std::string DynExpModule::Widefield::WidefieldMicroscope::GetCategory ( ) const
inlineoverridevirtual

Returns the category of this Object type.

Reimplemented from DynExp::ModuleBase.

Definition at line 580 of file WidefieldMicroscope.h.

◆ GetMainLoopDelay()

std::chrono::milliseconds DynExpModule::Widefield::WidefieldMicroscope::GetMainLoopDelay ( ) const
finaloverridevirtual

Specifies in which time intervals the module's event queue runs to handle pending events.

Returns
Delay time in between event queue executions. Return std::chrono::milliseconds::max() to make the module thread only wake up to execute the module main loop (after handling enqueued events) when an event is enqueued. Return 0 to make the module main loop execute as fast as possible.

Reimplemented from DynExp::ModuleBase.

Definition at line 593 of file WidefieldMicroscope.cpp.

◆ GetName()

virtual std::string DynExpModule::Widefield::WidefieldMicroscope::GetName ( ) const
inlineoverridevirtual

Returns the name of this Object type.

Implements DynExp::Object.

Definition at line 579 of file WidefieldMicroscope.h.

◆ HBTAcquiringStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::HBTAcquiringStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2701 of file WidefieldMicroscope.cpp.

◆ InitializeConfocalOptimizer()

void DynExpModule::Widefield::WidefieldMicroscope::InitializeConfocalOptimizer ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1086 of file WidefieldMicroscope.cpp.

◆ InitializeHBT()

void DynExpModule::Widefield::WidefieldMicroscope::InitializeHBT ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1111 of file WidefieldMicroscope.cpp.

◆ InitializingStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::InitializingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2175 of file WidefieldMicroscope.cpp.

◆ InitiateLocalizationFromImage()

StateType DynExpModule::Widefield::WidefieldMicroscope::InitiateLocalizationFromImage ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1035 of file WidefieldMicroscope.cpp.

◆ InitiateReadCellIDFromImage()

StateType DynExpModule::Widefield::WidefieldMicroscope::InitiateReadCellIDFromImage ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1003 of file WidefieldMicroscope.cpp.

◆ IsCharacterizingSample()

bool DynExpModule::Widefield::WidefieldMicroscope::IsCharacterizingSample ( ) const
privatenoexcept

Returns true if an entire sample (multiple cells) are processed, false if only a single cell is processed.

Returns whether the microscope is characterizing an entire sample moving from cell to cell. This function is thread-safe since StateMachine::GetContext() reads the current context atomically.

Returns
True if currently characterizing an entire sample, false otherwise.

Definition at line 839 of file WidefieldMicroscope.cpp.

◆ IsReadyState()

bool DynExpModule::Widefield::WidefieldMicroscope::IsReadyState ( ) const
inlineprivatenoexcept

Definition at line 612 of file WidefieldMicroscope.h.

◆ IsSampleMoving()

bool DynExpModule::Widefield::WidefieldMicroscope::IsSampleMoving ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Checks whether the sample is moving in x- or y-direction. The z-direction is ignored currently since this module doesn't currently make use of it.

Parameters
ModuleDataWidefieldMicroscope's locked module data
Returns
true if the sample is moving, false otherwise

Definition at line 893 of file WidefieldMicroscope.cpp.

◆ LEDImageAcquisitionBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::LEDImageAcquisitionBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2287 of file WidefieldMicroscope.cpp.

◆ MakeUIWidget()

std::unique_ptr< DynExp::QModuleWidget > DynExpModule::Widefield::WidefieldMicroscope::MakeUIWidget ( )
finaloverrideprivatevirtual

Used by InitUI() as a factory function for the module's user interface widget. Create the widget here using std::make_unique and then use Connect() to connect Qt signals to the module's event functions.

Returns
Return the created user interface widget.

Implements DynExp::QModuleBase.

Definition at line 709 of file WidefieldMicroscope.cpp.

◆ ModuleMainLoop()

Util::DynExpErrorCodes::DynExpErrorCodes DynExpModule::Widefield::WidefieldMicroscope::ModuleMainLoop ( DynExp::ModuleInstance Instance)
finaloverrideprivatevirtual

Module main loop. The function is executed periodically by the module thread. Also refer to GetMainLoopDelay().

Parameters
InstanceHandle to the module thread's data
Returns
Return Util::DynExpErrorCodes::NoError if module loop should continue, annother error code otherwise.

Implements DynExp::ModuleBase.

Definition at line 662 of file WidefieldMicroscope.cpp.

◆ MoveSampleTo()

void DynExpModule::Widefield::WidefieldMicroscope::MoveSampleTo ( const ModuleDataType::PositionPoint Point,
Util::SynchronizedPointer< ModuleDataType > &  ModuleData 
) const
private

Definition at line 854 of file WidefieldMicroscope.cpp.

◆ Name()

static constexpr auto DynExpModule::Widefield::WidefieldMicroscope::Name ( )
inlinestaticconstexprnoexcept

Definition at line 573 of file WidefieldMicroscope.h.

◆ OnAutofocus()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutofocus ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1607 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeFromXChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCellRangeFromXChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2082 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeFromYChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCellRangeFromYChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2088 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeToXChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCellRangeToXChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2094 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeToYChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCellRangeToYChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2100 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellSkipXChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCellSkipXChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2106 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellSkipYChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCellSkipYChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2112 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCountRateThresholdChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureCountRateThresholdChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2076 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureImagePositionScatterRadius()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureImagePositionScatterRadius ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2016 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureInitialImageSetWaitTimeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureInitialImageSetWaitTimeChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2010 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureLocalizationTypeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureLocalizationTypeChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2022 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureMaxOptimizationRerunsChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureMaxOptimizationRerunsChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2064 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureNumberImageSetsChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureNumberImageSetsChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2004 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureNumOptimizationAttemptsChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureNumOptimizationAttemptsChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2058 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureOptimizationMaxDistanceChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureOptimizationMaxDistanceChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 2070 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureRunCharacterization()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureRunCharacterization ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 2134 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureRunLocalization()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureRunLocalization ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 2124 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureRunSampleCharacterization()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureRunSampleCharacterization ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 2144 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureSavePathChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnAutoMeasureSavePathChanged ( DynExp::ModuleInstance Instance,
QString  Path 
) const
private

Definition at line 1998 of file WidefieldMicroscope.cpp.

◆ OnBringMarkerToConfocalSpot()

void DynExpModule::Widefield::WidefieldMicroscope::OnBringMarkerToConfocalSpot ( DynExp::ModuleInstance Instance,
QPoint  MarkerPos,
QPointF  SamplePos 
) const

Definition at line 644 of file WidefieldMicroscope.cpp.

◆ OnCaptureLEDImage()

void DynExpModule::Widefield::WidefieldMicroscope::OnCaptureLEDImage ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1752 of file WidefieldMicroscope.cpp.

◆ OnCaptureWidefieldImage()

void DynExpModule::Widefield::WidefieldMicroscope::OnCaptureWidefieldImage ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1770 of file WidefieldMicroscope.cpp.

◆ OnConfocalConfocalDistPerPixelChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalConfocalDistPerPixelChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1841 of file WidefieldMicroscope.cpp.

◆ OnConfocalConfocalHeightChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalConfocalHeightChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1835 of file WidefieldMicroscope.cpp.

◆ OnConfocalConfocalWidthChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalConfocalWidthChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1829 of file WidefieldMicroscope.cpp.

◆ OnConfocalOptimizationInitXYStepSizeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalOptimizationInitXYStepSizeChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1853 of file WidefieldMicroscope.cpp.

◆ OnConfocalOptimizationInitZStepSizeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalOptimizationInitZStepSizeChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1859 of file WidefieldMicroscope.cpp.

◆ OnConfocalOptimizationToleranceChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalOptimizationToleranceChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1865 of file WidefieldMicroscope.cpp.

◆ OnConfocalSPDExposureTimeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnConfocalSPDExposureTimeChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1847 of file WidefieldMicroscope.cpp.

◆ OnExit()

void DynExpModule::Widefield::WidefieldMicroscope::OnExit ( DynExp::ModuleInstance Instance) const
finaloverrideprivatevirtual

This event is triggered right before the module thread terminates (not due to an exception, in this case refer to ModuleBase::OnError). Override it to unlock instruments this module depends on (via RunnableInstance::UnlockObject()) and to deregister/unsubscribe from events (via InterModuleEvent::Deregister()).

Parameters
InstanceHandle to the module thread's data

Reimplemented from DynExp::ModuleBase.

Definition at line 1464 of file WidefieldMicroscope.cpp.

◆ OnFinishedAutofocus()

void DynExpModule::Widefield::WidefieldMicroscope::OnFinishedAutofocus ( DynExp::ModuleInstance Instance,
bool  Success,
double  Voltage 
) const
private

Definition at line 1956 of file WidefieldMicroscope.cpp.

◆ OnGeneralApplyZeroFocus()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralApplyZeroFocus ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1698 of file WidefieldMicroscope.cpp.

◆ OnGeneralConfocalPowerChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralConfocalPowerChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1660 of file WidefieldMicroscope.cpp.

◆ OnGeneralFocusConfocalOffsetVoltageChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralFocusConfocalOffsetVoltageChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1683 of file WidefieldMicroscope.cpp.

◆ OnGeneralFocusCurrentVoltageChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralFocusCurrentVoltageChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1668 of file WidefieldMicroscope.cpp.

◆ OnGeneralFocusZeroVoltageChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralFocusZeroVoltageChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1677 of file WidefieldMicroscope.cpp.

◆ OnGeneralSetZeroFocus()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralSetZeroFocus ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1692 of file WidefieldMicroscope.cpp.

◆ OnGeneralWidefieldPowerChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnGeneralWidefieldPowerChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1652 of file WidefieldMicroscope.cpp.

◆ OnGoToHomePosition()

void DynExpModule::Widefield::WidefieldMicroscope::OnGoToHomePosition ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1560 of file WidefieldMicroscope.cpp.

◆ OnGoToSamplePos()

void DynExpModule::Widefield::WidefieldMicroscope::OnGoToSamplePos ( DynExp::ModuleInstance Instance,
QPointF  SamplePos 
) const

Definition at line 631 of file WidefieldMicroscope.cpp.

◆ OnHBTBinCountChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnHBTBinCountChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1927 of file WidefieldMicroscope.cpp.

◆ OnHBTBinWidthChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnHBTBinWidthChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1921 of file WidefieldMicroscope.cpp.

◆ OnHHBTMaxIntegrationTimeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnHHBTMaxIntegrationTimeChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 1933 of file WidefieldMicroscope.cpp.

◆ OnImageCapturingPaused()

void DynExpModule::Widefield::WidefieldMicroscope::OnImageCapturingPaused ( DynExp::ModuleInstance Instance) const
private

Definition at line 1951 of file WidefieldMicroscope.cpp.

◆ OnInit()

void DynExpModule::Widefield::WidefieldMicroscope::OnInit ( DynExp::ModuleInstance Instance) const
finaloverrideprivatevirtual

This event is triggered right before the module thread starts. Override it to lock instruments this module depends on (via RunnableInstance::LockObject()) and to register/subscribe for events (via InterModuleEvent::Register()).

Parameters
InstanceHandle to the module thread's data

Reimplemented from DynExp::ModuleBase.

Definition at line 1316 of file WidefieldMicroscope.cpp.

◆ OnMeasureHBT()

void DynExpModule::Widefield::WidefieldMicroscope::OnMeasureHBT ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1939 of file WidefieldMicroscope.cpp.

◆ OnOptimizePositions()

void DynExpModule::Widefield::WidefieldMicroscope::OnOptimizePositions ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1617 of file WidefieldMicroscope.cpp.

◆ OnPerformConfocalScan()

void DynExpModule::Widefield::WidefieldMicroscope::OnPerformConfocalScan ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1871 of file WidefieldMicroscope.cpp.

◆ OnPLEAcquisitionFinished()

void DynExpModule::Widefield::WidefieldMicroscope::OnPLEAcquisitionFinished ( DynExp::ModuleInstance Instance) const
private

Definition at line 1993 of file WidefieldMicroscope.cpp.

◆ OnResetCellID()

void DynExpModule::Widefield::WidefieldMicroscope::OnResetCellID ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1643 of file WidefieldMicroscope.cpp.

◆ OnRunCharacterizationFromID()

void DynExpModule::Widefield::WidefieldMicroscope::OnRunCharacterizationFromID ( DynExp::ModuleInstance Instance,
Util::MarkerGraphicsView::MarkerType::IDType  ID 
) const

Definition at line 655 of file WidefieldMicroscope.cpp.

◆ OnSaveCurrentImage()

void DynExpModule::Widefield::WidefieldMicroscope::OnSaveCurrentImage ( DynExp::ModuleInstance Instance,
QString  Filename 
) const

Definition at line 609 of file WidefieldMicroscope.cpp.

◆ OnSetHomePosition()

void DynExpModule::Widefield::WidefieldMicroscope::OnSetHomePosition ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1550 of file WidefieldMicroscope.cpp.

◆ OnSetupModeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnSetupModeChanged ( DynExp::ModuleInstance Instance,
QAction *  Action 
) const
private

Definition at line 1590 of file WidefieldMicroscope.cpp.

◆ OnSpectrumFinishedRecording()

void DynExpModule::Widefield::WidefieldMicroscope::OnSpectrumFinishedRecording ( DynExp::ModuleInstance Instance) const
private

Definition at line 1988 of file WidefieldMicroscope.cpp.

◆ OnStopAction()

void DynExpModule::Widefield::WidefieldMicroscope::OnStopAction ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1499 of file WidefieldMicroscope.cpp.

◆ OnTerminate()

void DynExpModule::Widefield::WidefieldMicroscope::OnTerminate ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1494 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureConfocalPLEEnabled()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleAutoMeasureConfocalPLEEnabled ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 2046 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureHBTEnabled()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleAutoMeasureHBTEnabled ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 2052 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureOptimizeEnabled()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleAutoMeasureOptimizeEnabled ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 2034 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureSampleRotated()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleAutoMeasureSampleRotated ( DynExp::ModuleInstance Instance,
Qt::CheckState  State 
) const
private

Definition at line 2118 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureSpectrumEnabled()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleAutoMeasureSpectrumEnabled ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 2040 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureWidefieldPLEEnabled()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleAutoMeasureWidefieldPLEEnabled ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 2028 of file WidefieldMicroscope.cpp.

◆ OnToggleHBTMirror()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleHBTMirror ( DynExp::ModuleInstance Instance,
bool  Checked 
) const
private

Definition at line 1632 of file WidefieldMicroscope.cpp.

◆ OnToggleLEDLightSource()

void DynExpModule::Widefield::WidefieldMicroscope::OnToggleLEDLightSource ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 1570 of file WidefieldMicroscope.cpp.

◆ OnTogglePumpLightSource()

void DynExpModule::Widefield::WidefieldMicroscope::OnTogglePumpLightSource ( DynExp::ModuleInstance Instance,
bool  State 
) const
private

Definition at line 1580 of file WidefieldMicroscope.cpp.

◆ OnWidefieldAnalyzeImageDistortion()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldAnalyzeImageDistortion ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1798 of file WidefieldMicroscope.cpp.

◆ OnWidefieldApplyLEDExposureTime()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldApplyLEDExposureTime ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1713 of file WidefieldMicroscope.cpp.

◆ OnWidefieldApplyPumpExposureTime()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldApplyPumpExposureTime ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1730 of file WidefieldMicroscope.cpp.

◆ OnWidefieldFindConfocalSpot()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldFindConfocalSpot ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1741 of file WidefieldMicroscope.cpp.

◆ OnWidefieldImageClicked()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldImageClicked ( DynExp::ModuleInstance Instance,
QPoint  Position 
) const
private

Definition at line 1818 of file WidefieldMicroscope.cpp.

◆ OnWidefieldLEDExposureTimeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldLEDExposureTimeChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1707 of file WidefieldMicroscope.cpp.

◆ OnWidefieldLocalizeEmitters()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldLocalizeEmitters ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1808 of file WidefieldMicroscope.cpp.

◆ OnWidefieldPumpExposureTimeChanged()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldPumpExposureTimeChanged ( DynExp::ModuleInstance Instance,
int  Value 
) const
private

Definition at line 1724 of file WidefieldMicroscope.cpp.

◆ OnWidefieldReadCellID()

void DynExpModule::Widefield::WidefieldMicroscope::OnWidefieldReadCellID ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 1788 of file WidefieldMicroscope.cpp.

◆ PLEAcquisitionWaitingStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::PLEAcquisitionWaitingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2746 of file WidefieldMicroscope.cpp.

◆ PositionPointFromPixelDist()

template<typename PosT >
static ModuleDataType::PositionPoint DynExpModule::Widefield::WidefieldMicroscope::PositionPointFromPixelDist ( Util::SynchronizedPointer< const ParamsType > &  ModuleParams,
Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
const PosT  x,
const PosT  y 
)
inlinestaticprivate

Definition at line 603 of file WidefieldMicroscope.h.

◆ PrepareAPDsForConfocalMode()

void DynExpModule::Widefield::WidefieldMicroscope::PrepareAPDsForConfocalMode ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1072 of file WidefieldMicroscope.cpp.

◆ PrepareImageRecording()

void DynExpModule::Widefield::WidefieldMicroscope::PrepareImageRecording ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 984 of file WidefieldMicroscope.cpp.

◆ RandomPointInCircle()

WidefieldMicroscope::ModuleDataType::PositionPoint DynExpModule::Widefield::WidefieldMicroscope::RandomPointInCircle ( ModuleDataType::PositionType  Radius) const
private

Returns a uniformly-distributed random coordinate within a circle of radius Radius, not thread-safe.

Definition at line 1220 of file WidefieldMicroscope.cpp.

◆ ReadyStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ReadyStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2247 of file WidefieldMicroscope.cpp.

◆ RecordImage()

void DynExpModule::Widefield::WidefieldMicroscope::RecordImage ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 998 of file WidefieldMicroscope.cpp.

◆ RegisterConfocalGraphEvents()

void DynExpModule::Widefield::WidefieldMicroscope::RegisterConfocalGraphEvents ( DynExpQuick::DynExpSurfaceGraphBackend ConfocalGraph)

Definition at line 604 of file WidefieldMicroscope.cpp.

◆ ResetImpl()

void DynExpModule::Widefield::WidefieldMicroscope::ResetImpl ( dispatch_tag< QModuleBase )
finaloverrideprivate

Definition at line 685 of file WidefieldMicroscope.cpp.

◆ ResetState()

StateType DynExpModule::Widefield::WidefieldMicroscope::ResetState ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Aborts a measurement or experimental sequence and continues with the ready state.

Parameters
ModuleDataReference to WidefieldMicroscope's module data.
Returns
Always returns StateType::Ready.

Definition at line 818 of file WidefieldMicroscope.cpp.

◆ ReturnToReadyStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::ReturnToReadyStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2166 of file WidefieldMicroscope.cpp.

◆ SetFocus()

void DynExpModule::Widefield::WidefieldMicroscope::SetFocus ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
double  Voltage,
bool  IgnoreOffset = false 
) const
private

Definition at line 913 of file WidefieldMicroscope.cpp.

◆ SetHBTSwitch()

void DynExpModule::Widefield::WidefieldMicroscope::SetHBTSwitch ( Util::SynchronizedPointer< const ParamsType > &  ModuleParams,
Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
bool  IsHBTMode 
) const
private

Definition at line 1105 of file WidefieldMicroscope.cpp.

◆ SetupTransitionBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::SetupTransitionBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2187 of file WidefieldMicroscope.cpp.

◆ SetupTransitionEndStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::SetupTransitionEndStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2224 of file WidefieldMicroscope.cpp.

◆ SetupTransitioningStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::SetupTransitioningStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2219 of file WidefieldMicroscope.cpp.

◆ SpectrumAcquisitionWaitingStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::SpectrumAcquisitionWaitingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2752 of file WidefieldMicroscope.cpp.

◆ StartAutofocus()

StateType DynExpModule::Widefield::WidefieldMicroscope::StartAutofocus ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1136 of file WidefieldMicroscope.cpp.

◆ StartAutoMeasureCharacterization()

StateType DynExpModule::Widefield::WidefieldMicroscope::StartAutoMeasureCharacterization ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData,
Util::MarkerGraphicsView::MarkerType::IDType  FirstEmitterID = -1 
) const
private

Definition at line 1173 of file WidefieldMicroscope.cpp.

◆ StartAutoMeasureLocalization()

StateType DynExpModule::Widefield::WidefieldMicroscope::StartAutoMeasureLocalization ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1151 of file WidefieldMicroscope.cpp.

◆ StartAutoMeasureSampleCharacterization()

StateType DynExpModule::Widefield::WidefieldMicroscope::StartAutoMeasureSampleCharacterization ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1202 of file WidefieldMicroscope.cpp.

◆ StopHBT()

void DynExpModule::Widefield::WidefieldMicroscope::StopHBT ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 1123 of file WidefieldMicroscope.cpp.

◆ UpdatePumpPower()

void DynExpModule::Widefield::WidefieldMicroscope::UpdatePumpPower ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 973 of file WidefieldMicroscope.cpp.

◆ UpdateUIChild()

void DynExpModule::Widefield::WidefieldMicroscope::UpdateUIChild ( const ModuleBase::ModuleDataGetterType &  ModuleDataGetter)
finaloverrideprivate

Definition at line 785 of file WidefieldMicroscope.cpp.

◆ WaitingForImageReadyToCaptureStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WaitingForImageReadyToCaptureStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2324 of file WidefieldMicroscope.cpp.

◆ WaitingForImageStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WaitingForImageStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2337 of file WidefieldMicroscope.cpp.

◆ WaitingForWidefieldCellIDStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldCellIDStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2367 of file WidefieldMicroscope.cpp.

◆ WaitingForWidefieldLocalizationStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldLocalizationStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2421 of file WidefieldMicroscope.cpp.

◆ WaitingStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WaitingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2741 of file WidefieldMicroscope.cpp.

◆ WidefieldCellWaitUntilCenteredStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WidefieldCellWaitUntilCenteredStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2404 of file WidefieldMicroscope.cpp.

◆ WidefieldImageAcquisitionBeginStateFunc()

StateType DynExpModule::Widefield::WidefieldMicroscope::WidefieldImageAcquisitionBeginStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 2307 of file WidefieldMicroscope.cpp.

Member Data Documentation

◆ AutofocusBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutofocusBeginState
staticconstexprprivate
Initial value:
StateType AutofocusBeginStateFunc(DynExp::ModuleInstance &Instance)
State machine state as used by class StateMachine. A state mainly wraps a state function of the membe...
Definition Util.h:1363

Definition at line 804 of file WidefieldMicroscope.h.

◆ AutofocusFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutofocusFinishedState
staticconstexprprivate

◆ AutofocusSetupTransitioningContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutofocusSetupTransitioningContext
private
Initial value:

Definition at line 930 of file WidefieldMicroscope.h.

◆ AutofocusWaitingState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutofocusWaitingState
staticconstexprprivate

◆ AutoMeasureCharacterizationContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationContext
private
Initial value:
= { {
}, "Characterizing emitters...", { &ConfocalOptimizationContext } }
const Util::StateMachineContext< StateMachineStateType > ConfocalOptimizationContext

Definition at line 956 of file WidefieldMicroscope.h.

◆ AutoMeasureCharacterizationFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationFinishedState
staticconstexprprivate

◆ AutoMeasureCharacterizationGotoEmitterState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationGotoEmitterState
staticconstexprprivate

◆ AutoMeasureCharacterizationHBTBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTBeginState
staticconstexprprivate

◆ AutoMeasureCharacterizationHBTContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTContext
private
Initial value:
= { {
}, "Characterizing emitters (HBT acquiring)...", { &AutoMeasureCharacterizationContext } }
const Util::StateMachineContext< StateMachineStateType > AutoMeasureCharacterizationContext

Definition at line 972 of file WidefieldMicroscope.h.

◆ AutoMeasureCharacterizationHBTFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTFinishedState
staticconstexprprivate

◆ AutoMeasureCharacterizationHBTWaitForInitState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationHBTWaitForInitState
staticconstexprprivate

◆ AutoMeasureCharacterizationOptimizationContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationOptimizationContext
private
Initial value:
= { {
}, "Characterizing emitters (optimizing count rate)...", { &AutoMeasureCharacterizationContext } }

Definition at line 963 of file WidefieldMicroscope.h.

◆ AutoMeasureCharacterizationOptimizationFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationOptimizationFinishedState
staticconstexprprivate

◆ AutoMeasureCharacterizationPLEBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationPLEBeginState
staticconstexprprivate

◆ AutoMeasureCharacterizationPLEContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationPLEContext
private
Initial value:
= { {
}, "Characterizing emitters (performing confocal PLE)...", { &AutoMeasureCharacterizationContext } }

Definition at line 969 of file WidefieldMicroscope.h.

◆ AutoMeasureCharacterizationPLEFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationPLEFinishedState
staticconstexprprivate

◆ AutoMeasureCharacterizationSpectrumBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationSpectrumBeginState
staticconstexprprivate

◆ AutoMeasureCharacterizationSpectrumContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationSpectrumContext
private
Initial value:
= { {
}, "Characterizing emitters (recording spectrum)...", { &AutoMeasureCharacterizationContext } }

Definition at line 966 of file WidefieldMicroscope.h.

◆ AutoMeasureCharacterizationSpectrumFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationSpectrumFinishedState
staticconstexprprivate

◆ AutoMeasureCharacterizationStepState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationStepState
staticconstexprprivate

◆ AutoMeasureLocalizationContext

◆ AutoMeasureLocalizationFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationFinishedState
staticconstexprprivate

◆ AutoMeasureLocalizationMovingState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationMovingState
staticconstexprprivate
Initial value:

Definition at line 882 of file WidefieldMicroscope.h.

◆ AutoMeasureLocalizationPLEBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationPLEBeginState
staticconstexprprivate

◆ AutoMeasureLocalizationPLEFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationPLEFinishedState
staticconstexprprivate

◆ AutoMeasureLocalizationSaveLEDImageState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationSaveLEDImageState
staticconstexprprivate

◆ AutoMeasureLocalizationSaveWidefieldImageState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationSaveWidefieldImageState
staticconstexprprivate

◆ AutoMeasureLocalizationStepState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureLocalizationStepState
staticconstexprprivate

◆ AutoMeasureSampleAdvanceCellState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleAdvanceCellState
staticconstexprprivate
Initial value:
StateType AutoMeasureSampleAdvanceCellStateFunc(DynExp::ModuleInstance &Instance)
Checks whether the last cell within the sample characterization range (specified as a square region b...

Definition at line 924 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizationContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizationContext
private
Initial value:

Definition at line 990 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizationHBTContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizationHBTContext
private
Initial value:
= { {
}, "Characterizing sample (HBT acquiring)...", { &AutoMeasureSampleCharacterizationContext, &AutoMeasureCharacterizationHBTContext } }
const Util::StateMachineContext< StateMachineStateType > AutoMeasureSampleCharacterizationContext
const Util::StateMachineContext< StateMachineStateType > AutoMeasureCharacterizationHBTContext

Definition at line 999 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizationOptimizationContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizationOptimizationContext
private
Initial value:
= { {
}, "Characterizing sample (optimizing count rate)...", { &AutoMeasureSampleCharacterizationContext, &AutoMeasureCharacterizationOptimizationContext } }
const Util::StateMachineContext< StateMachineStateType > AutoMeasureCharacterizationOptimizationContext

Definition at line 993 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizationPLEContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizationPLEContext
private
Initial value:
= { {
}, "Characterizing sample (performing confocal PLE)...", { &AutoMeasureSampleCharacterizationContext, &AutoMeasureCharacterizationPLEContext } }
const Util::StateMachineContext< StateMachineStateType > AutoMeasureCharacterizationPLEContext

Definition at line 997 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizationSpectrumContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizationSpectrumContext
private
Initial value:
= { {
}, "Characterizing sample (recording spectrum)...", { &AutoMeasureSampleCharacterizationContext, &AutoMeasureCharacterizationSpectrumContext } }
const Util::StateMachineContext< StateMachineStateType > AutoMeasureCharacterizationSpectrumContext

Definition at line 995 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizeState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleCharacterizeState
staticconstexprprivate

◆ AutoMeasureSampleContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleContext
private
Initial value:

Definition at line 975 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleFindEmittersState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleFindEmittersState
staticconstexprprivate

◆ AutoMeasureSampleFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleFinishedState
staticconstexprprivate

◆ AutoMeasureSampleLocalizationContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleLocalizationContext
private
Initial value:

Definition at line 986 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleLocalizeState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleLocalizeState
staticconstexprprivate

◆ AutoMeasureSampleReadCellIDFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleReadCellIDFinishedState
staticconstexprprivate

◆ AutoMeasureSampleReadCellIDState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleReadCellIDState
staticconstexprprivate

◆ AutoMeasureSampleRecenterCellContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleRecenterCellContext
private
Initial value:
= { {
}, "Characterizing sample...", { &AutoMeasureSampleContext } }
const Util::StateMachineContext< StateMachineStateType > AutoMeasureSampleContext

Definition at line 983 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleStepState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureSampleStepState
staticconstexprprivate

◆ ConfocalOptimizationContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationContext
private

◆ ConfocalOptimizationFeedbackFuture

std::future<ConfocalOptimizationFeedbackType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationFeedbackFuture
private

Definition at line 1028 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationFeedbackPromise

std::promise<ConfocalOptimizationFeedbackType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationFeedbackPromise
mutableprivate

Definition at line 1027 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationFinishedState
staticconstexprprivate

◆ ConfocalOptimizationInitState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationInitState
staticconstexprprivate

◆ ConfocalOptimizationInitSubStepState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationInitSubStepState
staticconstexprprivate

◆ ConfocalOptimizationNumStepsPerformed

std::atomic<size_t> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationNumStepsPerformed = 0
mutableprivate

Definition at line 1023 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationPromisesRenewed

std::atomic_bool DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationPromisesRenewed = false
mutableprivate

Definition at line 1024 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationStateFuture

std::future<ConfocalOptimizationStateType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStateFuture
private

Definition at line 1026 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationStatePromise

std::promise<ConfocalOptimizationStateType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStatePromise
private

Definition at line 1025 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationStepState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStepState
staticconstexprprivate

◆ ConfocalOptimizationThreadReturnFuture

std::future<ConfocalOptimizationThreadReturnType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationThreadReturnFuture
private

Definition at line 1029 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationWaitState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationWaitState
staticconstexprprivate

◆ ConfocalScanCaptureState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanCaptureState
staticconstexprprivate
Initial value:

Definition at line 846 of file WidefieldMicroscope.h.

◆ ConfocalScanPositionerStateX

const std::shared_ptr<AtomicPositionerStateType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanPositionerStateX
private

Definition at line 1006 of file WidefieldMicroscope.h.

◆ ConfocalScanPositionerStateY

const std::shared_ptr<AtomicPositionerStateType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanPositionerStateY
private

Definition at line 1007 of file WidefieldMicroscope.h.

◆ ConfocalScanPositionerStateZ

const std::shared_ptr<AtomicPositionerStateType> DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanPositionerStateZ
private

Definition at line 1008 of file WidefieldMicroscope.h.

◆ ConfocalScanPositions

std::list<WidefieldMicroscopeData::PositionPoint> DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanPositions
mutableprivate

Definition at line 1014 of file WidefieldMicroscope.h.

◆ ConfocalScanStepState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanStepState
staticconstexprprivate
Initial value:

Definition at line 842 of file WidefieldMicroscope.h.

◆ ConfocalScanWaitUntilCapturedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanWaitUntilCapturedState
staticconstexprprivate

◆ ConfocalScanWaitUntilMovedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ConfocalScanWaitUntilMovedState
staticconstexprprivate

◆ FindingConfocalSpotAfterRecordingWidefieldImageState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotAfterRecordingWidefieldImageState
staticconstexprprivate

◆ FindingConfocalSpotAfterTransitioningToConfocalModeState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotAfterTransitioningToConfocalModeState
staticconstexprprivate

◆ FindingConfocalSpotBeginContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotBeginContext
private
Initial value:

Definition at line 933 of file WidefieldMicroscope.h.

◆ FindingConfocalSpotBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotBeginState
staticconstexprprivate

◆ FindingConfocalSpotRecordingWidefieldImageContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::FindingConfocalSpotRecordingWidefieldImageContext
private
Initial value:

Definition at line 936 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationFuncDesc

gsl_multimin_function DynExpModule::Widefield::WidefieldMicroscope::GSLConfocalOptimizationFuncDesc { &WidefieldMicroscope::ConfocalOptimizationFuncForwarder, GSLConfocalOptimizationNumDimensions, this }
private

Definition at line 1019 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationInitialPoint

gsl_vector* const DynExpModule::Widefield::WidefieldMicroscope::GSLConfocalOptimizationInitialPoint
private

Definition at line 1022 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationMinimizer

const gsl_multimin_fminimizer_type* const DynExpModule::Widefield::WidefieldMicroscope::GSLConfocalOptimizationMinimizer = gsl_multimin_fminimizer_nmsimplex2
private

Definition at line 1018 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationNumDimensions

constexpr size_t DynExpModule::Widefield::WidefieldMicroscope::GSLConfocalOptimizationNumDimensions = 3
staticconstexprprivate

Definition at line 1017 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationState

gsl_multimin_fminimizer* const DynExpModule::Widefield::WidefieldMicroscope::GSLConfocalOptimizationState
private

Definition at line 1020 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationStepSize

gsl_vector* const DynExpModule::Widefield::WidefieldMicroscope::GSLConfocalOptimizationStepSize
private

Definition at line 1021 of file WidefieldMicroscope.h.

◆ HBTAcquiringState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::HBTAcquiringState
staticconstexprprivate

◆ HBTFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::HBTFinishedState
staticconstexprprivate

◆ HBTIntegrationTimeBeforeReset

std::chrono::microseconds DynExpModule::Widefield::WidefieldMicroscope::HBTIntegrationTimeBeforeReset { 0 }
mutableprivate

Definition at line 1040 of file WidefieldMicroscope.h.

◆ ImageCapturingPaused

bool DynExpModule::Widefield::WidefieldMicroscope::ImageCapturingPaused = false
mutableprivate

Definition at line 1036 of file WidefieldMicroscope.h.

◆ InitializingState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::InitializingState
staticconstexprprivate
Initial value:

Definition at line 792 of file WidefieldMicroscope.h.

◆ LEDImageAcquisitionBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::LEDImageAcquisitionBeginState
staticconstexprprivate
Initial value:

Definition at line 810 of file WidefieldMicroscope.h.

◆ LEDImageAcquisitionSetupTransitioningContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::LEDImageAcquisitionSetupTransitioningContext
private
Initial value:

Definition at line 943 of file WidefieldMicroscope.h.

◆ LogUIMessagesOnly

bool DynExpModule::Widefield::WidefieldMicroscope::LogUIMessagesOnly = false
mutableprivate

Definition at line 1044 of file WidefieldMicroscope.h.

◆ NumFailedUpdateAttempts

size_t DynExpModule::Widefield::WidefieldMicroscope::NumFailedUpdateAttempts = 0
private

Definition at line 1043 of file WidefieldMicroscope.h.

◆ PLEAcquisitionFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::PLEAcquisitionFinishedState
staticconstexprprivate

◆ PLEAcquisitionWaitingState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::PLEAcquisitionWaitingState
staticconstexprprivate
Initial value:

Definition at line 868 of file WidefieldMicroscope.h.

◆ ReadyState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::ReadyState
staticconstexprprivate

◆ SetupTransitionBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::SetupTransitionBeginState
staticconstexprprivate

◆ SetupTransitionEndState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::SetupTransitionEndState
staticconstexprprivate

◆ SetupTransitionFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::SetupTransitionFinishedState
staticconstexprprivate

◆ SetupTransitionFinishedTimePoint

std::chrono::system_clock::time_point DynExpModule::Widefield::WidefieldMicroscope::SetupTransitionFinishedTimePoint
private

Definition at line 1032 of file WidefieldMicroscope.h.

◆ SetupTransitioningState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::SetupTransitioningState
staticconstexprprivate

◆ SpectrumAcquisitionFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::SpectrumAcquisitionFinishedState
staticconstexprprivate

◆ SpectrumAcquisitionWaitingState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::SpectrumAcquisitionWaitingState
staticconstexprprivate

◆ StateMachine

Util::StateMachine<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::StateMachine
mutableprivate

Definition at line 1003 of file WidefieldMicroscope.h.

◆ TurnOnPumpSourceAfterTransitioning

bool DynExpModule::Widefield::WidefieldMicroscope::TurnOnPumpSourceAfterTransitioning = false
private

Definition at line 1033 of file WidefieldMicroscope.h.

◆ WaitingEndTimePoint

std::chrono::system_clock::time_point DynExpModule::Widefield::WidefieldMicroscope::WaitingEndTimePoint
mutableprivate

Definition at line 1039 of file WidefieldMicroscope.h.

◆ WaitingFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingFinishedState
staticconstexprprivate

◆ WaitingForLEDImageFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForLEDImageFinishedState
staticconstexprprivate

◆ WaitingForLEDImageReadyToCaptureState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForLEDImageReadyToCaptureState
staticconstexprprivate

◆ WaitingForLEDImageState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForLEDImageState
staticconstexprprivate

◆ WaitingForWidefieldCellIDState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldCellIDState
staticconstexprprivate
Initial value:

Definition at line 826 of file WidefieldMicroscope.h.

◆ WaitingForWidefieldImageFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldImageFinishedState
staticconstexprprivate

◆ WaitingForWidefieldImageReadyToCaptureState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldImageReadyToCaptureState
staticconstexprprivate

◆ WaitingForWidefieldImageState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldImageState
staticconstexprprivate

◆ WaitingForWidefieldLocalizationState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingForWidefieldLocalizationState
staticconstexprprivate
Initial value:

Definition at line 832 of file WidefieldMicroscope.h.

◆ WaitingState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WaitingState
staticconstexprprivate
Initial value:

Definition at line 864 of file WidefieldMicroscope.h.

◆ WidefieldCellIDReadFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WidefieldCellIDReadFinishedState
staticconstexprprivate

◆ WidefieldCellIDState

const std::shared_ptr<AtomicWidefieldImageProcessingStateType> DynExpModule::Widefield::WidefieldMicroscope::WidefieldCellIDState
private

Definition at line 1011 of file WidefieldMicroscope.h.

◆ WidefieldCellWaitUntilCenteredState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WidefieldCellWaitUntilCenteredState
staticconstexprprivate
Initial value:

Definition at line 828 of file WidefieldMicroscope.h.

◆ WidefieldImageAcquisitionBeginState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WidefieldImageAcquisitionBeginState
staticconstexprprivate

◆ WidefieldImageAcquisitionSetupTransitioningContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::Widefield::WidefieldMicroscope::WidefieldImageAcquisitionSetupTransitioningContext
private

◆ WidefieldLocalizationFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::WidefieldLocalizationFinishedState
staticconstexprprivate

◆ WidefieldLocalizationState

const std::shared_ptr<AtomicWidefieldImageProcessingStateType> DynExpModule::Widefield::WidefieldMicroscope::WidefieldLocalizationState
private

Definition at line 1012 of file WidefieldMicroscope.h.


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