Software machine vision