Verbatim mirror positions scanned. Added debugging output.
Widened missed beam search range to accomadate serial comm delay from VM windows camera readout.
Datapoint now stores full 3D mirror position in lab frame instead of just mirror x-stage position. Instrument and analysis classes updated to use 3D position. Instrument now requires mirror vertical position to be manually entered when instantiated. Mirror-scan binary updated to accept mirror height argument.
Focal point only computed for 'reasonably' separated beam trajectories in tangential and sagittal planes. Single beams used for T-focii must have same beam index and be at the same mirror height to within 1mm. Single beams used for S-focii must have different IDs and be out of the same plane by at least 2 mm.
Raytracing mirror initial position uses only the calibration displacement. This will need to be updated later to use correct mirror position based solely on calibration data.
Added rotate method to tracker that sets the environement correctly for the current ccd anglular position.
Hurr durr. I need coffee.
Hurr durr. I REALLY need coffee.
Negative z is at angle 0.
Added missing docstrings
Removed import shadow of mirror_normal
Fixed old-style class definition for Limits class.
Updated calibration and beam realignment for use with Keyence displacement sensor. New calibration approach requires only measuring z displacements for calibration. One z displacement is from a table-fixed target to the mirror front face, the second z displacement is from a second table-fixed target to the CCD sensor. The fixed target separation is recorded as a calibration constant. In the new calibration arrangement, the tracker->mirror frame realignment uses a set of methods defined directly in the alignment class instead of the calibration class. The x and y calibration is established from beam 0's trajectory and the processes of zeroing the mirror stages.
Changed default calibration position uncertainties.