16 #include "WidefieldLocalization.pb.h"
17 #include "WidefieldLocalization.grpc.pb.h"
21 class WidefieldLocalization;
37 std::strong_ordering
operator<=>(
const WidefieldLocalizationCellIDType& lhs,
const WidefieldLocalizationCellIDType& rhs);
38 std::ostream&
operator<<(std::ostream& stream,
const WidefieldLocalizationCellIDType& CellID);
40 namespace WidefieldLocalizationTasks
130 void ResetImpl(dispatch_tag<gRPCInstrumentData>)
override final;
131 virtual void ResetImpl(dispatch_tag<WidefieldLocalizationData>) {};
133 void SetLocalizedPositions(
const DynExpProto::WidefieldLocalization::PositionsMessage& PositionsMsg);
145 virtual const char*
GetParamClassTag() const noexcept
override {
return "WidefieldLocalizationParams"; }
174 constexpr
static auto Name() noexcept {
return "Widefield Localization"; }
187 void ResetImpl(dispatch_tag<gRPCInstrument>)
override final;
190 virtual std::unique_ptr<DynExp::InitTaskBase>
MakeInitTask()
const override {
return DynExp::MakeTask<WidefieldLocalizationTasks::InitTask>(); }
191 virtual std::unique_ptr<DynExp::ExitTaskBase>
MakeExitTask()
const override {
return DynExp::MakeTask<WidefieldLocalizationTasks::ExitTask>(); }
192 virtual std::unique_ptr<DynExp::UpdateTaskBase>
MakeUpdateTask()
const override {
return DynExp::MakeTask<WidefieldLocalizationTasks::UpdateTask>(); }
Defines DynExp's core module as an interface between the UI and DynExp objects.
virtual ~WidefieldLocalizationConfigurator()=default
virtual DynExp::ParamsBasePtrType MakeParams(DynExp::ItemIDType ID, const DynExp::DynExpCore &Core) const override
Override to make derived classes call DynExp::MakeParams with the correct configurator type derived f...
WidefieldLocalizationConfigurator()=default
void SetLocalizedPositions(const DynExpProto::WidefieldLocalization::PositionsMessage &PositionsMsg)
std::map< google::protobuf::uint32, QPoint > LocalizedPositions
const auto & GetCellID() const noexcept
const auto & GetLocalizedPositions() const noexcept
virtual ~WidefieldLocalizationData()=default
void ResetImpl(dispatch_tag< gRPCInstrumentData >) override final
WidefieldLocalizationCellIDType CellID
WidefieldLocalizationData()=default
virtual void ResetImpl(dispatch_tag< WidefieldLocalizationData >)
WidefieldLocalizationParams(DynExp::ItemIDType ID, const DynExp::DynExpCore &Core)
virtual const char * GetParamClassTag() const noexcept override
This function is intended to be overridden once in each derived class returning the name of the respe...
virtual void ConfigureParamsImpl(dispatch_tag< WidefieldLocalizationParams >)
virtual ~WidefieldLocalizationParams()=default
void ConfigureParamsImpl(dispatch_tag< gRPCInstrumentParams< DynExp::InstrumentBase, 0, DynExpProto::WidefieldLocalization::WidefieldLocalization >>) override final
AnalyzeDistortionTask(const QImage &Image, CallbackType CallbackFunc) noexcept
virtual DynExp::TaskResultType RunChild(DynExp::InstrumentInstance &Instance) override
Runs the task. Override RunChild() to define a derived task's action(s). Any exception leaving RunChi...
virtual DynExp::TaskResultType RunChild(DynExp::InstrumentInstance &Instance) override
Runs the task. Override RunChild() to define a derived task's action(s). Any exception leaving RunChi...
AnalyzeWidefieldTask(const QImage &Image, CallbackType CallbackFunc) noexcept
virtual void ExitFuncImpl(dispatch_tag< ExitTask >, DynExp::InstrumentInstance &Instance)
void ExitFuncImpl(dispatch_tag< gRPCInstrumentTasks::ExitTask< DynExp::InstrumentBase, 0, DynExpProto::WidefieldLocalization::WidefieldLocalization >>, DynExp::InstrumentInstance &Instance) override final
ImageProcessingTaskBase(const QImage &Image) noexcept
const google::protobuf::uint32 ImageHeight
const QImage::Format ImageFormat
const google::protobuf::uint32 ImageWidth
DynExpProto::WidefieldLocalization::ImageMessage MakeImageMessage()
virtual void InitFuncImpl(dispatch_tag< InitTask >, DynExp::InstrumentInstance &Instance)
void InitFuncImpl(dispatch_tag< gRPCInstrumentTasks::InitTask< DynExp::InstrumentBase, 0, DynExpProto::WidefieldLocalization::WidefieldLocalization >>, DynExp::InstrumentInstance &Instance) override final
virtual DynExp::TaskResultType RunChild(DynExp::InstrumentInstance &Instance) override
Runs the task. Override RunChild() to define a derived task's action(s). Any exception leaving RunChi...
ReadCellIDTask(const QImage &Image, CallbackType CallbackFunc) noexcept
const WidefieldLocalizationCellIDType CellID
virtual DynExp::TaskResultType RunChild(DynExp::InstrumentInstance &Instance) override
Runs the task. Override RunChild() to define a derived task's action(s). Any exception leaving RunChi...
RecallPositionsTask(const QImage &Image, const WidefieldLocalizationCellIDType &CellID, std::string_view MeasureSavePath, CallbackType CallbackFunc) noexcept
const std::string MeasureSavePath
void UpdateFuncImpl(dispatch_tag< gRPCInstrumentTasks::UpdateTask< DynExp::InstrumentBase, 0, DynExpProto::WidefieldLocalization::WidefieldLocalization >>, DynExp::InstrumentInstance &Instance) override final
virtual void UpdateFuncImpl(dispatch_tag< UpdateTask >, DynExp::InstrumentInstance &Instance)
void ResetImpl(dispatch_tag< gRPCInstrument >) override final
Refer to DynExp::Object::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every de...
virtual std::unique_ptr< DynExp::InitTaskBase > MakeInitTask() const override
Factory function for an init task (InitTaskBase). Override to define the desired initialization task ...
virtual void AnalyzeDistortion(const QImage &Image, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const
virtual void ResetImpl(dispatch_tag< WidefieldLocalization >)
virtual void RecallPositions(const QImage &Image, const WidefieldLocalizationCellIDType &CellID, std::string_view MeasureSavePath, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const
virtual std::string GetName() const override
Returns the name of this Object type.
constexpr static auto Name() noexcept
WidefieldLocalization(const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
virtual std::unique_ptr< DynExp::UpdateTaskBase > MakeUpdateTask() const override
Factory function for an update task (UpdateTaskBase). Override to define the desired update task in d...
virtual void ReadCellID(const QImage &Image, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const
virtual void AnalyzeWidefield(const QImage &Image, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const
virtual ~WidefieldLocalization()
virtual std::unique_ptr< DynExp::ExitTaskBase > MakeExitTask() const override
Factory function for an exit task (ExitTaskBase). Override to define the desired deinitialization tas...
Configurator class for gRPCInstrument.
Data class for gRPCInstrument.
Parameter class for gRPCInstrument.
Defines a task for deinitializing an instrument within an instrument inheritance hierarchy....
DynExp::ExitTaskBase::dispatch_tag< Type > dispatch_tag
Refer to DynExp::ParamsBase::dispatch_tag.
Defines a task for initializing an instrument within an instrument inheritance hierarchy....
DynExp::InitTaskBase::dispatch_tag< Type > dispatch_tag
Refer to DynExp::ParamsBase::dispatch_tag.
Defines a task for updating an instrument within an instrument inheritance hierarchy....
DynExp::UpdateTaskBase::dispatch_tag< Type > dispatch_tag
Refer to DynExp::ParamsBase::dispatch_tag.
Meta instrument template for transforming meta instruments into network instruments,...
DynExp's core class acts as the interface between the user interface and DynExp's internal data like ...
Configurator class for InstrumentBase.
Data structure to contain data which is synchronized in between different threads....
Defines data for a thread belonging to a InstrumentBase instance. Refer to RunnableInstance.
Parameter class for InstrumentBase.
const std::thread::id OwnerThreadID
Thread id of the thread which has constructed (and owns) this Object instance.
const ParamsBasePtrType Params
Pointer to the parameter class instance belonging to this Object instance.
Refer to ParamsBase::dispatch_tag.
Base class for all tasks being processed by instruments. The class must not contain public virtual fu...
std::function< void(const TaskBase &, ExceptionContainer &)> CallbackType
Type of a callback function which is invoked when a task has finished, failed or has been aborted....
const CallbackType CallbackFunc
This callback function is called after the task has finished (either successfully or not) with a refe...
Defines the return type of task functions.
Defines a meta instrument template for transforming meta instruments into network instruments,...
DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's...
std::strong_ordering operator<=>(const WidefieldLocalizationCellIDType &lhs, const WidefieldLocalizationCellIDType &rhs)
std::ostream & operator<<(std::ostream &stream, const WidefieldLocalizationCellIDType &CellID)
std::unique_ptr< ParamsBase > ParamsBasePtrType
Alias for a pointer to the parameter system base class ParamsBase.
size_t ItemIDType
ID type of objects/items managed by DynExp.
Accumulates include statements to provide a precompiled header.
constexpr bool HasCellShift() const noexcept