mrcal - a toolkit to precisely solve calibration and structure-from-motion problems(NPO-51600-1)

data and image processing
mrcal - a toolkit to precisely solve calibration and structure-from-motion problems
(NPO-51600-1)
Overview
Mrcal contains a C library for 3D geometry operations and lens projection/unprojection operations, supporting many camera models, including JPL-specific ones that nobody else supports. Functions report the values and the gradients in respect to the input variables. The C library has higher-level functions that wrap the core in a nonlinear optimization to be able to fit models and geometries to data. This is a core for camera calibration and SFM problems. The optimization is thorough. It solves for the geometry of the world and/or of the cameras and/or for the lens parameters of the cameras and/or for the shape of the object being observed. The optimization propagates all the uncertainties, and returns the uncertainties of the solution.There's a Python library to read/write camera models from/to disk, and to manipulate them invarious ways. There's a Python wrapper for the main components of the C library. These wrappers provide lots and lots of feedback to allow the user to quantify the uncertainty of the solution. Lots of tools are available to produce all sorts of visualizations about calibrations, camera models, their differences, and so on.There are lots of command line tools that generally exercise the Python library. These allow the user to quickly process their data.
Software Details

Category
Data and Image Processing
Reference Number
NPO-51600-1
Release Type
Open Source
Operating System
Contact Us About This Technology

Jet Propulsion Laboratory
Stay up to date, follow NASA's Technology Transfer Program on:
facebook twitter linkedin youtube
Facebook Logo X Logo Linkedin Logo Youtube Logo