-
Notifications
You must be signed in to change notification settings - Fork 1
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
Normalized cell divisions feature #69
Conversation
c1d7e11
to
ba9fda6
Compare
…tFeatureUtils and respective tests for it
efae600
to
eec08ce
Compare
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.
Good code. Good unit tests. But I still see two problem:
- A "+ 1" is needed for the computation of the branch duration to make it more consistent.
- The algorithm for the computation of the branch duration and number of leaves is not efficient. You recompute similar values a lot. For example when computing the cell division frequency for this graph:
A
/ \
B C
/ \
D E
The duration for branch spot D and E will be computed 3 times. The duration of branch spot C is computed 2 times. The same is done for the number of leaves. It would make sense to cache intermediate results.
src/main/java/org/mastodon/mamut/feature/branch/BranchSpotFeatureUtils.java
Outdated
Show resolved
Hide resolved
…potFeatureUtilsTest
…mputer * Uses caching of values that have been already computed to avoid redundant computation * Tree is only iterated trough once * Similar approach as e.g. in BranchNLeavesFeature
Thanks for the advice.
|
.../org/mastodon/mamut/feature/branch/divisions/BranchCellDivisionFrequencyFeatureComputer.java
Outdated
Show resolved
Hide resolved
.../org/mastodon/mamut/feature/branch/divisions/BranchCellDivisionFrequencyFeatureComputer.java
Outdated
Show resolved
Hide resolved
…d of ObjPropertyMap * Reasoning: ObjPropertyMap supports undo/redo, which is not required for a value cache that is only used during feature computation. Thus presumably RefObjectMap is a bit more performant
# Conflicts: # README.md
…settableFeatureComputer to an AbstractCancelableFeatureComputer * Reasoning: partial re-computation of this feature is difficult, since results along the tree depend on each other.
Quality Gate passedIssues Measures |
This PR adds the new feature normalized cell division
Resolves #64