Program Listing for File MonoCameraProperties.hpp

Return to documentation for file (include/depthai/properties/MonoCameraProperties.hpp)

#pragma once

#include <vector>

#include "depthai/common/CameraBoardSocket.hpp"
#include "depthai/common/CameraImageOrientation.hpp"
#include "depthai/common/FrameEvent.hpp"
#include "depthai/common/optional.hpp"
#include "depthai/pipeline/datatype/CameraControl.hpp"
#include "depthai/properties/Properties.hpp"

namespace dai {

struct MonoCameraProperties : PropertiesSerializable<Properties, MonoCameraProperties> {
    static constexpr int AUTO = -1;

    enum class SensorResolution : int32_t { THE_720_P, THE_800_P, THE_400_P, THE_480_P, THE_1200_P, THE_4000X3000, THE_4224X3136 };

    /*
     * Initial controls applied to MonoCamera node
     */
    CameraControl initialControl;

    CameraBoardSocket boardSocket = CameraBoardSocket::AUTO;

    std::string cameraName = "";

    CameraImageOrientation imageOrientation = CameraImageOrientation::AUTO;

    SensorResolution resolution = SensorResolution::THE_720_P;

    int32_t mockIspWidth = AUTO;

    int32_t mockIspHeight = AUTO;

    float fps = 30.0;
    int isp3aFps = 0;
    int numFramesPool = 3;
    int numFramesPoolRaw = 3;
    std::vector<dai::FrameEvent> eventFilter = {dai::FrameEvent::READOUT_START};

    std::optional<bool> rawPacked;

    ~MonoCameraProperties() override;
};

DEPTHAI_SERIALIZE_EXT(MonoCameraProperties,
                      initialControl,
                      boardSocket,
                      cameraName,
                      imageOrientation,
                      mockIspWidth,
                      mockIspHeight,
                      resolution,
                      fps,
                      isp3aFps,
                      numFramesPool,
                      numFramesPoolRaw,
                      rawPacked);

}  // namespace dai