dask / dask/dask-image

SciPy N-D Morphological Operations

Open
#25 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
226
Forks
56
PR merge metrics
No merged PRs in 30d

Description

_From @jakirkham on June 2, 2017 14:17_

The list of functions below are what that this library intends to support with Dask Arrays. These all come from SciPy. In particular they come from [`scipy.ndimage.morphology`]( https://docs.scipy.org/doc/scipy-0.19.0/reference/ndimage.html#morphology ). The intent is to emulate their behavior with Dask Arrays as wrapping them is not likely to work. Will also include tests to verify these retain the behavior that the SciPy functions ordinarily have.

* [x] [binary_closing]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_closing.html ) -- Addressed in PR ( https://github.com/dask-image/dask-ndmorph/pull/17 ).
* [x] [binary_dilation]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_dilation.html ) -- Addressed in PR ( https://github.com/dask-image/dask-ndmorph/pull/17 ).
* [x] [binary_erosion]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_erosion.html ) -- Addressed in PR ( https://github.com/dask-image/dask-ndmorph/pull/17 ).
* [ ] ~~[binary_fill_holes]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_fill_holes.html )~~ (This would require a `while`-loop in Dask to work.)
* [ ] [binary_hit_or_miss]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_hit_or_miss.html )
* [x] [binary_opening]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_opening.html ) -- Addressed in PR ( https://github.com/dask-image/dask-ndmorph/pull/17 ).
* [ ] ~~[binary_propagation]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.binary_propagation.html )~~ (This would require a `while`-loop in Dask to work.)
* [ ] [black_tophat]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.black_tophat.html )
* [ ] [distance_transform_bf]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.distance_transform_bf.html )
* [ ] [distance_transform_cdt]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.distance_transform_cdt.html )
* [ ] [distance_transform_edt]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.distance_transform_edt.html )
* [ ] ~~[generate_binary_structure]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.generate_binary_structure.html )~~ (generates very small arrays for use with ops)
* [ ] [grey_closing]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.grey_closing.html )
* [ ] [grey_dilation]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.grey_dilation.html )
* [ ] [grey_erosion]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.grey_erosion.html )
* [ ] [grey_opening]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.grey_opening.html )
* [ ] ~~[iterate_structure]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.iterate_structure.html )~~ (works with very small arrays)
* [ ] [morphological_gradient]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.morphological_gradient.html )
* [ ] [morphological_laplace]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.morphological_laplace.html )
* [ ] [white_tophat]( https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.ndimage.white_tophat.html )

_Copied from original issue: dask-image/dask-ndmorph#12_

Contributor guide

Open the contributing guide

Research direction

Read the SciPy ndimage.morphology reference linked in the issue and review which unchecked operations remain after the functions addressed by PR 17. Compare the selected operation's behavior with SciPy, then add Dask Array support and tests verifying equivalent behavior; the issue does not name implementation files or test paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.