holoviz / holoviz/datashader

TODOs related to Canvas.trimesh

Open
#540 1 comment 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
3.6k
Forks
376
Avg merge
4h 32m
Merged PRs (30d)
1

Description

The following issue describes outstanding TODO items related to the `Canvas.trimesh()` feature (from #525):

## API
- [x] Write utility function (in _ds.utils_) to help generate the data structure accepted by the `mesh` keyword argument
- [ ] Add xarray.Dataset to datashader's pipeline, via built-in dispatch mechanism, so that the `trimesh` method can accept it as an argument (related to #526, https://github.com/ContinuumIO/earthio/issues/13, https://github.com/ContinuumIO/elm/issues/163, https://github.com/ContinuumIO/xarray_filters/issues/1)
- [ ] With additional interpolation methods (in "Misc Features", below), the `interp` flag should be something other than a boolean

## Docs
- [ ] Notebook for user guide, describing the available options and what they do
- [ ] Notebook for topics directory, plus dataset(s) in _examples/datasets.yml_ illustrating sample use-case w/ inference(s)

## Dask
- [ ] Enhance dask dataframe support, to leverage datashader's built-in dispatch mechanism -
i.e. instead of calling `.compute()` on dask dataframes and passing them through the pipeline as pandas dataframes
- [ ] Add vertex winding auto-detection (and correction) for dask dataframes

## Performance
- [ ] Make improvements to _datashader/compiler.py_, so that the `append` performance optimizations can be applied to other glyphs
- [ ] Other performance-enhancing activities. Current approaches I'd like to explore (time permitting):
- [ ] Adapting the rasterization algorithm to be a numba gufunc
- [ ] Leveraging a spatial index to speed up traversal/exclusion of triangles outside viewing area (open question on how to use this with dask)
- [ ] Partitioning the mesh so it can be processed in parallel (via multithreading, multiprocessing, or distributed/remote workers)
- [ ] Adapting the rasterization algorithm to run on the GPU

## Misc Features
- [ ] Add the ability to visualize only triangle edges (like a "wireframe")
- [ ] Add other interpolation methods (TBD). This is a prerequisite to an API change mentioned above.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.