struct utils::ScannerParams

Overview

Parameters of a virtual scanner. More…

#include <ScannerParams.h>

struct ScannerParams: public utils::IntrinsicParams {
    // fields

    glm::uvec2 resolution;
    float baseline { 350.0f };
    float camera_angle { 11.75f };
    float projector_angle { 11.75f };
    float projector_fovx { 47.50f };
    float projector_fovy { 36.00f };
    float near_range { 458.0f };
    float far_range { 1118.0f };

    // methods

    bool IsValid() const;
    virtual void AddToJsonNode(nlohmann::json& node) const;
    virtual bool ReadFromJsonNode(const nlohmann::json& node);
};

Inherited Members

public:
    // fields

    float fx { 0.0f };
    float fy { 0.0f };
    float cx { 0.0f };
    float cy { 0.0f };

    // methods

    std::string Serialize() const;
    bool Deserialize(const std::string& json_string);
    virtual void AddToJsonNode(nlohmann::json& node) const = 0;
    virtual bool ReadFromJsonNode(const nlohmann::json& node) = 0;
    float GetFovX() const;
    float GetFovY() const;
    virtual void AddToJsonNode(nlohmann::json& node) const;
    virtual bool ReadFromJsonNode(const nlohmann::json& node);

Detailed Documentation

Parameters of a virtual scanner.

Fields

glm::uvec2 resolution

Resolution of device.

float baseline { 350.0f }

Distance between camera and projector.

float camera_angle { 11.75f }

The amount of angular deviation (degrees) of camera from being orthogonal to the device.

float projector_angle { 11.75f }

The amount of angular deviation (degrees) of projector from being orthogonal to the device.

float projector_fovx { 47.50f }

Field of view of projection volume in x direction.

float projector_fovy { 36.00f }

Field of view of projection volume in y direction.

float near_range { 458.0f }

The minimal distance that can be captured by scanner.

float far_range { 1118.0f }

The maximal distance that can be captured by scanner.

Methods

bool IsValid() const

Checks validity of parameters values. If they are incorrect returns false and logs errors.

virtual void AddToJsonNode(nlohmann::json& node) const

Fill data of this to json node.

virtual bool ReadFromJsonNode(const nlohmann::json& node)

Read json node and initialize this.

Parameters:

nlohmann::json::exception

when required keys are missing.