-
Notifications
You must be signed in to change notification settings - Fork 42
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
feature sets table #408
base: master
Are you sure you want to change the base?
feature sets table #408
Conversation
*/ | ||
@Override | ||
protected Iterable getFakeInput() { | ||
return ComputerSetProcessorUtils.getIterable(); |
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.
this problem can be resolved as soon as we have introduced the new
or better
matching which support proxy objects.
Should I rewrite the history again? |
I think thats fine. Let's wait with merging until after the hackathon, such that we potentially get rid of the |
11fe299
to
10ab745
Compare
10ab745
to
88fd712
Compare
I rebased this branch. Maybe we can merge this PR soon :) |
@tibuch This is still waiting on the generic type matching, right? I'll add a label assuming so. |
This PR adds so called ComputerSets (<==> FeatureSet). A ComputerSet holds different ComputerOps which build a common known measurement-group.
Now all FirstOrderStats ops could be combined in a FirstOrderStatsComputerSet. Same goes for different groups like Zernike, Histogram or Geometric2D (and many others which have to be implemented).
There are non-configurable and configurable ComputerSets. Configurable means that each op of this ComputerSet could either be active or inactive.
The ComputerSets are processed by the ComputerSetProcessor. There are three different implementations. One for ComputerSets based on Iterables (FirstOrderStats), one for ComputerSets based on LabelRegions (Geometric2D) and one for ComputerSets which should be computed over ROIs (FirstOrderStats on every segment of a LabelRegions).
To a ComputerSetProcessor arbitrarily many ComputerSets could be added. The ComputerSetProcessor will create a Table with a column for each computed op of every ComputerSet. The IterableComputerSetProcessor creates a table with one output row and the LabelRegions- and ROIComputerSetProcessor creates a output row for each segment of the Labeling.
The ComputerSetProcessor takes care of unique column names in the output-table.
@dietzc and @ctrueden please take a look.