It should be possible, once characterized the main functional units, to create a program to annotate all of them, right? You would probably need to "teach" it with a few examples, but it should work, since it is essentially the same I do to create a 3D structure from 2D projections of a particular protein complex. Although the reallity is more complicate in my case (you select a bunch of 2D projections rotated in different angles, then a 2D fourier transform is computed for all the projections, the you group them in class averages based on their fourier transform, and then you reconstruct the 3D model in the fourier space) a similar approach would probably work here, specially considering that we do not have different rotations but always the same view, something that simplifies the process a lot. I am the biologist in my lab, I work in the biochemical part preparing the samples and not coding the software, but I am convinced that it should really work. On the other hand, maybe there is something like this already, I do not know about reverse reverse engineering. In any case, if somebody would like to implement something like this I can submit you guys a tons of paper discussing the algorithms, everything is open source.