3.3.4. Reconstruction Manager¶
This section describes several things about the module used to launch the reconstruction. This module is included in the project as a git submodule and has it’s own GitHub repository (OpenMVGFeeder). Right now, the reconstruction manager has two versions (the older is the one included in the final version of the application).
3.3.4.1. Interface with the openMVG command line¶
The reconstruction manager is simply a front end to the openMVG command line. It is very similar with the Picture Fetcher module : we also use the subprocess submodule from python to call directly openMVG through the command line.
This version is pretty basic and doesn’t handle many things we would have wanted to implement like detection of new point cloud file. That’s why there is another version, but we didn’t have the time to integrate it in our last version of the application.
3.3.4.2. Reconstruction Manager improvements¶
In this improvement, we first added a function, pointCloudDetected
able to emit a signal when a new point cloud is detected in a specific
folder (given as a parameter).
When the orchestrator creates a reconstruction manager, it creates a new object with default attributes :
- A list of
.ply
files it already has : initialize empty. - A new signal called newPointCloud
- A new QFileSystemWatcher_ initially watching nothing and that we connect with the pointCloudDetected (described previously) slot.
Then, when we launch a new reconstruction, we call the
launchReconstruction
function. This function is working like in
the first version, except that every time it is called, we add the
openMVG output directory to the list of folder watched by the file
watcher. Every time a new point cloud is detected in this folder, we
copy it in the output folder used by the 3D renderer (the path is
given as a parameter).