Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating distortion model description #139

Merged
merged 14 commits into from
Jan 12, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export type CameraCalibration = {
/**
* Name of distortion model
*
* Supported values: \`plumb_bob\` and \`rational_polynomial\`
* Foxglove supports \`plumb_bob\` (k1, k2, p1, p2, k3) and \`rational_polynomial\` (k1, k2, p1, p2, k3, k4, k5, k6) distortion based on [OpenCV's implementation](https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html) of the [Brown-Conrady pinhole camera model](https://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction). This is the same [implementation used by ROS](http://docs.ros.org/en/diamondback/api/image_geometry/html/c++/pinhole__camera__model_8cpp_source.html)
*/
distortion_model: string;

Expand Down
2 changes: 1 addition & 1 deletion internal/schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -693,7 +693,7 @@ const CameraCalibration: FoxgloveMessageSchema = {
name: "distortion_model",
type: { type: "primitive", name: "string" },
description:
"Name of distortion model\n\nSupported values: `plumb_bob` and `rational_polynomial`",
"Name of distortion model\n\nFoxglove supports `plumb_bob` (k1, k2, p1, p2, k3) and `rational_polynomial` (k1, k2, p1, p2, k3, k4, k5, k6) distortion based on [OpenCV's implementation](https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html) of the [Brown-Conrady pinhole camera model](https://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction). This is the same [implementation used by ROS](http://docs.ros.org/en/diamondback/api/image_geometry/html/c++/pinhole__camera__model_8cpp_source.html)",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd drop the reference to Brown-Conrady – I don't see that anywhere in OpenCV? In fact I believe OpenCV may have come up with their own implementation for certain things – don't quite remember where I learned that so I can't cite a source, maybe Brown–Conrady is accurate.

Also nit: I don't think we say "Foxglove supports…" in other places, we just say "supported values":

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the language to use "Supported values..." language.

Hmm interesting point w/ the model. Its a gripe of mine that they don't reference it well anywhere as far as I can tell. I know the "plumb bob" model is in fact a sub-set of the brown-conrady model but poking around it looks like you're right the rational polynomial is a deviation from it that the internet seems confused on exactly who to reference on it... I'll remove the reference and let people look at the sources.

For the ROS link, I intentionally pointed to that particular model because I believe its the one we implement. The updated one you're pointing at is what we should support when have time because it has the equidistant model as well for fisheye.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though none of this matters if I can never get the build system and auto-gen files to be happy lol

},
{
name: "D",
Expand Down
2 changes: 1 addition & 1 deletion ros_foxglove_msgs/ros1/CameraCalibration.msg

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ros_foxglove_msgs/ros2/CameraCalibration.msg

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/flatbuffer/CameraCalibration.fbs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/jsonschema/CameraCalibration.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/jsonschema/index.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/omgidl/foxglove/CameraCalibration.idl

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/proto/foxglove/CameraCalibration.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/ros1/CameraCalibration.msg

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/ros2/CameraCalibration.msg

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/typescript/CameraCalibration.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading