-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgiant.camera_models.html
More file actions
242 lines (214 loc) · 18.6 KB
/
giant.camera_models.html
File metadata and controls
242 lines (214 loc) · 18.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>giant.camera_models — GIANT 2.0.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=3f530b75" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=aae3c237" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=4ae1632d" />
<script src="_static/documentation_options.js?v=51b770b3"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="_static/logo.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="copyright" title="Copyright" href="copyright.html" />
<link rel="next" title="giant.camera_models.camera_model" href="giant.camera_models.camera_model.html" />
<link rel="prev" title="dynamic_two_vector_frame" href="rotations/frames/giant.rotations.frames.dynamic_two_vector_frame.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo">
<a href="index.html">
<img class="logo" src="_static/logo.png" alt="Logo" />
</a>
</p>
<p class="blurb">A powerful API for Optical Navigation</p>
<h3>Navigation</h3>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installing GIANT</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting Started</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="giant.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="giant.html#indices">Indices</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="copyright.html">Copyright</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
<li><a href="giant.html">API Reference</a><ul>
<li>Previous: <a href="rotations/frames/giant.rotations.frames.dynamic_two_vector_frame.html" title="previous chapter">dynamic_two_vector_frame</a></li>
<li>Next: <a href="giant.camera_models.camera_model.html" title="next chapter">giant.camera_models.camera_model</a></li>
</ul></li>
</ul></li>
</ul>
</div>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="documentwrapper">
<div class="bodywrapper">
<div class="related top">
<nav id="rellinks">
<ul>
<li>
←
<a href="rotations/frames/giant.rotations.frames.dynamic_two_vector_frame.html" title="Previous document">dynamic_two_vector_frame</a>
</li>
<li>
<a href="giant.camera_models.camera_model.html" title="Next document">giant.camera_models.camera_model</a>
→
</li>
</ul>
</nav>
</div>
<div class="body" role="main">
<section id="module-giant.camera_models">
<span id="giant-camera-models"></span><h1>giant.camera_models<a class="headerlink" href="#module-giant.camera_models" title="Link to this heading">¶</a></h1>
<p>This package provides classes and functions for creating/using geometric camera models in GIANT.</p>
<p>In GIANT, a camera model refers to a class that provides a collection of methods for mapping 3D points and directions
expressed in the camera frame to 2D points in an image, for mapping 2D points in an image to 3D directions in
the camera frame, and provides jacobian matrices for those processes.</p>
<p>These objects are used extensively throughout GIANT and are one of the building blocks of optical navigation.
The modules in this package provide a number of the most commonly used camera models for optical navigation, including
the <a class="reference internal" href="giant.camera_models.pinhole_model.html#module-giant.camera_models.pinhole_model" title="giant.camera_models.pinhole_model"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pinhole_model</span></code></a>, the <a class="reference internal" href="giant.camera_models.brown_model.html#module-giant.camera_models.brown_model" title="giant.camera_models.brown_model"><code class="xref py py-mod docutils literal notranslate"><span class="pre">brown_model</span></code></a>, the <a class="reference internal" href="giant.camera_models.owen_model.html#module-giant.camera_models.owen_model" title="giant.camera_models.owen_model"><code class="xref py py-mod docutils literal notranslate"><span class="pre">owen_model</span></code></a>, and the <a class="reference internal" href="giant.camera_models.opencv_model.html#module-giant.camera_models.opencv_model" title="giant.camera_models.opencv_model"><code class="xref py py-mod docutils literal notranslate"><span class="pre">opencv_model</span></code></a>. In addition,
the <a class="reference internal" href="giant.camera_models.camera_model.html#module-giant.camera_models.camera_model" title="giant.camera_models.camera_model"><code class="xref py py-mod docutils literal notranslate"><span class="pre">camera_model</span></code></a> module provides an abstract base class and instructions for constructing your own custom camera
models.</p>
<p>If you are just starting out, we recommend that you begin with one of the provided camera models as these are adequate
for almost all cameras and are generally easy to initialize if you have some basic knowledge about the camera itself.
Refer to the documentation for each module to get more details about the models.</p>
<p>While all of the classes and functions in this package are defined in the sub-modules discussed above, they are imported
into the package to make access easier; therefore, you can do:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">giant.camera_models</span><span class="w"> </span><span class="kn">import</span> <span class="n">BrownModel</span><span class="p">,</span> <span class="n">save</span><span class="p">,</span> <span class="n">load</span>
</pre></div>
</div>
<p>or:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">giant.camera_models</span><span class="w"> </span><span class="kn">import</span> <span class="n">OwenModel</span>
</pre></div>
</div>
<p class="rubric">Modules</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="giant.camera_models.camera_model.html#module-giant.camera_models.camera_model" title="giant.camera_models.camera_model"><code class="xref py py-obj docutils literal notranslate"><span class="pre">camera_model</span></code></a></p></td>
<td><p>This module provides an abstract base class (abc) for implementing GIANT camera models.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="giant.camera_models.pinhole_model.html#module-giant.camera_models.pinhole_model" title="giant.camera_models.pinhole_model"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pinhole_model</span></code></a></p></td>
<td><p>This module provides a subclass of <a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.html#giant.camera_models.camera_model.CameraModel" title="giant.camera_models.camera_model.CameraModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">CameraModel</span></code></a> that implements the distortion free Pinhole camera model.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="giant.camera_models.brown_model.html#module-giant.camera_models.brown_model" title="giant.camera_models.brown_model"><code class="xref py py-obj docutils literal notranslate"><span class="pre">brown_model</span></code></a></p></td>
<td><p>This module provides a subclass of <a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.html#giant.camera_models.camera_model.CameraModel" title="giant.camera_models.camera_model.CameraModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">CameraModel</span></code></a> that implements the Brown camera model, which adds basic distortion corrections to the Pinhole model.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="giant.camera_models.opencv_model.html#module-giant.camera_models.opencv_model" title="giant.camera_models.opencv_model"><code class="xref py py-obj docutils literal notranslate"><span class="pre">opencv_model</span></code></a></p></td>
<td><p>This module provides a subclass of <a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.html#giant.camera_models.camera_model.CameraModel" title="giant.camera_models.camera_model.CameraModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">CameraModel</span></code></a> that implements the OpenCV camera model, which adds distortion corrections to the Pinhole model.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="giant.camera_models.owen_model.html#module-giant.camera_models.owen_model" title="giant.camera_models.owen_model"><code class="xref py py-obj docutils literal notranslate"><span class="pre">owen_model</span></code></a></p></td>
<td><p>This module provides a subclass of <a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.html#giant.camera_models.camera_model.CameraModel" title="giant.camera_models.camera_model.CameraModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">CameraModel</span></code></a> that implements the distortion modeled Owen (or JPL) camera model.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="giant.camera_models.fisheye_model.html#module-giant.camera_models.fisheye_model" title="giant.camera_models.fisheye_model"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fisheye_model</span></code></a></p></td>
<td><p>This module provides a subclass of <a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.html#giant.camera_models.camera_model.CameraModel" title="giant.camera_models.camera_model.CameraModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">CameraModel</span></code></a> that implements the OpenCV fisheye camera model, which adds distortion corrections to the Pinhole model to account for very wide FOV lenses.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="giant.camera_models.split_camera.html#module-giant.camera_models.split_camera" title="giant.camera_models.split_camera"><code class="xref py py-obj docutils literal notranslate"><span class="pre">split_camera</span></code></a></p></td>
<td><p>This module provides the SplitCamera class, which allows for combining two different camera models into a single model.</p></td>
</tr>
</tbody>
</table>
<p class="rubric">Classes</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.html#giant.camera_models.camera_model.CameraModel" title="giant.camera_models.camera_model.CameraModel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CameraModel</span></code></a></p></td>
<td><p>This is the abstract base class for all camera models in GIANT.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="pinhole_model/giant.camera_models.pinhole_model.PinholeModel.html#giant.camera_models.pinhole_model.PinholeModel" title="giant.camera_models.pinhole_model.PinholeModel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PinholeModel</span></code></a></p></td>
<td><p>This class provides an implementation of the pinhole camera model for projecting 3d points onto images.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="brown_model/giant.camera_models.brown_model.BrownModel.html#giant.camera_models.brown_model.BrownModel" title="giant.camera_models.brown_model.BrownModel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">BrownModel</span></code></a></p></td>
<td><p>This class provides an implementation of the Brown camera model for projecting 3D points onto images and performing camera calibration.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="opencv_model/giant.camera_models.opencv_model.OpenCVModel.html#giant.camera_models.opencv_model.OpenCVModel" title="giant.camera_models.opencv_model.OpenCVModel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">OpenCVModel</span></code></a></p></td>
<td><p>This class provides an implementation of the OpenCV camera model for projecting 3D points onto images and performing camera calibration.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="owen_model/giant.camera_models.owen_model.OwenModel.html#giant.camera_models.owen_model.OwenModel" title="giant.camera_models.owen_model.OwenModel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">OwenModel</span></code></a></p></td>
<td><p>This class provides an implementation of the Owen camera model for projecting 3D points onto images and performing camera calibration.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="fisheye_model/giant.camera_models.fisheye_model.FisheyeModel.html#giant.camera_models.fisheye_model.FisheyeModel" title="giant.camera_models.fisheye_model.FisheyeModel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FisheyeModel</span></code></a></p></td>
<td><p>This class provides an implementation of the OpenCV fisheye camera model for projecting 3D points onto images and performing camera calibration.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="split_camera/giant.camera_models.split_camera.SplitCamera.html#giant.camera_models.split_camera.SplitCamera" title="giant.camera_models.split_camera.SplitCamera"><code class="xref py py-obj docutils literal notranslate"><span class="pre">SplitCamera</span></code></a></p></td>
<td><p>A camera model that combines two different camera models for different regions of the detector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="camera_model/giant.camera_models.camera_model.ReturnShape.html#giant.camera_models.camera_model.ReturnShape" title="giant.camera_models.camera_model.ReturnShape"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ReturnShape</span></code></a></p></td>
<td><p>This enumeration is used to specify what should be returned from method <a class="reference internal" href="camera_model/giant.camera_models.camera_model.CameraModel.undistort_image.html#giant.camera_models.camera_model.CameraModel.undistort_image" title="giant.camera_models.camera_model.CameraModel.undistort_image"><code class="xref py py-meth docutils literal notranslate"><span class="pre">undistort_image()</span></code></a>.</p></td>
</tr>
</tbody>
</table>
<p class="rubric">Functions</p>
<table class="autosummary longtable docutils align-default">
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="camera_model/giant.camera_models.camera_model.save.html#giant.camera_models.camera_model.save" title="giant.camera_models.camera_model.save"><code class="xref py py-obj docutils literal notranslate"><span class="pre">save</span></code></a></p></td>
<td><p>This function is used to save a camera model to a GIANT xml file.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="camera_model/giant.camera_models.camera_model.load.html#giant.camera_models.camera_model.load" title="giant.camera_models.camera_model.load"><code class="xref py py-obj docutils literal notranslate"><span class="pre">load</span></code></a></p></td>
<td><p>This function is used to retrieve a camera model from a GIANT xml file.</p></td>
</tr>
</tbody>
</table>
<div class="toctree-wrapper compound">
</div>
<div class="line-block">
<div class="line"><br /></div>
</div>
</section>
</div>
<div class="related bottom">
<nav id="rellinks">
<ul>
<li>
←
<a href="rotations/frames/giant.rotations.frames.dynamic_two_vector_frame.html" title="Previous document">dynamic_two_vector_frame</a>
</li>
<li>
<a href="giant.camera_models.camera_model.html" title="Next document">giant.camera_models.camera_model</a>
→
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
<div style="display:inline-block;vertical-align:middle;">
<img src="/_static/NASA_logo.svg" alt="NASA" style="width:80px;height:80px;">
</div>
<div style="display:inline-block;vertical-align:middle;">
©2023 United States Government |
NASA Official: <a href="mailto:andrew.j.liounis@nasa.gov">Andrew Liounis</a> |
Curator: <a href="mailto:andrew.j.liounis@nasa.gov">Andrew Liounis</a>
<br>
Last updated on Sep 03, 2025 |
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 8.2.3</a>
& <a href="https://github.com/bitprophet/alabaster">Alabaster 1.0.0</a>
|
<a href="https://www.nasa.gov/about/highlights/HP_Privacy.html">Privacy Policy/Notices</a>
</div>
</div>
</body>
</html>