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

rework dispatches and update compatibility #32

Merged
merged 8 commits into from Aug 16, 2019
Merged

rework dispatches and update compatibility #32

merged 8 commits into from Aug 16, 2019

Conversation

johnnychen94
Copy link
Member

@johnnychen94 johnnychen94 commented Aug 8, 2019

The purpose of this rewrite is to close #22, close #28 and close #25 . Also, it's much easier to understand and maintain the source codes.

This rework consists of three updates:

Todo:

  • Color3 support
  • Hausdorff and CIEDE2000

cc: @juliohm

It's much clearer to dispatch on pixel type, rather than the array
type. So intead of extend `evaluate`, we extend `eval_op` now.
there're two other patches:

* provide limited support to non-boolean image when it can be binarized without
  InExactError
* fix pariwise for GenericHausdorff; the previous function can't get called due to
  an incorrect type annotation
Copy link
Member

@juliohm juliohm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for cleaning the code and improving the integration with other packages in the Julia ecosystem. I didn't have a chance to review things carefully, but I am confident that you are careful with the changes.

@johnnychen94
Copy link
Member Author

Unfortunately, ambiguities still exist (moves from evaluate to result_type). I plan to fix it in the next PR.

@johnnychen94 johnnychen94 changed the title [WIP] rework dispatches and update compatibility rework dispatches and update compatibility Aug 16, 2019
@codecov
Copy link

codecov bot commented Aug 16, 2019

Codecov Report

Merging #32 into master will increase coverage by 18.5%.
The diff coverage is 66.66%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage    69.1%   87.61%   +18.5%     
==========================================
  Files           6        6              
  Lines         123      113      -10     
==========================================
+ Hits           85       99      +14     
+ Misses         38       14      -24
Impacted Files Coverage Δ
src/ImageDistances.jl 100% <ø> (+25%) ⬆️
src/metrics_distances.jl 100% <100%> (+37.5%) ⬆️
src/hausdorff.jl 86.95% <33.33%> (+49.74%) ⬆️
src/metrics.jl 66.66% <50%> (-22.23%) ⬇️
src/ciede2000.jl 87.5% <83.33%> (-2.5%) ⬇️
src/generic.jl 94.87% <84.61%> (+4.87%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7d01ad6...d9a2777. Read the comment docs.

@johnnychen94 johnnychen94 merged commit 93c489f into JuliaImages:master Aug 16, 2019
@johnnychen94 johnnychen94 deleted the project branch August 16, 2019 13:29
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.

avoid type piracy? Upgrade to new ImageCore version reducing memory allocation
2 participants