Describe the Different Modules of ContextCapture


This is a brief description of the different modules that comprise ContextCapture and Context Capture Center

ContextCapture & ContextCapture Center

ContextCapture is comprised of 2 modules:
  1. ContextCapture Master
  2. ContextCapture Center

ContextCapture Master

The ContextCapture Master is the main user interface of ContextCapture. This graphical user interface, it allows you to:
Import the data sets,
Define the processing settings,
Submit tasks,
Monitor the progress of submitted tasks,
Visualize results, etc.
The Master does not perform the processing tasks. Instead, it separates tasks into elementary jobs which it submits to a job queue.
ContextCapture Master's main interface manages the different steps of the ContextCapture workflow through a project.
A project is organized along a tree structure. It contains items of different types, corresponding to each step of the workflow:
Project: A project manages all data relative to a scene processed by ContextCapture. It contains one or several blocks as sub-items.
Block: A block manages a set of input photos and their properties (photogroup properties: sensor size, focal length, principal point, lens distortion / pose: position, rotation), based on which one or several reconstructions can be created. These reconstructions are represented as sub-items of the block in the tree structure.
Reconstruction: A reconstruction manages a 3D reconstruction framework (spatial reference system, region-of-interest, tiling, retouching, processing settings), based on which one or several productions can be launched. These productions are represented as sub-items of the reconstruction in the tree structure.
Production: A production manages the generation of a 3D model, with error feedback, progress monitoring and notifications about updates of the underlying reconstruction (e.g. retouching).
A project can contain multiple items corresponding to a same step of the workflow, which allows complex versioning and/or variant management. This is very useful to experiment on a same scene with different input data and different processing settings.
The main interface is in the form of a project explorer from which you can browse all the items of a project.

ContextCapture Master Main Interface

ContextCapture Engine

ContextCapture Engine is the worker module of ContextCapture.  It runs on a computer in the background, without user interaction. When it is not busy, the Engine takes a pending job in the queue, depending on its priority and date of submission, and executes it. A job usually consists of an Aerotriangulation or 3D reconstruction process, using various computationally intensive algorithms (keypoint extraction, automatic tie point matching, bundle adjustment, dense image matching, robust 3D reconstruction, seamless texture mapping, texture atlas packing, level-of-detail generation ...).
ContextCapture Engine makes an extensive use of general-purpose computation on graphics processing units (GPGPU). Each Engine can exploit a single GPU.
Starting/Ending the engine
Click on the ContextCapture Engine desktop shortcut to start the engine.
ContextCapture Engine window
Once running, ContextCapture Engine listens to the Job queue directory which is configured in the ContextCapture Settings.
To close ContextCapture Engine, simply close the engine console. Any running Job will be moved back into the job queue, with a pending status and its original priority. Pending jobs will remain in the Job queue, waiting to be processed by a next execution of ContextCapture Engine.

ContextCapture Engine Specialization

By default, ContextCapture Engine processes both aerotriangulation and reconstruction jobs.
On a computer cluster, it may be useful to specialize engines to process only a specific type of job.



Remote Desktop Connection

ContextCapture Engine cannot work through a Microsoft Remote Desktop Connection because hardware acceleration is disabled. However you can use VNC or a remote administration software like TeamViewer.

Windows session

 Switching Windows user while ContextCapture Engine is running will cause running computations to fail because hardware acceleration is disabled when the user is not connected.

See Also

 Original Author:Felix James