EasyMVS
simple 3D reconstruction framework
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members
Photographer Class Reference

the photographer class, generate frame with given cameras. More...

#include <Photographer.h>

Inheritance diagram for Photographer:
Inheritance graph
[legend]
Collaboration diagram for Photographer:
Collaboration graph
[legend]

Public Types

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

Public Slots

void Trigger () override
 
void Trigger (Photographer::DataQueue data)
 
- 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

 Photographer ()
 Construct a new Photographer object.
 
 Photographer (CameraObject::Ptr Camera)
 Construct a new Photographer object with one camera. More...
 
 Photographer (std::initializer_list< CameraObject::Ptr > Cameras)
 Construct a new Photographer object with multiple cameras. More...
 
virtual ~Photographer ()
 Destroy the Photographer object.
 
std::string type_name () override
 Get the Flow Name. More...
 
virtual bool Compute (std::vector< FrameObject::Ptr > &Frames)
 take a photo with given cameras More...
 
virtual bool clear () override
 clear the parameters of the flow, and deinitialize the flow More...
 
virtual bool save (JsonNode &fs) override
 save data and settings to file More...
 
virtual bool load (JsonNode &fs) override
 load data and settings from file 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 Photographer::Ptr Create (GlobalMapObject::Ptr Map, std::initializer_list< CameraObject::Ptr > Cameras)
 create shared pointer of Photographer More...
 

Protected Types

using CameraGroup = std::tuple< CameraObject::Ptr, Sophus::SE3d >
 

Protected Attributes

std::vector< CameraGroup > CamerasMap
 
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...
 

Detailed Description

the photographer class, generate frame with given cameras.

Constructor & Destructor Documentation

◆ Photographer() [1/2]

Photographer::Photographer ( CameraObject::Ptr  Camera)

Construct a new Photographer object with one camera.

Parameters
Cameracamera pointer

◆ Photographer() [2/2]

Photographer::Photographer ( std::initializer_list< CameraObject::Ptr Cameras)

Construct a new Photographer object with multiple cameras.

Parameters
Camerascamera pointer lists

Member Function Documentation

◆ clear()

bool Photographer::clear ( )
overridevirtual

clear the parameters of the flow, and deinitialize the flow

Returns
true succeed
false failed

Implements WorkFlowObject.

Reimplemented in DualPhotographer.

◆ Compute()

bool Photographer::Compute ( std::vector< FrameObject::Ptr > &  Frames)
virtual

take a photo with given cameras

Parameters
Framesoutput frames generated by the cameras
Returns
true succeed
false failed

Reimplemented in PinholePhotographer.

◆ Create()

Photographer::Ptr Photographer::Create ( GlobalMapObject::Ptr  Map,
std::initializer_list< CameraObject::Ptr Cameras 
)
static

create shared pointer of Photographer

Parameters
Camerascamera lists
Returns
Photographer::Ptr

◆ load()

bool Photographer::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 Photographer::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.

◆ type_name()

std::string Photographer::type_name ( )
overridevirtual

Get the Flow Name.

Returns
std::string flow name

Reimplemented from MVSObject.


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