VV: Erode Dilate Bad Data - #1687
Conversation
Full V&V Review — ErodeDilateBadDataReview methodology: every claim in Blocking: the direction fix is incorrect and regresses default behavior
A/B evidence (all runs on this branch's build):
So the PR breaks the default all-on case that
Blocking: the test oracle is circularThe V&V report classifies the oracle as Class 1 (Analytical), hand-traced. That claim does not hold: the hardcoded
Tests: gaps and correctness
Preflight / filter code
V&V document corrections (beyond the oracle section)
Algorithm quality (pre-existing, but in scope for a V&V pass)
Verified-correct claims (for the record)The following report claims were independently confirmed: 5/5 test cases pass with exactly 1883 assertions on this branch; legacy UUID |
* Refactored the algorithm for easier readability. Most ne4w functions are fully documented for inline readability in an IDE. * Updated temporary data structs from std::vector to AbstractDataStores to account forlarge OOC data.
* Clang-format
* Fixed a bug where x/y/z directions could not be turned off in the algorithm. * Added tests for no direction and no geometry dimensions. * Added errors to ErodeDilateBadDataFilter for no direction enabled and missing ImageGeom dimensions. Add V&V docs Re-added SIMPL backwards compatibility testing
5a009f4 to
f465510
Compare
imikejackson
left a comment
There was a problem hiding this comment.
See comments for feedback
Naming Conventions
Naming of variables should descriptive where needed. Loop Control Variables can use
iif warranted. Most of these conventions are enforced through the clang-tidy and clang-format configuration files. See the filesimplnx/docs/Code_Style_Guide.mdfor a more in depth explanation.Filter Checklist
The help file
simplnx/docs/Porting_Filters.mdhas documentation to help you port or write new filters. At the top is a nice checklist of items that should be noted when porting a filter.Unit Testing
The idea of unit testing is to test the filter for proper execution and error handling. How many variations on a unit test each filter needs is entirely dependent on what the filter is doing. Generally, the variations can fall into a few categories:
Code Cleanup