Blender  V3.3
intern/libmv/libmv/simple_pipeline/pipeline.h
Go to the documentation of this file.
1 // Copyright (c) 2011 libmv authors.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and associated documentation files (the "Software"), to
5 // deal in the Software without restriction, including without limitation the
6 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 // sell copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Software.
12 //
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19 // IN THE SOFTWARE.
20 
21 #ifndef LIBMV_SIMPLE_PIPELINE_PIPELINE_H_
22 #define LIBMV_SIMPLE_PIPELINE_PIPELINE_H_
23 
27 
28 namespace libmv {
29 
50  const Tracks& tracks,
51  EuclideanReconstruction* reconstruction,
52  ProgressUpdateCallback* update_callback = NULL);
53 
74 void ProjectiveCompleteReconstruction(const Tracks& tracks,
75  ProjectiveReconstruction* reconstruction);
76 
77 class CameraIntrinsics;
78 
79 // TODO(keir): Decide if we want these in the public API, and if so, what the
80 // appropriate include file is.
81 
82 double EuclideanReprojectionError(const Tracks& image_tracks,
83  const EuclideanReconstruction& reconstruction,
84  const CameraIntrinsics& intrinsics);
85 
87  const Tracks& image_tracks,
88  const ProjectiveReconstruction& reconstruction,
89  const CameraIntrinsics& intrinsics);
90 
91 void InvertIntrinsicsForTracks(const Tracks& raw_tracks,
92  const CameraIntrinsics& camera_intrinsics,
93  Tracks* calibrated_tracks);
94 
95 } // namespace libmv
96 
97 #endif // LIBMV_SIMPLE_PIPELINE_PIPELINE_H_
const ProjectiveReconstruction & reconstruction
Definition: intersect.cc:198
double ProjectiveReprojectionError(const Tracks &image_tracks, const ProjectiveReconstruction &reconstruction, const CameraIntrinsics &intrinsics)
void EuclideanCompleteReconstruction(const Tracks &tracks, EuclideanReconstruction *reconstruction, ProgressUpdateCallback *update_callback)
double EuclideanReprojectionError(const Tracks &image_tracks, const EuclideanReconstruction &reconstruction, const CameraIntrinsics &intrinsics)
void InvertIntrinsicsForTracks(const Tracks &raw_tracks, const CameraIntrinsics &camera_intrinsics, Tracks *calibrated_tracks)
void ProjectiveCompleteReconstruction(const Tracks &tracks, ProjectiveReconstruction *reconstruction)
ListBase tracks
Definition: tracking.c:60