TwiceAsNice  2019-02-18
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
Laos::WfcAvx2Loop< ImageType > Class Template Reference

#include <LaosWfcAvx2Loop.h>

Inheritance diagram for Laos::WfcAvx2Loop< ImageType >:
Inheritance graph
Collaboration diagram for Laos::WfcAvx2Loop< ImageType >:
Collaboration graph

Public Member Functions

 WfcAvx2Loop (const Nice::JointPtr &_config)
 
virtual void init ()
 
 WfcAvx2Loop (const Nice::JointPtr &_config)
 
virtual void init ()
 
- Public Member Functions inherited from Laos::WfcLoop< ImageType >
 WfcLoop (const Nice::JointPtr &_config)
 ctor More...
 
virtual void pushState (Basda::RingbufferRegime::State _state)
 
virtual void pushImage (const ImagePtr &_image)
 
virtual void setFrameSize (const Nice::Size &)
 
virtual void setPupilMask (const Nice::SeqDynamicBitset &_mask)
 
void setReconstructionMatrix (const SeqSeqType &)
 
void setInjectionMatrix (const SeqSeqType &)
 
void setInjectionMatrixInv (const SeqSeqType &)
 
size_t switchParamSet ()
 
void switchParamSetBeforeNextFrame ()
 
void setNormalizeMethod (Nice::U16 _normMethod)
 
void setSlopeNormConst (float _normConst)
 
void enableLinearisation (bool _linearize)
 
void setLinearisation (const Nice::SeqFloat &_linVec)
 
void setSlopeOffset (const Nice::SeqFloat &_offsetVec)
 
void setDisturbance (const Nice::SeqSeqFloat &_distMat)
 
void startDisturbance (Nice::Int _startAt)
 
void setAbsolutModes (bool _abs)
 
void startLoop ()
 
Nice::U16 getNumberOfSlopes ()
 
void init ()
 
void setDM (Laos::XineticsCoreDevicePtr _dm)
 
void setPixelBias (const Nice::SeqFloat &_bias)
 
void setPixelFlat (const Nice::SeqFloat &_flat)
 
void setModeGains (const Nice::SeqFloat &_modeGians)
 
Nice::SeqFloat getModeGains ()
 
size_t getModeSize ()
 
void setSlopeGains (const Nice::SeqFloat &_slopeGains)
 
Nice::SeqFloat getSlopeGains ()
 
void resetShape ()
 
void send2DM (bool _send)
 
int toFactor (int _number, unsigned int _factor)
 
RingbufferImplPtr getRingbuffer ()
 
size_t ACTUATORS ()
 
size_t SLOPE_LENGTH ()
 
size_t MAX_MODES ()
 
 WfcLoop (const Nice::JointPtr &_config)
 
virtual void pushState (Basda::RingbufferRegime::State _state)
 
virtual void pushImage (const ImagePtr &_image)
 
virtual void setFrameSize (const Nice::Size &)
 
virtual void setPupilMask (const Nice::SeqDynamicBitset &_mask)
 
void setReconstructionMatrix (const SeqSeqType &)
 
void setInjectionMatrix (const SeqSeqType &)
 
void setInjectionMatrixInv (const SeqSeqType &)
 
size_t switchParamSet ()
 
void switchParamSetBeforeNextFrame ()
 
void setNormalizeMethod (Nice::U16 _normMethod)
 
void setSlopeNormConst (float _normConst)
 
void enableLinearisation (bool _linearize)
 
void setLinearisation (const Nice::SeqFloat &_linVec)
 
void setSlopeOffset (const Nice::SeqFloat &_offsetVec)
 
void setDisturbance (const Nice::SeqSeqFloat &_distMat)
 
void startDisturbance (Nice::Int _startAt)
 
void setAbsolutModes (bool _abs)
 
void startLoop ()
 
Nice::U16 getNumberOfSlopes ()
 
void init ()
 
void setDM (Laos::XineticsCoreDevicePtr _dm)
 
void setPixelBias (const Nice::SeqFloat &_bias)
 
void setPixelFlat (const Nice::SeqFloat &_flat)
 
void setModeGains (const Nice::SeqFloat &_modeGians)
 
Nice::SeqFloat getModeGains ()
 
size_t getModeSize ()
 
void setSlopeGains (const Nice::SeqFloat &_slopeGains)
 
Nice::SeqFloat getSlopeGains ()
 
void resetShape ()
 
void send2DM (bool _send)
 
int toFactor (int _number, unsigned int _factor)
 
RingbufferImplPtr getRingbuffer ()
 
size_t ACTUATORS ()
 
size_t SLOPE_LENGTH ()
 
size_t MAX_MODES ()
 
- Public Member Functions inherited from Basda::VinoDevice< Type, RingBufferDataType >::ImageCallback
virtual void pushImage (const RingBufferDataTypePtr &_data)=0
 
virtual void pushImage (const RingBufferDataTypePtr &_data)=0
 
virtual void pushImage (const RingBufferDataTypePtr &_data)=0
 

Protected Member Functions

virtual void calcit (ImageType *_image)
 frb More...
 
virtual void calcit (ImageType *_image)
 
- Protected Member Functions inherited from Laos::WfcLoop< ImageType >
void initParamSet ()
 
void printParamBlock (ParamSet *_par)
 
void initParamSet ()
 
void printParamBlock (ParamSet *_par)
 

Private Member Functions

void assertThatAvx2IsAvailable ()
 frb More...
 
void assertThatAvx2IsAvailable ()
 

Additional Inherited Members

- Public Attributes inherited from Laos::WfcLoop< ImageType >
Nice::Long m_startDistAt
 
bool m_switch
 
Nice::Long m_distFrame
 
bool m_absMode
 
Laos::FitsVector< Nice::I16m_actFlatPattern
 
size_t m_calcIdx
 
bool m_applySlopeGains
 
- Protected Types inherited from Laos::WfcLoop< ImageType >
typedef std::vector< std::vector< float > > SeqSeqType
 
typedef WfcLoopData DataType
 
typedef IceUtil::Handle< DataTypeDataTypePtr
 
typedef IceUtil::Handle< RingbufferImplRingbufferImplPtr
 
typedef std::vector< std::vector< float > > SeqSeqType
 
typedef WfcLoopData DataType
 
typedef IceUtil::Handle< DataTypeDataTypePtr
 
typedef IceUtil::Handle< RingbufferImplRingbufferImplPtr
 
- Protected Attributes inherited from Laos::WfcLoop< ImageType >
ParamSetm_parms [2]
 
ParamSetm_activeParams
 
ParamSetm_passiveParams
 
Nice::JointPtr m_config
 
RingbufferImplPtr m_ringbuffer
 
DataTypePtr m_currentData
 
Nice::Mutex m_calcMutex
 
Nice::Size m_frameSize
 
Nice::SeqI16 m_dmFlat
 
Nice::SeqFloat m_actHist
 
Nice::U16 m_normalisation
 
float m_normconst
 
float m_sumOf4Pixel
 
float m_sumOfAllPixelFromPrevFrame
 
float * m_slopenorm
 
bool m_linearize
 
Nice::SeqFloat m_linLut
 
Nice::U16 m_linLutSegments
 
float * m_slopex
 
float * m_slopey
 
Nice::SeqFloat m_gainVector
 
size_t m_gainVectorSize
 
Nice::SeqDouble m_dmAcuatorVectorNow
 
size_t m_actuatorSize
 
Laos::XineticsCoreDevicePtr m_dm
 
bool m_send2DM
 
bool m_inited
 
SeqSeqType m_recMatI
 
SeqSeqType m_m2cI
 

Constructor & Destructor Documentation

◆ WfcAvx2Loop() [1/2]

template<typename ImageType >
Laos::WfcAvx2Loop< ImageType >::WfcAvx2Loop ( const Nice::JointPtr _config)

◆ WfcAvx2Loop() [2/2]

template<typename ImageType = Nice::U16>
Laos::WfcAvx2Loop< ImageType >::WfcAvx2Loop ( const Nice::JointPtr _config)

Member Function Documentation

◆ assertThatAvx2IsAvailable() [1/2]

template<typename ImageType >
void Laos::WfcAvx2Loop< ImageType >::assertThatAvx2IsAvailable ( )
private

frb

◆ assertThatAvx2IsAvailable() [2/2]

template<typename ImageType = Nice::U16>
void Laos::WfcAvx2Loop< ImageType >::assertThatAvx2IsAvailable ( )
private

◆ calcit() [1/2]

template<typename ImageType = Nice::U16>
virtual void Laos::WfcAvx2Loop< ImageType >::calcit ( ImageType *  _image)
protectedvirtual

◆ calcit() [2/2]

template<typename ImageType >
void Laos::WfcAvx2Loop< ImageType >::calcit ( ImageType *  _image)
protectedvirtual

frb

frb #pragma GCC push_options frb #pragma GCC optimize ("O1")


Parameters
_image

frb #ifdef AVX2

Implements Laos::WfcLoop< ImageType >.

◆ init() [1/2]

template<typename ImageType = Nice::U16>
virtual void Laos::WfcAvx2Loop< ImageType >::init ( )
virtual

◆ init() [2/2]

template<typename ImageType >
void Laos::WfcAvx2Loop< ImageType >::init ( )
virtual

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