I posted this earlier on datatau, but thought I would try a larger audience as well. This is a project I've been working on in my spare time, mostly as a learning exercise for myself. I've been using it with some success on the Kaggle digit recognizer challenge, and from what I can gather from reading the Kaggle forums and some preliminary tests on my own, the performance is pretty good compared to OpenCV and code that other people are writing on their own. Anyway, I would love to get feedback on the code and I thought others might find it fun or useful to play around with.