Requested features

Stefan van der Walt edited this page Feb 15, 2018 · 31 revisions

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/)

Implement Algorithms

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
  • Add anti-aliasing

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]

io

  • Update qt_plugin.py and other plugins to view collections [initial version done for matplotlib, but can be much improved]

viewer

  • 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
  • Reimplement viewer in Javascript

docs

  • 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

Merge code provided by CellProfiler team

  • 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.

In 2010, Vebjorn Ljosa officially released parts of the code under a BSD license (BSD license announcement | original message).

Thanks to Lee Kamentsky, Thouis Jones and Anne Carpenter and their colleagues who contributed.