Package boofcv.alg.structure
Class RefineMetricGraphSubset
java.lang.Object
boofcv.alg.structure.RefineMetricGraphSubset
- All Implemented Interfaces:
VerbosePrint
Used to refine only part of a
SceneWorkingGraph
. All the views which are to be optimized are first
specified. Then (optionally) views which are fixed and considered known are specified.
1) Specifiy the subset by calling setSubset()
2) Mark views as known, if applicable
3) Call process to optimize
Internally it changes the coordinate system from the scene's world to view[0] and rescales it so the largest
translation has a norm of 1. This is to improve optimization performance which works best with numbers close to 1.0.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
localToGlobal
(Se3_F64 cpy_to_view, Se3_F64 src_to_view) Undoes the scale and coordinate system changeprotected void
If a view or camera is fixed then mark it as knownboolean
Optimizes the subscene specified earlier and copies over the resultsvoid
setSubset
(SceneWorkingGraph src, List<SceneWorkingGraph.View> srcViews) Creates a subset of the scene using the provided views.void
setVerbose
(@Nullable PrintStream out, @Nullable Set<String> configuration) void
setViewKnown
(String id) Specifies the scene as being known.
-
Constructor Details
-
RefineMetricGraphSubset
public RefineMetricGraphSubset()
-
-
Method Details
-
setSubset
Creates a subset of the scene using the provided views. If a view references other views not in this list in its inlier sets then those views are added to the subview but marked as known so that they aren't updated- Parameters:
src
- The scenesrcViews
- Views in the scene which compose the sub-scene
-
setViewKnown
Specifies the scene as being known. -
process
Optimizes the subscene specified earlier and copies over the results- Returns:
- true if it finished without issuez
-
localToGlobal
Undoes the scale and coordinate system change -
markKnownParameters
If a view or camera is fixed then mark it as known -
setVerbose
public void setVerbose(@Nullable @Nullable PrintStream out, @Nullable @Nullable Set<String> configuration) - Specified by:
setVerbose
in interfaceVerbosePrint
-