DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpModule::Widefield::WidefieldMicroscope Class Reference
+ 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. More...
 
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. More...
 
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. More...
 
- 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
- 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. More...
 
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. More...
 
- 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

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. More...
 
virtual std::string GetCategory () const override
 Returns the category of this Object type. More...
 
std::chrono::milliseconds GetMainLoopDelay () const override final
 Specifies in which time intervals the module's event queue runs to handle pending events. More...
 
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. More...
 
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. More...
 
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(). More...
 
void HideUI ()
 Removes MdiSubWindow, DockWidget, and ModuleWindowFocusAction setting them to nullptr. More...
 
void DisableUI ()
 Disables all user interface controls in Widget. Does nothing if Widget is nullptr. More...
 
void UpdateUI ()
 Enables the user interface controls in Widget. Does nothing if Widget is nullptr. Calls UpdateUIChild(). More...
 
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(). More...
 
void DockWindow () noexcept
 Docks Widget to MdiArea. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
void UndockWindow () noexcept
 Undocks Widget from MdiArea. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
void DockUndockWindow () noexcept
 Toggles the docking state of Widget. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
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. More...
 
void FocusMainWindow () noexcept
 Focuses/activates DynExp's main window calling DynExpManager::FocusMainWindow(). Does nothing if Widget is nullptr. More...
 
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. More...
 
bool IsWindowDocked () noexcept
 Checks whether Widget is docked. More...
 
bool IsActiveWindow ()
 Checks whether Widget is docked and active. More...
 
- Public Member Functions inherited from DynExp::ModuleBase
 ModuleBase (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs a ModuleBase instance. More...
 
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. More...
 
void UpdateParamsFromWindowStates ()
 UpdateParamsFromWindowStates() only calls UpdateParamsFromWindowStatesChild(). Override UpdateParamsFromWindowStatesChild() to store the styles of possibly owned windows in the module's parameters. More...
 
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. More...
 
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. More...
 
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. More...
 
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()). More...
 
virtual bool TreatModuleExceptionsAsWarnings () const
 Determines whether this module should be terminated if an exception leaves the module's main loop or respective event handlers. More...
 
- Public Member Functions inherited from DynExp::RunnableObject
 RunnableObject (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs an Object instance. More...
 
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. More...
 
bool IsRunning () const noexcept
 Returns Running. More...
 
bool IsPaused () const noexcept
 Returns Paused. More...
 
bool IsExiting () const noexcept
 Returns ShouldExit. More...
 
auto GetStartupType () const noexcept
 Returns Startup. More...
 
auto GetReasonWhyPaused () const
 Returns ReasonWhyPaused. More...
 
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(). More...
 
bool RunIfRunAutomatic ()
 Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::Automatic. More...
 
bool RunIfRunOnCreation ()
 Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::OnCreation. More...
 
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(). More...
 
- 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. More...
 
std::string GetCategoryAndName () const
 Builds a string from an Object's category and name to allow the user to identify an Object's type. More...
 
void EnsureReadyState (bool IsAutomaticStartup)
 Ensures that this Object instance is ready by possibly starting its worker thread or by opening connections to hardware devices. More...
 
void CheckLinkedObjectStates () const
 Checks whether Object instances this instance uses are in a ready state. Override CheckLinkedObjectStatesChild() to implement this behavior. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
auto GetObjectName (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Returns the name of this Object instance. More...
 
bool IsSharedUsageEnabled (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Returns whether shared usage has been enabled for this Object instance. Refer to ParamsBase::UsageType. More...
 
void SetWarning (std::string Description, int ErrorCode) const
 Setter for Object::Warning. Sets the warning by a description and an error code. More...
 
void SetWarning (const Util::Exception &e) const
 Setter for Object::Warning. Sets the warning by retrieving the warning data from an exception e. More...
 
void ClearWarning () const
 Resets Object::Warning. More...
 
auto GetWarning () const
 Returns Object::Warning in a thread-safe way by copying its internal data. More...
 
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. More...
 
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). More...
 
auto GetUseCount (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Counts the registered useres in a thread-safe way. More...
 
bool IsUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns whether this Object instance is used by other instances. More...
 
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. More...
 
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. More...
 

Static Public Member Functions

constexpr static auto Name () noexcept
 
constexpr static auto Category () noexcept
 
- Static Public Member Functions inherited from DynExp::ModuleBase
constexpr static auto Category () noexcept
 Every derived class has to redefine this function. More...
 
- 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. More...
 

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(). More...
 
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. More...
 
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. More...
 
bool IsCharacterizingSample () const noexcept
 Returns true if an entire sample (multiple cells) are processed, false if only a single cell is processed. More...
 
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. More...
 
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
 
ModuleDataType::QSurfaceDataRowsType 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. More...
 
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()). More...
 
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()). More...
 
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 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 OnToggleAutoMeasureOptimizeEnabled (DynExp::ModuleInstance *Instance, int State) const
 
void OnToggleAutoMeasureSpectrumEnabled (DynExp::ModuleInstance *Instance, int State) const
 
void OnToggleAutoMeasureHBTEnabled (DynExp::ModuleInstance *Instance, int 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 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 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 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 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. More...
 

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< 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< 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 SpectrumAcquisitionWaitingState
 
static constexpr auto SpectrumAcquisitionFinishedState
 
static constexpr auto AutoMeasureLocalizationStepState
 
static constexpr auto AutoMeasureLocalizationSaveLEDImageState
 
static constexpr auto AutoMeasureLocalizationSaveWidefieldImageState
 
static constexpr auto AutoMeasureLocalizationMovingState
 
static constexpr auto AutoMeasureLocalizationFinishedState
 
static constexpr auto AutoMeasureCharacterizationStepState
 
static constexpr auto AutoMeasureCharacterizationGotoEmitterState
 
static constexpr auto AutoMeasureCharacterizationOptimizationFinishedState
 
static constexpr auto AutoMeasureCharacterizationSpectrumFinishedState
 
static constexpr auto AutoMeasureCharacterizationSpectrumBeginState
 
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(). More...
 
EventListenersOnlyType EventListenersOnly
 Allow exclusive access to some of ModuleBase's private methods to any TypedEventListeners class. More...
 
- Public Attributes inherited from DynExp::RunnableObject
RunnableInstanceOnlyType RunnableInstanceOnly
 Allow exclusive access to some of RunnableObject's private methods to class RunnableInstance. More...
 
- Public Attributes inherited from DynExp::Object
LinkedObjectWrapperOnlyType LinkedObjectWrapperOnly
 Allow exclusive access to some of Object's private methods to any LinkedObjectWrapper<T>. More...
 
- 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. More...
 
- 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. More...
 
static constexpr auto TerminateTimeoutDefault = std::chrono::milliseconds(3000)
 Default timeout used as a default for calls to RunnableObject::Terminate. More...
 
- 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. More...
 
- 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. More...
 
template<typename WidgetType >
WidgetType * GetWidget () const
 Getter for Widget. More...
 
- Protected Member Functions inherited from DynExp::RunnableObject
void Init ()
 Initializes member variables in case of a reset. More...
 
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. More...
 
void StoreThread (std::thread &&Thread) noexcept
 Stores a thread constructed by a derived class overriding RunChild() in Thread taking ownership of the thread. Only call this function within RunChild()! More...
 
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. More...
 
void EnsureCallFromRunnableThread () const
 Asserts that the call to this function is performed from the RunnableObject instance's thread by calling IsCallFromRunnableThread(). More...
 
void SetReasonWhyPaused (std::string Description)
 Sets the reason why this RunnableObject instance has been paused. More...
 
void SetReasonWhyPaused (const Util::Exception &e)
 Sets the reason why this RunnableObject instance has been paused. More...
 
void ClearReasonWhyPaused ()
 Removes the reason why this RunnableObject instance has been paused (since it is resumed). More...
 
- 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. More...
 
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). More...
 
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). More...
 
auto LockUserList (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout)
 Locks the user list for thread-safe manipulation. More...
 
void DeregisterAllUnsafe ()
 Deregisters all users and notifies them that they need to check the states of their used linked objects. More...
 
auto GetUseCountUnsafe ()
 
auto GetUserNamesStringUnsafe () const
 
bool IsUnusedUnsafe ()
 Returns whether this Object instance is used by other instances (not thread-safe). More...
 
- 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. More...
 

Detailed Description

Definition at line 546 of file WidefieldMicroscope.h.


Class Documentation

◆ DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStateType

struct DynExpModule::Widefield::WidefieldMicroscope::ConfocalOptimizationStateType

Definition at line 629 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 636 of file WidefieldMicroscope.h.

◆ PositionerStateType

Enumerator
WaitingForMovement 
Moving 
Arrived 

Definition at line 548 of file WidefieldMicroscope.h.

◆ WidefieldImageProcessingStateType

Enumerator
Waiting 
Finished 
Failed 

Definition at line 549 of file WidefieldMicroscope.h.

Constructor & Destructor Documentation

◆ WidefieldMicroscope()

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

Definition at line 529 of file WidefieldMicroscope.cpp.

◆ ~WidefieldMicroscope()

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

Definition at line 568 of file WidefieldMicroscope.cpp.

Member Function Documentation

◆ AutofocusBeginStateFunc()

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

Definition at line 2187 of file WidefieldMicroscope.cpp.

◆ AutofocusWaitingStateFunc()

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

Definition at line 2210 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationGotoEmitterStateFunc()

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

Definition at line 2802 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationHBTBeginStateFunc()

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

Definition at line 2927 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationHBTFinishedStateFunc()

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

Definition at line 2954 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationHBTWaitForInitStateFunc()

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

Definition at line 2936 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationOptimizationFinishedStateFunc()

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

Definition at line 2832 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationSpectrumBeginStateFunc()

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

Definition at line 2890 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationSpectrumFinishedStateFunc()

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

Definition at line 2900 of file WidefieldMicroscope.cpp.

◆ AutoMeasureCharacterizationStepStateFunc()

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

Definition at line 2759 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationMovingStateFunc()

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

Definition at line 2749 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationSaveLEDImageStateFunc()

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

Definition at line 2697 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationSaveWidefieldImageStateFunc()

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

Definition at line 2714 of file WidefieldMicroscope.cpp.

◆ AutoMeasureLocalizationStepStateFunc()

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

Definition at line 2687 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 3081 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleCharacterizeStateFunc()

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

Definition at line 3064 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleFindEmittersStateFunc()

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

Definition at line 3051 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleLocalizeStateFunc()

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

Definition at line 3033 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleReadCellIDFinishedStateFunc()

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

Definition at line 2992 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleReadCellIDStateFunc()

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

Definition at line 2985 of file WidefieldMicroscope.cpp.

◆ AutoMeasureSampleStepStateFunc()

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

Definition at line 2974 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 910 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 1191 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 901 of file WidefieldMicroscope.cpp.

◆ CalculateConfocalScanPositions()

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

Definition at line 916 of file WidefieldMicroscope.cpp.

◆ Category()

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

Definition at line 560 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationFunc()

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

Definition at line 1268 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationFuncForwarder()

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

Definition at line 1263 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationInitPromises()

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

Definition at line 1215 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationInitStateFunc()

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

Definition at line 2550 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationInitSubStepStateFunc()

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

Definition at line 2559 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationStepStateFunc()

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

Definition at line 2590 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationThread()

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

Definition at line 1227 of file WidefieldMicroscope.cpp.

◆ ConfocalOptimizationWaitStateFunc()

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

Definition at line 2566 of file WidefieldMicroscope.cpp.

◆ ConfocalScanCaptureStateFunc()

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

Definition at line 2477 of file WidefieldMicroscope.cpp.

◆ ConfocalScanStepStateFunc()

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

Definition at line 2447 of file WidefieldMicroscope.cpp.

◆ ConfocalScanWaitUntilCapturedStateFunc()

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

Definition at line 2503 of file WidefieldMicroscope.cpp.

◆ ConfocalScanWaitUntilMovedStateFunc()

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

Definition at line 2464 of file WidefieldMicroscope.cpp.

◆ ConfocalSurfaceSelectedPointChanged()

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

Definition at line 1861 of file WidefieldMicroscope.cpp.

◆ FindingConfocalSpotAfterRecordingWidefieldImageStateFunc()

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

Definition at line 2421 of file WidefieldMicroscope.cpp.

◆ FindingConfocalSpotAfterTransitioningToConfocalModeStateFunc()

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

Definition at line 2406 of file WidefieldMicroscope.cpp.

◆ FindingConfocalSpotBeginStateFunc()

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

Definition at line 2389 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 566 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 578 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 565 of file WidefieldMicroscope.h.

◆ HBTAcquiringStateFunc()

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

Definition at line 2636 of file WidefieldMicroscope.cpp.

◆ InitializeConfocalOptimizer()

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

Definition at line 1063 of file WidefieldMicroscope.cpp.

◆ InitializeHBT()

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

Definition at line 1091 of file WidefieldMicroscope.cpp.

◆ InitializingStateFunc()

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

Definition at line 2110 of file WidefieldMicroscope.cpp.

◆ InitiateLocalizationFromImage()

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

Definition at line 1012 of file WidefieldMicroscope.cpp.

◆ InitiateReadCellIDFromImage()

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

Definition at line 980 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 817 of file WidefieldMicroscope.cpp.

◆ IsReadyState()

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

Definition at line 596 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 870 of file WidefieldMicroscope.cpp.

◆ LEDImageAcquisitionBeginStateFunc()

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

Definition at line 2222 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 689 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 642 of file WidefieldMicroscope.cpp.

◆ MoveSampleTo()

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

Definition at line 831 of file WidefieldMicroscope.cpp.

◆ Name()

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

Definition at line 559 of file WidefieldMicroscope.h.

◆ OnAutofocus()

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

Definition at line 1563 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeFromXChanged()

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

Definition at line 2021 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeFromYChanged()

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

Definition at line 2027 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeToXChanged()

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

Definition at line 2033 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellRangeToYChanged()

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

Definition at line 2039 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellSkipXChanged()

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

Definition at line 2045 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCellSkipYChanged()

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

Definition at line 2051 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureCountRateThresholdChanged()

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

Definition at line 2015 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureImagePositionScatterRadius()

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

Definition at line 1967 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureInitialImageSetWaitTimeChanged()

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

Definition at line 1961 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureLocalizationTypeChanged()

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

Definition at line 1973 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureMaxOptimizationRerunsChanged()

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

Definition at line 2003 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureNumberImageSetsChanged()

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

Definition at line 1955 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureNumOptimizationAttemptsChanged()

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

Definition at line 1997 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureOptimizationMaxDistanceChanged()

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

Definition at line 2009 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureRunCharacterization()

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

Definition at line 2067 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureRunLocalization()

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

Definition at line 2057 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureRunSampleCharacterization()

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

Definition at line 2078 of file WidefieldMicroscope.cpp.

◆ OnAutoMeasureSavePathChanged()

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

Definition at line 1949 of file WidefieldMicroscope.cpp.

◆ OnBringMarkerToConfocalSpot()

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

Definition at line 624 of file WidefieldMicroscope.cpp.

◆ OnCaptureLEDImage()

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

Definition at line 1708 of file WidefieldMicroscope.cpp.

◆ OnCaptureWidefieldImage()

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

Definition at line 1726 of file WidefieldMicroscope.cpp.

◆ OnConfocalConfocalDistPerPixelChanged()

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

Definition at line 1797 of file WidefieldMicroscope.cpp.

◆ OnConfocalConfocalHeightChanged()

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

Definition at line 1791 of file WidefieldMicroscope.cpp.

◆ OnConfocalConfocalWidthChanged()

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

Definition at line 1785 of file WidefieldMicroscope.cpp.

◆ OnConfocalOptimizationInitXYStepSizeChanged()

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

Definition at line 1809 of file WidefieldMicroscope.cpp.

◆ OnConfocalOptimizationInitZStepSizeChanged()

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

Definition at line 1815 of file WidefieldMicroscope.cpp.

◆ OnConfocalOptimizationToleranceChanged()

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

Definition at line 1821 of file WidefieldMicroscope.cpp.

◆ OnConfocalSPDExposureTimeChanged()

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

Definition at line 1803 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 1429 of file WidefieldMicroscope.cpp.

◆ OnFinishedAutofocus()

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

Definition at line 1912 of file WidefieldMicroscope.cpp.

◆ OnGeneralApplyZeroFocus()

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

Definition at line 1654 of file WidefieldMicroscope.cpp.

◆ OnGeneralConfocalPowerChanged()

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

Definition at line 1616 of file WidefieldMicroscope.cpp.

◆ OnGeneralFocusConfocalOffsetVoltageChanged()

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

Definition at line 1639 of file WidefieldMicroscope.cpp.

◆ OnGeneralFocusCurrentVoltageChanged()

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

Definition at line 1624 of file WidefieldMicroscope.cpp.

◆ OnGeneralFocusZeroVoltageChanged()

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

Definition at line 1633 of file WidefieldMicroscope.cpp.

◆ OnGeneralSetZeroFocus()

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

Definition at line 1648 of file WidefieldMicroscope.cpp.

◆ OnGeneralWidefieldPowerChanged()

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

Definition at line 1608 of file WidefieldMicroscope.cpp.

◆ OnGoToHomePosition()

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

Definition at line 1516 of file WidefieldMicroscope.cpp.

◆ OnGoToSamplePos()

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

Definition at line 611 of file WidefieldMicroscope.cpp.

◆ OnHBTBinCountChanged()

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

Definition at line 1883 of file WidefieldMicroscope.cpp.

◆ OnHBTBinWidthChanged()

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

Definition at line 1877 of file WidefieldMicroscope.cpp.

◆ OnHHBTMaxIntegrationTimeChanged()

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

Definition at line 1889 of file WidefieldMicroscope.cpp.

◆ OnImageCapturingPaused()

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

Definition at line 1907 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 1296 of file WidefieldMicroscope.cpp.

◆ OnMeasureHBT()

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

Definition at line 1895 of file WidefieldMicroscope.cpp.

◆ OnOptimizePositions()

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

Definition at line 1573 of file WidefieldMicroscope.cpp.

◆ OnPerformConfocalScan()

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

Definition at line 1827 of file WidefieldMicroscope.cpp.

◆ OnResetCellID()

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

Definition at line 1599 of file WidefieldMicroscope.cpp.

◆ OnRunCharacterizationFromID()

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

Definition at line 635 of file WidefieldMicroscope.cpp.

◆ OnSaveCurrentImage()

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

Definition at line 589 of file WidefieldMicroscope.cpp.

◆ OnSetHomePosition()

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

Definition at line 1506 of file WidefieldMicroscope.cpp.

◆ OnSetupModeChanged()

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

Definition at line 1546 of file WidefieldMicroscope.cpp.

◆ OnSpectrumFinishedRecording()

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

Definition at line 1944 of file WidefieldMicroscope.cpp.

◆ OnStopAction()

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

Definition at line 1462 of file WidefieldMicroscope.cpp.

◆ OnTerminate()

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

Definition at line 1457 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureHBTEnabled()

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

Definition at line 1991 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureOptimizeEnabled()

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

Definition at line 1979 of file WidefieldMicroscope.cpp.

◆ OnToggleAutoMeasureSpectrumEnabled()

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

Definition at line 1985 of file WidefieldMicroscope.cpp.

◆ OnToggleHBTMirror()

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

Definition at line 1588 of file WidefieldMicroscope.cpp.

◆ OnToggleLEDLightSource()

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

Definition at line 1526 of file WidefieldMicroscope.cpp.

◆ OnTogglePumpLightSource()

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

Definition at line 1536 of file WidefieldMicroscope.cpp.

◆ OnWidefieldAnalyzeImageDistortion()

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

Definition at line 1754 of file WidefieldMicroscope.cpp.

◆ OnWidefieldApplyLEDExposureTime()

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

Definition at line 1669 of file WidefieldMicroscope.cpp.

◆ OnWidefieldApplyPumpExposureTime()

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

Definition at line 1686 of file WidefieldMicroscope.cpp.

◆ OnWidefieldFindConfocalSpot()

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

Definition at line 1697 of file WidefieldMicroscope.cpp.

◆ OnWidefieldImageClicked()

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

Definition at line 1774 of file WidefieldMicroscope.cpp.

◆ OnWidefieldLEDExposureTimeChanged()

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

Definition at line 1663 of file WidefieldMicroscope.cpp.

◆ OnWidefieldLocalizeEmitters()

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

Definition at line 1764 of file WidefieldMicroscope.cpp.

◆ OnWidefieldPumpExposureTimeChanged()

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

Definition at line 1680 of file WidefieldMicroscope.cpp.

◆ OnWidefieldReadCellID()

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

Definition at line 1744 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 587 of file WidefieldMicroscope.h.

◆ PrepareAPDsForConfocalMode()

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

Definition at line 1049 of file WidefieldMicroscope.cpp.

◆ PrepareImageRecording()

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

Definition at line 961 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 1200 of file WidefieldMicroscope.cpp.

◆ ReadyStateFunc()

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

Definition at line 2182 of file WidefieldMicroscope.cpp.

◆ RecordImage()

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

Definition at line 975 of file WidefieldMicroscope.cpp.

◆ ResetImpl()

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

Definition at line 665 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 796 of file WidefieldMicroscope.cpp.

◆ ReturnToReadyStateFunc()

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

Definition at line 2101 of file WidefieldMicroscope.cpp.

◆ SetFocus()

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

Definition at line 890 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 1082 of file WidefieldMicroscope.cpp.

◆ SetupTransitionBeginStateFunc()

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

Definition at line 2122 of file WidefieldMicroscope.cpp.

◆ SetupTransitionEndStateFunc()

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

Definition at line 2159 of file WidefieldMicroscope.cpp.

◆ SetupTransitioningStateFunc()

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

Definition at line 2154 of file WidefieldMicroscope.cpp.

◆ SpectrumAcquisitionWaitingStateFunc()

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

Definition at line 2681 of file WidefieldMicroscope.cpp.

◆ StartAutofocus()

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

Definition at line 1116 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 1153 of file WidefieldMicroscope.cpp.

◆ StartAutoMeasureLocalization()

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

Definition at line 1131 of file WidefieldMicroscope.cpp.

◆ StartAutoMeasureSampleCharacterization()

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

Definition at line 1182 of file WidefieldMicroscope.cpp.

◆ StopHBT()

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

Definition at line 1103 of file WidefieldMicroscope.cpp.

◆ UpdatePumpPower()

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

Definition at line 950 of file WidefieldMicroscope.cpp.

◆ UpdateUIChild()

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

Definition at line 763 of file WidefieldMicroscope.cpp.

◆ WaitingForImageReadyToCaptureStateFunc()

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

Definition at line 2259 of file WidefieldMicroscope.cpp.

◆ WaitingForImageStateFunc()

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

Definition at line 2272 of file WidefieldMicroscope.cpp.

◆ WaitingForWidefieldCellIDStateFunc()

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

Definition at line 2302 of file WidefieldMicroscope.cpp.

◆ WaitingForWidefieldLocalizationStateFunc()

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

Definition at line 2356 of file WidefieldMicroscope.cpp.

◆ WaitingStateFunc()

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

Definition at line 2676 of file WidefieldMicroscope.cpp.

◆ WidefieldCellWaitUntilCenteredStateFunc()

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

Definition at line 2339 of file WidefieldMicroscope.cpp.

◆ WidefieldImageAcquisitionBeginStateFunc()

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

Definition at line 2242 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:1305

Definition at line 779 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 893 of file WidefieldMicroscope.h.

◆ AutofocusWaitingState

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

◆ AutoMeasureCharacterizationContext

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

◆ 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 930 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 924 of file WidefieldMicroscope.h.

◆ AutoMeasureCharacterizationOptimizationFinishedState

constexpr auto DynExpModule::Widefield::WidefieldMicroscope::AutoMeasureCharacterizationOptimizationFinishedState
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 927 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 853 of file WidefieldMicroscope.h.

◆ AutoMeasureLocalizationSaveLEDImageState

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

◆ AutoMeasureLocalizationSaveWidefieldImageState

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

◆ AutoMeasureLocalizationStepState

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

Definition at line 847 of file WidefieldMicroscope.h.

◆ 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 887 of file WidefieldMicroscope.h.

◆ AutoMeasureSampleCharacterizationContext

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

Definition at line 948 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 955 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 951 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 953 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 933 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 944 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 941 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 984 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationFeedbackPromise

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

Definition at line 983 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 979 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationPromisesRenewed

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

Definition at line 980 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationStateFuture

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

Definition at line 982 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationStatePromise

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

Definition at line 981 of file WidefieldMicroscope.h.

◆ ConfocalOptimizationStepState

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

◆ ConfocalOptimizationThreadReturnFuture

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

Definition at line 985 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 821 of file WidefieldMicroscope.h.

◆ ConfocalScanPositionerStateX

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

Definition at line 962 of file WidefieldMicroscope.h.

◆ ConfocalScanPositionerStateY

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

Definition at line 963 of file WidefieldMicroscope.h.

◆ ConfocalScanPositionerStateZ

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

Definition at line 964 of file WidefieldMicroscope.h.

◆ ConfocalScanPositions

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

Definition at line 970 of file WidefieldMicroscope.h.

◆ ConfocalScanStepState

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

Definition at line 817 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 896 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 899 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationFuncDesc

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

Definition at line 975 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationInitialPoint

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

Definition at line 978 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationMinimizer

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

Definition at line 974 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationNumDimensions

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

Definition at line 973 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationState

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

Definition at line 976 of file WidefieldMicroscope.h.

◆ GSLConfocalOptimizationStepSize

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

Definition at line 977 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 996 of file WidefieldMicroscope.h.

◆ ImageCapturingPaused

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

Definition at line 992 of file WidefieldMicroscope.h.

◆ InitializingState

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

Definition at line 767 of file WidefieldMicroscope.h.

◆ LEDImageAcquisitionBeginState

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

Definition at line 785 of file WidefieldMicroscope.h.

◆ LEDImageAcquisitionSetupTransitioningContext

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

Definition at line 906 of file WidefieldMicroscope.h.

◆ LogUIMessagesOnly

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

Definition at line 1000 of file WidefieldMicroscope.h.

◆ NumFailedUpdateAttempts

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

Definition at line 999 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 988 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 959 of file WidefieldMicroscope.h.

◆ TurnOnPumpSourceAfterTransitioning

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

Definition at line 989 of file WidefieldMicroscope.h.

◆ WaitingEndTimePoint

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

Definition at line 995 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
Initial value:

Definition at line 789 of file WidefieldMicroscope.h.

◆ WaitingForLEDImageState

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

◆ WaitingForWidefieldCellIDState

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

Definition at line 801 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 807 of file WidefieldMicroscope.h.

◆ WaitingState

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

Definition at line 839 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 967 of file WidefieldMicroscope.h.

◆ WidefieldCellWaitUntilCenteredState

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

Definition at line 803 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 968 of file WidefieldMicroscope.h.


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