--[BE][WIP] - Dataset Diagnostics and Repairs#2457
Draft
jturner65 wants to merge 20 commits into
Draft
Conversation
Contributor
Author
|
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. |
jturner65
marked this pull request as ready for review
August 23, 2024 21:12
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
August 25, 2024 14:25
fbed857 to
60beaa0
Compare
jturner65
marked this pull request as draft
August 26, 2024 13:12
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
3 times, most recently
from
September 4, 2024 18:45
2cbac1b to
07e6303
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
September 10, 2024 13:25
07e6303 to
df31bc2
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
September 13, 2024 15:17
a042320 to
abc2321
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
2 times, most recently
from
September 18, 2024 17:14
0d307c0 to
a719566
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
October 29, 2024 21:08
a719566 to
395cf19
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
2 times, most recently
from
November 11, 2024 16:03
05b2529 to
3d06135
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
3 times, most recently
from
November 18, 2024 19:01
42ccc0a to
fd7f979
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
November 25, 2024 19:38
fd7f979 to
c33c135
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
December 4, 2024 13:59
c33c135 to
f1fd75b
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
December 11, 2024 14:34
f1fd75b to
ff521f7
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
January 15, 2025 14:48
ff521f7 to
1c7736b
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
3 times, most recently
from
January 28, 2025 15:40
215f5ad to
e20dbcd
Compare
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
2 times, most recently
from
February 10, 2025 14:29
4b25b70 to
1999455
Compare
Also encapsulate the json setting process so that diagnostic settings can be cleared beforehand.
More extensive reporting can eventually be implemented.
jturner65
force-pushed
the
BE_DatasetDiagnostics
branch
from
February 14, 2025 15:23
1999455 to
78b8552
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
SaveCorrectedis 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