DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpInstr::PVCamData Class Reference
+ Inheritance diagram for DynExpInstr::PVCamData:

Public Member Functions

 PVCamData ()=default
 
virtual ~PVCamData ()=default
 
void SetCapturingState (CapturingStateType CapturingState) noexcept
 
- Public Member Functions inherited from DynExpInstr::CameraData
 CameraData ()=default
 
virtual ~CameraData ()=default
 
auto GetImageWidth () const noexcept
 Getter for ImageWidth. More...
 
void SetImageWidth (ImageDimensionType ImageWidth) noexcept
 Setter for ImageWidth. More...
 
auto GetImageHeight () const noexcept
 Getter for ImageHeight. More...
 
void SetImageHeight (ImageDimensionType ImageHeight) noexcept
 Setter for ImageHeight. More...
 
auto GetCameraModes () const
 Getter for CameraModes. More...
 
void SetCameraModes (CameraModesType CameraModes)
 Setter for CameraModes. More...
 
TimeType GetMinExposureTime () const
 Getter for MinExposureTime. More...
 
TimeType GetMaxExposureTime () const
 Getter for MaxExposureTime. More...
 
TimeType GetExposureTime () const
 Getter for CurrentExposureTime. More...
 
void SetMinExposureTime (TimeType MinExposureTime)
 Setter for MinExposureTime. More...
 
void SetMaxExposureTime (TimeType MaxExposureTime)
 Setter for MaxExposureTime. More...
 
void SetExposureTime (TimeType CurrentExposureTime)
 Setter for CurrentExposureTime. More...
 
auto GetCurrentFPS () const noexcept
 Getter for CurrentFPS. More...
 
void SetCurrentFPS (float CurrentFPS) noexcept
 Setter for CurrentFPS. More...
 
auto GetComputeHistogram () const noexcept
 Getter for ComputeHistogram. More...
 
void SetComputeHistogram (ComputeHistogramType ComputeHistogram) const noexcept
 Setter for ComputeHistogram. Adjustable by modules. More...
 
auto GetIntensityHistogram () const noexcept
 Getter for IntensityHistogram. More...
 
void SetIntensityHistogram (Util::ImageHistogramType &&IntensityHistogram) noexcept
 Setter for IntensityHistogram. Moves from argument. More...
 
auto GetRGBHistogram () const noexcept
 Getter for RGBHistogram. More...
 
void SetRGBHistogram (Util::ImageRGBHistogramType &&RGBHistogram) noexcept
 Setter for RGBHistogram. Moves from argument. More...
 
const auto & GetImageTransformation () const noexcept
 Getter for ImageTransformation. More...
 
void SetImageTransformation (const ImageTransformationType &Transformation) const noexcept
 Setter for ImageTransformation. Adjustable by modules. More...
 
QImage GetImage () const
 Moving getter for CurrentImage. More...
 
QImage GetImageCopy (const QRect &RegionOfInterest=QRect()) const
 Copying getter for CurrentImage. This function is more expensive than GetImage(). More...
 
bool IsImageAvailbale () const noexcept
 Determines whether an image is currently available. More...
 
void SetImage (QImage &&Other)
 Setter for CurrentImage. More...
 
void ClearImage () const
 Resets CurrentImage to a default-constructed empty image and IntensityHistogram as well as RGBHistogram to default-constructed empty histograms. More...
 
auto GetCapturingState () const noexcept
 Returns the camera's current capturing state. More...
 
bool IsCapturing () const noexcept
 Determines whether the camera is currently capturing an image. More...
 
bool IsCapturingSingle () const noexcept
 Determines whether the camera is currently capturing a single image. More...
 
bool IsCapturingContinuously () const noexcept
 Determines whether the camera is currently capturing images consecutively. More...
 
- Public Member Functions inherited from DynExp::InstrumentDataBase
 InstrumentDataBase ()
 
virtual ~InstrumentDataBase ()
 
auto GetLastUpdateTime () const
 Getter for LastUpdate. More...
 
auto GetException () const noexcept
 Getter for InstrumentDataBase::InstrumentException. More...
 
void EnqueueTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the back of an instrument's task queue and notifies the instrument about the new task. More...
 
void EnqueuePriorityTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the front of an instrument's task queue and notifies the instrument about the new task. More...
 
std::unique_ptr< TaskBasePopTaskFront ()
 Removes a task from the front of an instrument's task queue. More...
 
std::unique_ptr< TaskBasePopTaskBack ()
 Removes a task from the back of an instrument's task queue. More...
 
auto GetTaskFront () noexcept
 Getter for first enqueued task. More...
 
auto GetTaskBack () noexcept
 Getter for last enqueued task. More...
 
size_t GetNumEnqueuedTasks () const noexcept
 Getter for the instrument task queue's length. More...
 
std::unique_ptr< TaskBasePopFinishedTask ()
 Removes a task from the front of an instrument's list of finished tasks. More...
 
size_t GetNumFinishedTasks () const noexcept
 Getter for the length of the instrument's list of finished tasks. More...
 
bool IsQueueClosed () const noexcept
 Determines whether the instrument task queue is closed. More...
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 

Public Attributes

DynExp::LinkedObjectWrapperContainer< DynExpHardware::PVCamHardwareAdapterHardwareAdapter
 
- Public Attributes inherited from DynExp::InstrumentDataBase
InstrumentBaseOnlyType InstrumentBaseOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase. More...
 
InstrumenThreadOnlyType InstrumentThreadOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). More...
 

Private Member Functions

void ResetImpl (dispatch_tag< CameraData >) override final
 
virtual void ResetImpl (dispatch_tag< PVCamData >)
 
virtual CapturingStateType GetCapturingStateChild () const noexcept override
 Returns the camera's current capturing state. More...
 

Private Attributes

CapturingStateType CapturingState = CapturingStateType::Stopped
 
size_t NumFailedStatusUpdateAttempts = 0
 

Friends

class PVCamTasks::InitTask
 
class PVCamTasks::UpdateTask
 

Additional Inherited Members

- Public Types inherited from DynExpInstr::CameraData
enum class  CapturingStateType { Stopped , CapturingSingle , CapturingContinuously }
 Type indicating whether the camera is currently capturing images. More...
 
enum class  ComputeHistogramType { NoHistogram , IntensityHistogram , RGBHistogram , IntensityAndRGBHistogram }
 Type indicating whether histograms should be computed for newly captured images. More...
 
using ImageDimensionType = unsigned int
 Type describing image dimensions such as width and height. More...
 
using CameraModesType = std::vector< std::string >
 List type containing strings of modes the camera can operate in. More...
 
using TimeType = std::chrono::milliseconds
 Time type describing the camera's times like its exposure time. More...
 
- Public Types inherited from DynExp::InstrumentDataBase
using TaskQueueType = std::list< std::unique_ptr< TaskBase > >
 Type of an instrument task queue owning the tasks within. More...
 
using TaskQueueIteratorType = TaskQueueType::const_iterator
 Const iterator type to elements of TaskQueueType. More...
 
- Protected Member Functions inherited from Util::ISynchronizedPointerLockable
 ISynchronizedPointerLockable ()
 
 ~ISynchronizedPointerLockable ()
 Object should never be destroyed before completely unlocked. More...
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 

Detailed Description

Definition at line 96 of file PVCam.h.

Constructor & Destructor Documentation

◆ PVCamData()

DynExpInstr::PVCamData::PVCamData ( )
default

◆ ~PVCamData()

virtual DynExpInstr::PVCamData::~PVCamData ( )
virtualdefault

Member Function Documentation

◆ GetCapturingStateChild()

virtual CapturingStateType DynExpInstr::PVCamData::GetCapturingStateChild ( ) const
inlineoverrideprivatevirtualnoexcept

Returns the camera's current capturing state.

Returns
Capturing state of type CameraData::CapturingStateType

Implements DynExpInstr::CameraData.

Definition at line 113 of file PVCam.h.

◆ ResetImpl() [1/2]

void DynExpInstr::PVCamData::ResetImpl ( dispatch_tag< CameraData )
finaloverrideprivatevirtual

Reimplemented from DynExpInstr::CameraData.

Definition at line 174 of file PVCam.cpp.

◆ ResetImpl() [2/2]

virtual void DynExpInstr::PVCamData::ResetImpl ( dispatch_tag< PVCamData )
inlineprivatevirtual

Definition at line 111 of file PVCam.h.

◆ SetCapturingState()

void DynExpInstr::PVCamData::SetCapturingState ( CapturingStateType  CapturingState)
inlinenoexcept

Definition at line 105 of file PVCam.h.

Friends And Related Function Documentation

◆ PVCamTasks::InitTask

friend class PVCamTasks::InitTask
friend

Definition at line 98 of file PVCam.h.

◆ PVCamTasks::UpdateTask

friend class PVCamTasks::UpdateTask
friend

Definition at line 99 of file PVCam.h.

Member Data Documentation

◆ CapturingState

CapturingStateType DynExpInstr::PVCamData::CapturingState = CapturingStateType::Stopped
private

Definition at line 115 of file PVCam.h.

◆ HardwareAdapter

Definition at line 107 of file PVCam.h.

◆ NumFailedStatusUpdateAttempts

size_t DynExpInstr::PVCamData::NumFailedStatusUpdateAttempts = 0
private

Definition at line 116 of file PVCam.h.


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