Skip to content
tonysyu edited this page Oct 3, 2012 · 2 revisions

Implement Algorithms

Drawing (directly on an ndarray)

  • Wu's algorithm for circles
  • Text rendering
  • Add anti-aliasing

Infrastructure

  • Add @greyimage decorator to check if input is a greyscale image
  • Implement a new backend system so that we may start including PyOpenCL-based algorithms

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.

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

Rework linear filters

  • Fast, SSE2 convolution (high priority) (see prototype in pull requests)
  • Should take kernel or function for parameter (currently only takes function)
  • Kernel shape should be specifiable (currently defaults to image shape)

io

  • Update qt_plugin.py and other plugins to view collections.
  • Rewrite GTK backend using GObject Introspection for Py3K compatibility.
  • Add DICOM plugin for GDCM.
  • Add imread_collection to all imread backends
  • Better video loading (move to plugin framework, add backends)

viewer

  • Using the visualization tools, add an FFT-domain image editor

docs

  • Add examples to the gallery
  • Write topics for the user guide.
  • Integrate BiBTeX plugin into Sphinx build