holoviz / datashader

Quickly and accurately render even the largest data.
http://datashader.org
BSD 3-Clause "New" or "Revised" License
3.32k stars 365 forks source link

Refactor stage 2 aggregation for antialiased lines #1145

Closed ianthomas23 closed 1 year ago

ianthomas23 commented 1 year ago

This PR refactors the second stage aggregation for antialiased lines so that the mathematical aggregation operations are passed into the line rendering functions from the Reduction classes, and in such a way that multiple reductions can be supported. There is no functional change from the end users point of view.

This is the final set of changes required before issue #1133 can be implemented for antialiased lines on the CPU.

Implementation details

codecov[bot] commented 1 year ago

Codecov Report

Merging #1145 (3b43022) into master (e888ba3) will increase coverage by 0.03%. The diff coverage is 94.26%.

@@            Coverage Diff             @@
##           master    #1145      +/-   ##
==========================================
+ Coverage   85.16%   85.20%   +0.03%     
==========================================
  Files          33       34       +1     
  Lines        7632     7732     +100     
==========================================
+ Hits         6500     6588      +88     
- Misses       1132     1144      +12     
Impacted Files Coverage Δ
datashader/compiler.py 95.04% <88.88%> (-1.12%) :arrow_down:
datashader/glyphs/line.py 92.71% <93.03%> (-0.51%) :arrow_down:
datashader/reductions.py 85.84% <96.55%> (+0.48%) :arrow_up:
datashader/core.py 87.76% <100.00%> (-0.23%) :arrow_down:
datashader/data_libraries/dask.py 94.49% <100.00%> (ø)
datashader/data_libraries/dask_xarray.py 98.91% <100.00%> (ø)
datashader/data_libraries/pandas.py 100.00% <100.00%> (ø)
datashader/enums.py 100.00% <100.00%> (ø)
datashader/glyphs/area.py 79.82% <100.00%> (ø)
datashader/glyphs/points.py 88.29% <100.00%> (ø)
... and 4 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more