Skip to content
Anthony Oliver edited this page Nov 26, 2013 · 4 revisions

Code Cleanliness

Namespace: simplecv2

  • pep8
  • argument conventions
  • points/dimensions as tuples
  • keywords as first prioriy
  • Image extending ndimage
  • entirely CV2
  • travis ci builds
  • pylint checking
  • every class with own file
  • unit tests broken out by module
  • sane import structure (imports on runtime)

general arch:

  • entry points (or something similar)
  • config file
    • enable/disable modules
  • numba configuration - move any pixel-level stuff to numba
  • GPU-enabling

Image:

  • true colorspacing
  • transform history -> soft ref to upstream transforms
  • first class ROI(s)

Features:

  • detection as class constructor
  • Image.find(Blob, foo=bar)
  • image
  • lines
  • "find" is a classmethod
  • contour as first class feature
  • return empty featureset if nothing is found

Helper Functions:

  • Operate on features not images (so not img.findLines, more line pointToLine(lines))

Rendering

  • plugin based (SVG by default)
  • pygame optional

Data manipulation

  • pandas included for rolling window/groupby
  • scikits for ML
  • basic SP recipes (eg findpeaks, wrap scipy cookbook stuff)

Distribution

  • build on top of OpenCV + anaconda
  • -all distribution which is all "approved" modules
  • -core distribution which is just "basic" modules

Website

  • page for different modules (wordpress plugin style)
  • examples part of docs