Comments (2)
Hello @grlee77,
Thanks a lot for your kind response.
I found an efficient workaround by using the FastGeodis library (BSD-3):
https://github.com/masadcv/FastGeodis
This avoids creating a graph.
Creating python bindings for NPP would be most likely the best solution.
from cucim.
Thanks @JonasFrey96 for the kind words and for providing a concrete example. It helped me to understand what you are asking for. Let me think about it and see what might be the best option.
There is an implementation of flood fill in NPP, but I don't think it will work for your purposes. As far as I understand, it operates more like a paint bucket tool to fill a region around the seed and does not return distances. That also does not currently have Python bindings.
I don't see how to modify the distance transform kernels we have in cuCIM to do this, but am wondering if we might be able to build a graph to represent the image and then use an appropriate graph algorithm from cuGraph to compute the distance. I think this problem may be called "single source shortest path" (SSSP). I am not too familiar with such graph algorithms, but think this could be a possibility worth exploring. I do see SSSP listed under "Traversal" algorithms on this page in the cuGraph guide.
We would have to figure out how to convert a binary image into the graph format it expects. I know upstream scikit-image does have some graph-related algorithms that utilize NetworkX, but we don't currently have any of the skimage.graph
module implemented in cuCIM.
from cucim.
Related Issues (20)
- Cache Notebooks HOT 1
- Cleanup `python/cucim/docs`
- Cleanup `python/cucim/ci`
- Review & cleanup `python/cucim`
- Drop `.cookiecutterrc`
- Drop `.idea`
- Validate wheel on CI
- Test CuPy 12 & 13 on CI
- Devendor CMake dependencies
- Drop Python pre-3.9 logic HOT 4
- Slowness seen using PiecewiseAffineTransform compared to scikit-image version HOT 2
- Enable `libcufile` on `linux_aarch64` (w/CUDA 12.2+) HOT 1
- [BUG] `click` is listed only in test requirements but is a required in order to use `cucim.clara` HOT 2
- Is `cucim.code-workspace` still used? HOT 2
- Add `devcontainer`s HOT 1
- Order of axes for `CuImage.origin`? HOT 4
- [FEA] Enable cuda-version dependency resolution for packages that depend on cucim or other rapids packages HOT 4
- [BUG] No module named 'cucim.clara._cucim' HOT 5
- investigate switching KDTree usage from SciPy to CuPy HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cucim.