Skip to content
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

FILTER/ENH: DBSCAN Filter and Clustering Cleanup #994

Merged
merged 15 commits into from
Jun 21, 2024

Conversation

nyoungbq
Copy link
Contributor

@nyoungbq nyoungbq commented Jun 14, 2024

Added:

  • DBSCAN Filter and algorithm
  • Ability to run a Memory or Time efficient versions of the algorithm
  • Added ability to randomly initialize to be more in line with traditional algorithm
  • Added 4 basic tests for different logic tests
  • Updated documentation
  • Renamed KUtilities to ClusteringUtilities to be more inline with true function

In progress:

  • More Documentation (with images)
  • 1 more complex test case
  • Upload Data to Archive

Potential Future additions:

Naming Conventions

Naming of variables should descriptive where needed. Loop Control Variables can use i if warranted. Most of these conventions are enforced through the clang-tidy and clang-format configuration files. See the file simplnx/docs/Code_Style_Guide.md for a more in depth explanation.

Filter Checklist

The help file simplnx/docs/Porting_Filters.md has 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:

  • 1 Unit test to test output from the filter against known exemplar set of data
  • 1 Unit test to test invalid input code paths that are specific to a filter. Don't test that a DataPath does not exist since that test is already performed as part of the SelectDataArrayAction.

Code Cleanup

  • No commented out code (rare exceptions to this is allowed..)
  • No API changes were made (or the changes have been approved)
  • No major design changes were made (or the changes have been approved)
  • Added test (or behavior not changed)
  • Updated API documentation (or API not changed)
  • Added license to new files (if any)
  • Added example pipelines that use the filter
  • Classes and methods are properly documented

@nyoungbq nyoungbq force-pushed the filter/dbscan branch 2 times, most recently from 62e97dc to 568ffd9 Compare June 20, 2024 22:39
@nyoungbq nyoungbq requested a review from imikejackson June 20, 2024 22:40
@nyoungbq nyoungbq marked this pull request as ready for review June 20, 2024 22:40
@nyoungbq nyoungbq enabled auto-merge (squash) June 21, 2024 14:37
@nyoungbq nyoungbq merged commit e0d0cf2 into BlueQuartzSoftware:develop Jun 21, 2024
8 checks passed
@nyoungbq nyoungbq deleted the filter/dbscan branch June 21, 2024 15:31
imikejackson added a commit to imikejackson/simplnx that referenced this pull request Oct 20, 2024
)

Added:
- DBSCAN Filter and algorithm
- Ability to run a Memory or Time efficient versions of the algorithm
- Added ability to randomly initialize to be more in line with traditional algorithm
- Added 4 basic tests for different logic tests
- Updated documentation
- Renamed KUtilities to ClusteringUtilities to be more inline with true function
- More Documentation (with images)
- 1 more complex test case

Signed-off-by: Michael Jackson <[email protected]>
Co-authored-by: Michael Jackson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants