Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Administrative and web
- Improve website (ask Stéfan for details)
- Get interactive gallery running again
- Add survey to website (see e.g. https://getsitecontrol.com/)
- Add Eldad Afik's ring detector
- Add BM3D denoising (see also IPOL publication)
- Enhanced Correlation Coefficient (useful for registration)
- Contour following as described in Suzuki, S. and Abe, K., "Topological Structural Analysis of Digitized Binary Images by Border Following". CVGIP 30 1, pp 32-46 (1985).
- Unify image registration
- COSFIRE [see also George Azzopardi's publications]
- Full implementation of dynamic time warping [also see R package--but don't study their GPL'd code]
Fast Radon Transform
- Brady, "A Fast Discrete Approximation Algorithm for the Radon Transform", SIAM J. Comput., 27(1), 2006
- A fast digital Radon transform--An efficient means for evaluating the Hough transform WA Götz, HJ Druckmüller - Pattern Recognition, 1996
- Largely implemented: https://github.com/scikit-image/scikit-image/pull/1570
- Graph cut segmentation
- Partially implemented as part of Region Adjacency Graph work
- Image colorization.
- Fast 2D convex hull (consider using CellProfiler version). Algorithm overview. One free implementation. (Compare against current implementation.)
Convex hulls of objects in a labels matrix (simply adapt current convex hull image code--this one's low hanging fruit). Generalise this solution to also skeletonize objects in a labels matrix. Binary features (BRIEF, BRISK, FREAK) (gsoc project). STAR features (gsoc project).
- Blurring kernel estimation; also see this paper
Laplacian of Gaussian(LoG) Difference of Gaussians(DoG) Determinant of Hessian
- Hessian Laplace
- Maximally stable extremum regions(MSER) [in progress by Vighnesh]
Drawing (directly on an ndarray)
Wu's algorithm for circles (PR submitted)
- Text rendering using matplotlib another example; all drawing primitives can be done via matplotlib, now that it is a dependency
Adapt existing code for use
These snippets and packages have already been written. Some need to be modified to work as part of the scikit, others may be lacking in documentation or tests.
- 2D image warping via thin-plate splines [ask Zach Pincus]
Rework linear filters
- Should take kernel or function for parameter (currently only takes function)
- Kernel shape should be specifiable (currently defaults to image shape)
- Fast, SSE2 convolution (see prototype in pull requests) [let's see where LLVM + GPU frameworks go]
qt_plugin.pyand other plugins to view collections [initial version done for matplotlib, but can be much improved]
- Improve the paint tool to be smooth
Using the visualization tools, add an FFT-domain image editor[done as external tool by Vighnesh]
- Add fuzzy and lasso selectors
- Finish up interactive Docker gallery
- Add examples to the gallery
- Write topics for the user guide.
- Integrate BiBTeX plugin into Sphinx build
Export examples as IPython notebooks
Build and testing
Update Travis CI to also test examples in docs
CellProfiler teamMerge code provided by
Roberts filter - convolution with diagonal and anti-diagonal kernels to detect edges
Minimum enclosing circles of objects in a labels matrix-- can be done using regionprops
- spur removal, thinning, thickening, and other morphological operations on binary images, framework for creating arbitrary morphological operations using a 3x3 grid.
Their SVN repository is read-accessible at
The files for the above algorithms are
There are test suites for the files at
Quoting a message from Lee Kamentsky to Stefan van der Walt sent on 5 August 2009::
We're part of the Broad Institute which is non-profit. We would be happy to include our algorithm code in SciPy under the BSD license since that is more appropriate for a library that might be integrated into a commercial product whereas CellProfiler needs the more stringent protection of GPL as an application.
Thanks to Lee Kamentsky, Thouis Jones and Anne Carpenter and their colleagues who contributed.