In the hope that it will be helpful, some of the decisions made during the course of this project relating to the order in which things were done are listed here.
This project was begun with implementation. Instead of having time allotted at first for a review of the literature in the field, an early demonstration of the graphics front end to the reconstruction system was needed. From that time iterative refinements were made to the file formats and other aspects of the pipeline, as deficiencies were uncovered where precision was being lost (for example, quantizing the modular eigenspace masks to integer values between 0 and 255). This kept the intensity of the work cycle constant, leaving little time for a higher-level review of the concepts and previous work.
Especially in a research setting, it is essential to keep up with the current literature, to know what others are doing, to know in which directions the field is going, and simply to know what is known. It seemed at the end of the project that the first thing that should have been done was carefully consider the previous work in the field (namely,  and ). Once these papers had been reviewed, it seemed that some of the problems we had encountered during implementation might have been avoided by earlier consideration of these works.
However, discussion with other people in the research group indicated that our lack of time was not an uncommon problem, and in fact it is the exception that a supervisor requires full review and/or implementation of prior work before beginning research, even when the student may wish it. In fact, it seems that a strict initial literature review dissuades some students from pursuing research, possibly because they do not feel they are making original contributions by doing so. A professor in the MIT EECS department once said in a class that he recommends that his graduate students read other papers in the field only after completing the implementation of their own system. Apparently this avoids the accidental appropriation of ideas, and increases the number of new approaches taken.
The overall point, however weak, is that it may not be a mistake to implement a system before performing a literature review. Implementation brings a kind of experience complementary to that acquired from reading. It is a mistake to avoid the literature review altogether; it is probably equally bad to have an implementation work properly ``the first time'', because of the possibility that the algorithm may, in fact, be flawed and its seeming to work properly is just pure chance. We learn best from our own mistakes. Fortunately, this project offered many opportunities for learning.