Class Panel

Class Documentation

class Panel

Public Functions

Panel() = default
Panel(json panel_data)
Panel(double distance, std::array<double, 2> beam_center, std::array<double, 2> pixel_size, std::array<int, 2> image_size, const std::string &fast_axis = "x", const std::string &slow_axis = "-y", const double thickness = 0.0, const double mu = 0.0)
Matrix3d get_d_matrix() const
Matrix3d get_D_matrix() const
std::array<double, 2> px_to_mm(double x, double y) const
std::array<double, 2> mm_to_px(double x, double y) const
Vector3d get_lab_coord(double x_mm, double y_mm) const
std::optional<std::array<double, 2>> get_ray_intersection(const Vector3d &s1) const
std::optional<std::array<double, 2>> get_ray_intersection_unbounded(const Vector3d &s1) const
std::array<double, 2> get_pixel_size() const
json to_json() const
Vector3d get_origin() const
Vector3d get_fast_axis() const
Vector3d get_slow_axis() const
Vector3d get_normal() const
std::array<double, 2> get_image_size_mm() const
double get_directed_distance() const
bool has_parallax_correction() const
bool is_coord_valid_mm(const std::array<double, 2> xy) const
double get_mu() const
double get_thickness() const
double get_resolution_at_pixel(const Vector3d &s0, std::array<double, 2> xy) const
double get_max_resolution_at_corners(const Vector3d &s0) const
void update(Matrix3d d)
void set_correction_parameters(double thickness, double mu, bool parallax_correction)

Protected Attributes

Vector3d origin_ = {{0.0, 0.0, 100.0}}
Vector3d fast_axis_ = {{1.0, 0.0, 0.0}}
Vector3d slow_axis_ = {{0.0, 1.0, 0.0}}
Vector3d normal_ = {{0.0, 0.0, 1.0}}
Matrix3d d_ = {{1, 0, 0}, {0, 1, 0}, {0, 0, 100.0}}
Matrix3d D_ = {{1, 0, 0}, {0, 1, 0}, {0, 0, 0.01}}
std::array<double, 2> pixel_size_ = {{0.075, 0.075}}
std::array<int, 2> image_size_ = {{0, 0}}
std::array<double, 2> image_size_mm_ = {{0, 0}}
std::array<double, 2> trusted_range_ = {0.0, 65536.0}
std::string type_ = {"SENSOR_PAD"}
std::string name_ = {"module"}
double thickness_ = {0.0}
double mu_ = {0.0}
std::array<int, 2> raw_image_offset_ = {{0, 0}}
double gain_ = {1.0}
double pedestal_ = {0.0}
std::string pixel_to_mm_strategy_ = {"SimplePxMmStrategy"}
bool parallax_correction_ = false