-
Notifications
You must be signed in to change notification settings - Fork 424
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
--[BE][WIP] - Dataset Diagnostics and Repairs #2457
base: main
Are you sure you want to change the base?
Conversation
So currently to request a diagnostic, say on duplicate scene object instances, you would add the following line to the scene dataset config :
or
if you wanted to save the scene instances that were corrected by the diagnostic process, you would use
and when you do not wish for any diagnostics anymore, you would just delete the line from the scene dataset config. Other mechanisms for performing these diagnostics would be easy to implement, this was just the mechanism I started with. |
fbed857
to
60beaa0
Compare
2cbac1b
to
07e6303
Compare
07e6303
to
df31bc2
Compare
a042320
to
abc2321
Compare
0d307c0
to
a719566
Compare
a719566
to
395cf19
Compare
05b2529
to
3d06135
Compare
3d06135
to
63ae754
Compare
Also encapsulate the json setting process so that diagnostic settings can be cleared beforehand.
More extensive reporting can eventually be implemented.
63ae754
to
42ccc0a
Compare
Motivation and Context
This PR introduces a transparent dataset diagnostics protocol that can be controlled by setting flags using the optional tag
"request_diagnostics"
placed in the scene dataset config, followed by either an individual string or a list of strings, each specifying a desired diagnostic to be performed.As a proof of concept, as well as to address an existing issue with the base hssd scene instances, the following tags are currently supported :
SaveCorrected
: save any files that have been tested and corrected. Ignored if no tests specifiedTestForSceneInstanceDuplicates
: test for duplicate rigid/articulated object instances on scene instance load, not loading duplicates if found.TestForSemanticRegionDuplicates
: test for duplicate semantic region definitions on semantic attributes load, not loading duplicates if found.All
: perform all diagnostic tests but do not save results to file.AllSaveCorrected
: perform all diagnostic tests and save corrected configurationsThis PR will perform conditional de-duplication of any loaded subconfiguration, such as Object Instances from the Scene Instance configuration file, if the appropriate test (
TestForSceneInstanceDuplicates
) is requested. If multiple such object instances are loaded that have identical data, then the extra duplicates will not be saved as part of the internal representation of the scene instance.If
SaveCorrected
is specified, the scene instance, in this case, minus the extra duplicates, will be saved to disk. Otherwise, it will just be retained in memory for the lifetime of the execution.This functionality is also available for SemanticAttributes/configs, should identical SemanticRegion definitions exist within the original json config description.
This PR is currently set up to prevent any duplicate SceneObjectInstanceAttributes or SceneAOInstanceAttributes from being saved when a SceneInstanceAttributes is being created for manual save to disk.
This PR also includes a renaming refactor for attributes and attributes manager base classes to fall in line with standard naming protocol and be less confusing.
Still needed :
How Has This Been Tested
Locally c++ and python tests pass (currently transparent pass-through)
Types of changes
Checklist