EasyMVS
simple 3D reconstruction framework
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
OptimalFrameFinder Class Reference
Inheritance diagram for OptimalFrameFinder:
Inheritance graph
[legend]
Collaboration diagram for OptimalFrameFinder:
Collaboration graph
[legend]

Public Types

using Ptr = std::shared_ptr< OptimalFrameFinder >
 
- Public Types inherited from WorkFlowObject
using DataQueue = std::queue< DataFlowObject::Ptr >
 
using Ptr = std::shared_ptr< WorkFlowObject >
 shared pointer of WorkFlowObject
 

Public Slots

virtual void Trigger (DataQueue data) override
 
virtual void Trigger () override
 
- Public Slots inherited from WorkFlowObject
virtual void Trigger ()=0
 trigger one work load of the workflow with preload input and output settings.
 
virtual void Trigger (DataQueue data)=0
 trigger one work load of the workflow with input data. More...
 

Public Member Functions

 OptimalFrameFinder (GlobalMapObject::Ptr GlobalMap)
 
virtual bool clear () override
 clear the workflow state, the workflow should be re-init after clear. More...
 
bool save (JsonNode &fs) override
 save data and settings to file More...
 
bool load (JsonNode &fs) override
 load data and settings from file More...
 
virtual bool Compute (FrameObject::Ptr frame)
 compute the best frame with the preload settings and preload related frames. More...
 
virtual bool Compute (FrameObject::Ptr frame, std::vector< FrameObject::Ptr > &RelatedFrame)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.. More...
 
- Public Member Functions inherited from WorkFlowObject
 WorkFlowObject ()
 Construct a new Work Flow Object object.
 
virtual ~WorkFlowObject ()
 Destroy the Work Flow Object object.
 
virtual bool clear ()=0
 clear the workflow state, the workflow should be re-init after clear. More...
 
virtual bool isInit ()
 check if the workflow is inited More...
 
- Public Member Functions inherited from MVSObject
 MVSObject ()
 Construct a new MVSObject object.
 
virtual ~MVSObject ()
 Destroy the MVSObject object.
 
virtual bool save (JsonNode &fs)=0
 save data and settings to file More...
 
virtual bool load (JsonNode &fs)=0
 load data and settings from file More...
 
virtual std::string type_name ()
 get the typename. More...
 

Static Public Member Functions

static OptimalFrameFinder::Ptr Create (GlobalMapObject::Ptr GlobalMap)
 

Protected Attributes

GlobalMapObject::Ptr GlobalMap
 
- Protected Attributes inherited from WorkFlowObject
bool m_isInit = false
 default indicator of wether the workflow is initialized, the workflow may or may not use this variable to indicate if its initialized, it depends on the implementation of isInit() method.
 

Additional Inherited Members

- Signals inherited from WorkFlowObject
void Finished (DataQueue)
 the current work load of the workflow is finished, and the processeed data pointer is stored in the queue, the workflow can be assigned to new work load with trigger() method More...
 
void Finished ()
 the current work load of the workflow is finished, the workflow can be assigned to new work load with trigger() method
 
void Failed ()
 the current work failed.
 
void Error (std::string error)
 emit error message More...
 
void Progress (int progress)
 emit percentage of the work load 0-100 More...
 
void Warning (std::string warning)
 emit warning output message More...
 
void Info (std::string info)
 emit information output message More...
 
- Protected Member Functions inherited from MVSObject
bool isDirExist (std::string path)
 check if the directory is exist. More...
 
bool mkdir (std::string path)
 create directory in given path. More...
 

Member Function Documentation

◆ clear()

bool OptimalFrameFinder::clear ( )
overridevirtual

clear the workflow state, the workflow should be re-init after clear.

Returns
true clear succeed
false clear failed

Implements WorkFlowObject.

◆ Compute() [1/2]

bool OptimalFrameFinder::Compute ( FrameObject::Ptr  frame)
virtual

compute the best frame with the preload settings and preload related frames.

Parameters
framethe frame to find the best frame pair.
Returns
true compute success
false failed to find best frame, may because input error such as no preloaded related frame, or all related frames are not met the algorithm requirements.

◆ Compute() [2/2]

bool OptimalFrameFinder::Compute ( FrameObject::Ptr  frame,
std::vector< FrameObject::Ptr > &  RelatedFrame 
)
virtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts..

Parameters
framethe frame to find best frame.
RelatedFramethe candidate frame, one of the frame in this frame vector will be the best frame if compute success.
Returns

◆ load()

bool OptimalFrameFinder::load ( JsonNode &  fs)
overridevirtual

load data and settings from file

this method will load data such as keypoints, descriptors, translation matrices in DataFlowObject and its sub-classes from the given JsonNode instance. or will load parameters and settings in WorkFlowObject and its sub-classes to the given JsonNode instance, and automatically initialize the WorkFlow with these parameters

Parameters
fsthe json handler
Returns
true load successfully
false load failed or initialization falied.

Implements MVSObject.

◆ save()

bool OptimalFrameFinder::save ( JsonNode &  fs)
overridevirtual

save data and settings to file

this method will save data such as keypoints, descriptors, translation matrices in DataFlowObject and its sub-classes to the given JsonNode instance, or will save parameters and settings in WorkFlowObject and its sub-classes to the given JsonNode instance.

Parameters
fsthe json handler
Returns
true save successfully
false save failed

Implements MVSObject.

◆ Trigger

void OptimalFrameFinder::Trigger ( )
overridevirtualslot
Warning
this method shold NOT be called since this algorithm can NOT process empty input data.

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