-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Features Viewer] Track reconstruction states #25
Conversation
…ny other track geometry
…es the track line
88ac20b
to
7db89a9
Compare
Retested after rebase on develop with several datasets and camera tracking pipelines, seems to work fine |
QThreadPool::globalInstance()->start(ioRunnable); | ||
} | ||
|
||
void MFeatures::updateGlobalTrackInfo(MViewFeaturesPerViewPerDesc* viewFeaturesPerViewPerDesc) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note:
Global track information needs a lot of I/O, memory and computation (all features, all tracks, ...).
Currently it's the only way to do it, I think.
Maybe, later on, we can compute & export this global information as an output JSON file of the SfM.
@@ -328,6 +404,16 @@ const MFeatures::MTrackFeaturesPerTrack* MFeatures::getTrackFeaturesPerTrack(con | |||
return &(itrDesc->second); | |||
} | |||
|
|||
void MFeatures::getAllViewIds(std::vector<aliceVision::IndexT>& viewIdsToLoad) | |||
{ | |||
const aliceVision::sfmData::SfMData& sfmData = _msfmData->rawData(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
viewIdsToLoad.reserve(viewIdsToLoad.size() + sfmData.getViews().size())
Description
This PR introduces new concepts in tracks visualization for conveying global information on them (i.e not limited to the current time window):
Reconstruction states
This PR introduces 3 reconstruction states for tracks:
These states are visualized with the following visual code:
Start/end point
The start/end points of a track (i.e the track features on the view with minimal/maximal frameId) are visualized with oriented triangles.
This visualization can be toggled on/off using a new QML property called
displayTrackEndpoints
.Implementation remarks
Since these concepts need global information on the tracks, it is necessary to load all the features from all the views in the scene, which makes the first loading of the FeaturesViewer longer.
Important
This PR should be merged before alicevision/Meshroom#1838