move cluster cells to ecto_opencv as they are generic enough and useful to capture