Scope
scope::parameters::ScannerVectorFrameBasic Class Reference

#include <Framescan.h>

Inherits scope::parameters::ScannerVector.

Inherited by scope::parameters::ScannerVectorFrameBiDi, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameResonance, and scope::parameters::ScannerVectorFrameSaw.

Classes

class  Preset
 

Public Member Functions

virtual std::vector< boost::signals2::connection > ConnectCopyTrigger (signalchange_t::slot_type _slot)
 
virtual void ConnectRateUpdate (signalchange_t::slot_type _slot)
 
virtual void ConnectResolutionUpdate (signalchange_t::slot_type _slot)
 
virtual void ConnectMicronPerPixelUpdate (signalchange_t::slot_type _slot)
 
virtual void ConnectResolutionChange (signalchange_t::slot_type _slot)
 
virtual void ConnectOnlineUpdate (signalchange_t::slot_type _slot)
 
virtual uint32_t XImagePixels () const
 
virtual uint32_t YImageLines () const
 
virtual uint32_t XTotalPixels () const
 
virtual uint32_t YTotalLines () const
 
uint32_t TotalPixels () const override
 
uint32_t TotalPixelsOneFrame () const override
 
void Load (const wptree &pt) override
 
void Save (wptree &pt) const override
 
void SetReadOnlyWhileScanning (const RunState &_runstate) override
 
virtual std::unique_ptr< ScannerVectorFrameBasic::PresetMakePreset () const
 
virtual void SaveToPreset (const std::wstring &_name, const Daq &_daq)
 
virtual void LoadFromPreset (const std::wstring &_name, Daq &_daq)
 
virtual void DeletePreset (const std::wstring &_name)
 
virtual void CoerceOffset ()
 

Static Public Member Functions

static std::unique_ptr< ScannerVectorFrameBasicCreate ()
 
static std::unique_ptr< ScannerVectorFrameBasicCreate (const ScannerVectorFrameBasic &_o)
 
static std::unique_ptr< ScannerVectorFrameBasicFactory (const ScannerVectorType &_type, const ScannerVectorFrameBasic *const _o=nullptr)
 

Public Attributes

std::vector< std::shared_ptr< Preset > > presets
 
ScopeNumber< uint32_t > xres
 
ScopeNumber< uint32_t > yres
 
ScopeNumber< double > xaspectratio
 
ScopeNumber< double > yaspectratio
 
ScopeNumber< bool > squarepixels
 
ScopeNumber< double > zoom
 
ScopeNumber< double > xoffset
 
ScopeNumber< double > yoffset
 
ScopeNumber< double > fastz
 
ScopeNumber< double > pockels
 
ScopeNumber< double > xrotation
 
ScopeNumber< double > yrotation
 

Additional Inherited Members

- Protected Types inherited from scope::parameters::ScannerVector
typedef boost::signals2::signal< void()> signalchange_t
 
- Protected Attributes inherited from scope::parameters::Base
std::vector< boost::signals2::connection > connection_collector
 

Detailed Description

Parameters for a ScannerVectorFrameBasic.

Definition at line 45 of file Framescan.h.

Member Function Documentation

static std::unique_ptr<ScannerVectorFrameBasic> scope::parameters::ScannerVectorFrameBasic::Create ( )
inlinestatic

Create function for factory.

Definition at line 94 of file Framescan.h.

static std::unique_ptr<ScannerVectorFrameBasic> scope::parameters::ScannerVectorFrameBasic::Create ( const ScannerVectorFrameBasic _o)
inlinestatic

Create copy function for factory.

Definition at line 97 of file Framescan.h.

std::unique_ptr< ScannerVectorFrameBasic > scope::parameters::ScannerVectorFrameBasic::Factory ( const ScannerVectorType _type,
const ScannerVectorFrameBasic *const  _o = nullptr 
)
static

Factory method to generate parameter sets for different scan types and put them into a ScannerVectorFrameBasic pointer.

Definition at line 177 of file Framescan.cpp.

std::vector< boost::signals2::connection > scope::parameters::ScannerVectorFrameBasic::ConnectCopyTrigger ( signalchange_t::slot_type  _slot)
virtual

Connect a slot that is called if some member parameter changes, this can be used to copy certain changes in a master area to its slave areas.

Except changes in parameters that are area specific (e.g. pockels).

Returns
a vector with all connections made, for storage and destructor call
Parameters
[in]_slotThe slot that is connected to all ScopeValues in the ScannerVector

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 190 of file Framescan.cpp.

void scope::parameters::ScannerVectorFrameBasic::ConnectRateUpdate ( signalchange_t::slot_type  _slot)
virtual

Connect a slot that is called if something in the ScannerVector changes that renders a recalculation of dependent rates (e.g.

framerate in parameters::Area) necessary

Parameters
[in]_slotThe slot that is connected to certain ScopeValues in the ScannerVector

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 201 of file Framescan.cpp.

void scope::parameters::ScannerVectorFrameBasic::ConnectResolutionUpdate ( signalchange_t::slot_type  _slot)
virtual

Connect a slot that is called if something in the ScannerVector changes that renders a recalculation of the resolution (e.g.

through in parameters::Area::CalculateResolution) necessary

Parameters
[in]_slotThe slot that is connected to certain ScopeValues in the ScannerVector

Definition at line 206 of file Framescan.cpp.

void scope::parameters::ScannerVectorFrameBasic::ConnectMicronPerPixelUpdate ( signalchange_t::slot_type  _slot)
virtual

Connect a slot that is called if something in the ScannerVector changes that renders a recalculation of the micron per pixel (e.g.

through in parameters::Area::CalculateMicronPerPixel) necessary

Parameters
[in]_slotThe slot that is connected to certain ScopeValues in the ScannerVector

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 211 of file Framescan.cpp.

void scope::parameters::ScannerVectorFrameBasic::ConnectResolutionChange ( signalchange_t::slot_type  _slot)
virtual

Connect a slot that is called if xres or yres in the ScannerVector are changed This usually is ScopeControllerImpl::ResolutionChange.

Parameters
[in]_slotThe slot that is connected to xres and yres ScopeValues in the ScannerVector

Definition at line 217 of file Framescan.cpp.

void scope::parameters::ScannerVectorFrameBasic::ConnectOnlineUpdate ( signalchange_t::slot_type  _slot)
virtual

Connect a slot that is called if something in the ScannerVector (which is displayed on the GUI) changes that makes an online update during scanning necessary.

Parameters
[in]_slotThe slot that is connected to certain/all ScopeValues in the ScannerVector, mainly this would be ScopeControllerImpl::UpdateAreaParametersFromGui

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 222 of file Framescan.cpp.

virtual uint32_t scope::parameters::ScannerVectorFrameBasic::XImagePixels ( ) const
inlinevirtual
Returns
number of x pixels (columns) in the final image

Definition at line 172 of file Framescan.h.

virtual uint32_t scope::parameters::ScannerVectorFrameBasic::YImageLines ( ) const
inlinevirtual
Returns
number of y pixels (lines) in the final image

Definition at line 175 of file Framescan.h.

virtual uint32_t scope::parameters::ScannerVectorFrameBasic::XTotalPixels ( ) const
inlinevirtual
Returns
number of totally acquired pixels in one line

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 178 of file Framescan.h.

virtual uint32_t scope::parameters::ScannerVectorFrameBasic::YTotalLines ( ) const
inlinevirtual
Returns
number of totally acquired y pixels/lines

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 181 of file Framescan.h.

uint32_t scope::parameters::ScannerVectorFrameBasic::TotalPixels ( ) const
inlineoverridevirtual
Returns
total number of pixels that are generated/acquired for one daq frame (including cutoff etc)

Reimplemented from scope::parameters::ScannerVector.

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 183 of file Framescan.h.

uint32_t scope::parameters::ScannerVectorFrameBasic::TotalPixelsOneFrame ( ) const
inlineoverridevirtual
Returns
total number of pixels for one image (can be different from the number of pixels for one daq cycle, see BiDi)

Reimplemented from scope::parameters::ScannerVector.

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 185 of file Framescan.h.

void scope::parameters::ScannerVectorFrameBasic::Load ( const wptree &  pt)
overridevirtual
void scope::parameters::ScannerVectorFrameBasic::Save ( wptree &  pt) const
overridevirtual
void scope::parameters::ScannerVectorFrameBasic::SetReadOnlyWhileScanning ( const RunState _runstate)
overridevirtual

set values that must not be changed to read-only during scanning.

True = readonly, false = read&write

Reimplemented from scope::parameters::Base.

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 118 of file Framescan.cpp.

std::unique_ptr< ScannerVectorFrameBasic::Preset > scope::parameters::ScannerVectorFrameBasic::MakePreset ( ) const
virtual

Since preset loading is done in base class (here), we need to generate a derived preset, this can be done by calling this function and overriding it in derived classes.

(Be careful which classes Preset class is meant!)

Reimplemented in scope::parameters::ScannerVectorFrameResonance, scope::parameters::ScannerVectorFramePlaneHopper, scope::parameters::ScannerVectorFrameBiDi, and scope::parameters::ScannerVectorFrameSaw.

Definition at line 159 of file Framescan.cpp.

virtual void scope::parameters::ScannerVectorFrameBasic::SaveToPreset ( const std::wstring &  _name,
const Daq _daq 
)
inlinevirtual
virtual void scope::parameters::ScannerVectorFrameBasic::LoadFromPreset ( const std::wstring &  _name,
Daq _daq 
)
inlinevirtual
void scope::parameters::ScannerVectorFrameBasic::DeletePreset ( const std::wstring &  _name)
virtual

Deletes a preset.

Definition at line 163 of file Framescan.cpp.

void scope::parameters::ScannerVectorFrameBasic::CoerceOffset ( )
virtual

Changes the limits of xoffset and yoffset to account for the maximum allowed offset depending on zoom.

Definition at line 170 of file Framescan.cpp.

Member Data Documentation

std::vector<std::shared_ptr<Preset> > scope::parameters::ScannerVectorFrameBasic::presets

A vector with presets.

Definition at line 89 of file Framescan.h.

ScopeNumber<uint32_t> scope::parameters::ScannerVectorFrameBasic::xres

x resolution of the image (linewidth)

Definition at line 135 of file Framescan.h.

ScopeNumber<uint32_t> scope::parameters::ScannerVectorFrameBasic::yres

y resolution of the image (lines)

Definition at line 138 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::xaspectratio

aspect ratio in x direction

Definition at line 141 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::yaspectratio

aspect ratio in y direction

Definition at line 144 of file Framescan.h.

ScopeNumber<bool> scope::parameters::ScannerVectorFrameBasic::squarepixels

pixels are square (thus FOV rectangular) when true, when false pixels are rectangular (thus FOV square) depending on xres vs yres

Definition at line 147 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::zoom

current zoom factor (from 1 to 20).

With the PXI-6259 analog output range of +-5V and 16bit resolution the smallest voltage step is 0.15mV. Having zoom 20 and 512 pixels corresponds to a step size of 0.98 mV.

Definition at line 151 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::xoffset

x offset

Definition at line 154 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::yoffset

y offset

Definition at line 157 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::fastz

current fast z position

Definition at line 160 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::pockels

pockels cell value

Definition at line 163 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::xrotation

Rotation angle around the X axis in degrees.

Definition at line 166 of file Framescan.h.

ScopeNumber<double> scope::parameters::ScannerVectorFrameBasic::yrotation

Rotation angle around the Y axis in degrees.

Definition at line 169 of file Framescan.h.


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