datashader
datashader copied to clipboard
TODOs related to Canvas.trimesh
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
meshkeyword argument - [ ] Add xarray.Dataset to datashader's pipeline, via built-in dispatch mechanism, so that the
trimeshmethod 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
interpflag 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
appendperformance 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.
Notebook for topics directory, plus dataset(s) in examples/datasets.yml
I think we should just use this one example, which I've uploaded to S3 and thus can now be added to datasets.yml:
https://s3.amazonaws.com/datashader-data/Chesapeake_and_Delaware_Bays.3dm