So - hooda thunkit - it turns out that this is hard. Nevertheless it's going somewhere though there's a hint of the whac-a-mole debugging going on here. At the moment it's working towards handling the trying-to-assemble-a-dataset-from-dozens-of-crystals turf - so assuming a (small) handful of degrees of data from each - along the lines of http://www.nature.com/emboj/journal/v29/n2/abs/emboj2009352a.html.
Most interesting part of this is that all of the program steps need to be hardened against what would usually be fatal errors - negative scales and the like - and just plough on regardless. An interesting paradigm.