TODOs related to Canvas.trimesh
- 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.