Skip to content

Latest commit

 

History

History
25 lines (24 loc) · 2.02 KB

code_structure.md

File metadata and controls

25 lines (24 loc) · 2.02 KB

Code Structures

Code Structures

  • We implement this driver as a ROS node with FLIR Spinnaker API.
    • CaptureManager manages the life cycle of camera instances, using Spinnaker interface. We use multi-thread to manage the entities of multiple cameras.
    • Camera defines the camera instance and manage the initialization and capture beginning of this camera.
    • Context stores the parameters loading from YAML files and other intermediate variables generated by the control method.
    • EventHandler is responsible for the implementation of camera control methods and image publish via ROS. We use event from Spinnaker API to reduce CPU consumption and avoid frame drops. Each Camera instance needs to register a corresponding EventHandler to realize its functions.
    • HDRProcess includes several modules used in our method, including CRF definition and image synthesis, GPR seed sampling, and GPR inference.
    • Polynomial implements polynomial fitting and inference. For acceleration, the matrix inference used for image synthesis is implemented via Single Instruction Multiple Data (SIMD) technique.
    • Common stores Enumeration, Structures and static functions.

For Further Development

  • If you want to implement your own method within this framework, you need to
    • add your own Camera class, make its instance, and registers in the CaptureManager
    • add your own Context class, and prepare your own parameter loading module with YAML-CPP
    • add your own EventHandler class, implement your control methods and image publish scheme and register it within your Camera class.