1#ifndef FUSION_CAMERA_HPP
2#define FUSION_CAMERA_HPP
4#include "DvsenseHal/camera/DvsCameraUtils.hpp"
5#include "DvsenseHal/EventStream/RawEventStreamFormat.hpp"
6#include "DvsenseBase/EventBase/EventTypes.hpp"
7#include "DvsenseBase/ApsBase/ApsTypes.h"
8#include "DvsenseBase/Utils/TypeUtils.hpp"
9#include "DvsenseHal/camera/tools/CameraTool.h"
12#define DVSENSE_API __declspec(dllexport)
19 class DvsCameraManager;
39 cameraDesc_ = cameraDesc;
237 const std::shared_ptr<CameraTool>
getTool(ToolType type);
271 std::map<ToolType, std::shared_ptr<CameraTool>>
tools_;
Camera Manager class.
Definition DvsCameraManager.hpp:36
Interface class for DVS cameras.
Definition FusionCamera.hpp:26
virtual bool getNextBatch(Event2DVector &event_batch)=0
Get the next batch of events Before using the getNextBatch function, you need to use setBatchEventNum...
CameraDescription cameraDesc_
Get the camera description.
Definition FusionCamera.hpp:260
FusionCamera(CameraDescription cameraDesc)
Constructor.
Definition FusionCamera.hpp:37
virtual uint16_t getHeight(STREAM_TYPE type=DVS_STREAM)=0
Get the Height of the camera sensor.
const std::shared_ptr< CameraTool > getTool(ToolType type)
Get the tool.
virtual bool removeApsFrameCallback(uint32_t callback_id)=0
Remove a callback function by id.
virtual bool getFirmwareVersion(std::string &version)=0
virtual bool removeEventsStreamHandleCallback(uint32_t callback_id)=0
Remove a callback function by id.
virtual const bool isConnected()=0
Check if the camera is connected.
virtual int startRecording(std::string file_path, std::string file_name, STREAM_TYPE stream_type=FUSION_STREAM)=0
Start recording events.
virtual uint16_t getWidth(STREAM_TYPE type=DVS_STREAM)=0
Get the Width of the camera sensor.
virtual int start(STREAM_TYPE type=FUSION_STREAM)=0
Start the camera.
virtual bool readCalibrationParam(CalibratorParameters ¶m)=0
virtual void setStatisticInfoCallback(DsStatisticInfoCallback cb)
set the callback function to get the statistic information
Definition FusionCamera.hpp:245
virtual bool removeSyncSignalCallback(uint32_t callback_id)=0
Remove a callback function by id.
std::map< ToolType, std::shared_ptr< CameraTool > > tools_
Definition FusionCamera.hpp:271
virtual uint32_t addEventsStreamHandleCallback(EventsStreamHandleCallback cb)=0
Add a callback function to handle events.
virtual void setBatchEventsTime(TimeStamp n)=0
Set the time interval at which events are fetched.
const CameraDescription getDescription()
Get camera description.
Definition FusionCamera.hpp:56
virtual uint32_t addApsFrameCallback(FrameCallback cb)=0
Add a callback function to handle aps data.
virtual void setBatchEventsNum(uint64_t n)=0
Set the number of events to be fetched.
const ToolInfo getToolInfo(ToolType type)
Get the tool information.
const std::vector< ToolInfo > getAllToolsInfo()
Get all the tools information.
virtual int stopRecording(STREAM_TYPE stream_type=FUSION_STREAM)=0
Stop recording events.
virtual int stop(STREAM_TYPE type=FUSION_STREAM)=0
Stop the camera.
virtual uint32_t addSyncSignalCallback(DvsTriggerInCallback cb)=0
Add a callback function to handle trigger in signal.
virtual bool writeCalibrationFile(std::string file_path)=0
virtual int init()=0
When a camera is opened, it should be initialized.
Definition TypeUtils.hpp:9
uint64_t TimeStamp
Definition TypeUtils.hpp:10
STREAM_TYPE
Definition DvsCameraUtils.hpp:39
Definition TypeUtils.hpp:34
A struct to describe the camera information.
Definition DvsCameraUtils.hpp:68