1. Typed up the segmentation algo I wrote on the train: basically a recursion which separates the image into a grid.  Still need to test, and before that to write up the part about what happens to each square of the grid, i.e. that the program performs the same procedure on those as the original square.
2. Made the initial scanning and thresholding a little faster by removing the recalculation of the data array.  I think there's lots of room to make this part faster, still.
Removed the recalculation of grayscale values for each element of the black and white array, not a significant improvement in speed so there must be something else I can do.