borglab/gtsfm

Resolve Parentless GTSFM Products in Process Graph

Opened this issue · 0 comments

kfu02 commented

The process graph introduced in #540 exposes some places where our code does not align with a pure bipartite graph model, where processes produce and consume whole products, without modification. For instance, the two-view correspondences are triangulated in a class method before the BundleAdjustment Process takes over, which we had to hack around in the graph with a "Triangulated Points" Product with no source.

Screen Shot 2022-08-17 at 11 05 47 AM

Another issue arises in the Image Retriever/Loader system, where Retriever takes Loader as an argument and then simply calls Loader over a directory. This makes Loader both a Process and a input "Product" of Retriever. We can accept this as a weird quirk or potentially merge Retriever and Loader into one Process.

These should be resolved by changing the underlying code to conform to the process/product model, then fixing the UiMetadata objects in the right classes.