/* Form on line of calibration data that represents one calibration point in the format * expected by Tsai3D calibration program */ private string GetCalibrationPointString(Camera cam, CalibrationModel model, int pointIndex) { string res = model.GetPoint(pointIndex).X + " " + model.GetPoint(pointIndex).Y + " " + model.GetPoint(pointIndex).Z + " " + cam.points[pointIndex].X + " " + cam.points[pointIndex].Y; return(res); }
/* Assumes square model with 4 points */ void Calibrate(int numAcquisitionsPerView, int numViews, double maxDisplacementX, double maxDisplacementY, double maxDisplacementZ) { CalibrationModel model = new CalibrationModel(17.5); double stepX = (maxDisplacementX / numAcquisitionsPerView); double stepY = (maxDisplacementY / numAcquisitionsPerView); double stepZ = (maxDisplacementZ / numViews); CalibrationView[] views = new CalibrationView[numViews]; int viewIdx = 0; for (double z = 0; z < maxDisplacementZ; z += stepZ, viewIdx++) { for (double y = 0; y < maxDisplacementY; y += stepY) { for (double x = 0; x < maxDisplacementX; x += stepX) { modelControlX.Move(x); modelControlY.Move(y); modelControlZ.Move(z); model.Move(x, y, z); for (int i = 0; i < 4; i++) { views[viewIdx].AddPoint(camera[0].points[i], camera[1].points[i], model.GetPoint(i)); } } } } Stereo.CalibrateMultipleViews(views); }
public CalibrationForm(Camera left, Camera right, CalibrationModel model) { InitializeComponent(); this.left = left; this.right = right; this.model = model; model.Moved += model_Moved; }
private void MainForm_Load(object sender, EventArgs e) { /*double[] arr = new double[2000]; * var Watch = Stopwatch.StartNew(); * for (int j = 0; j < 1000000; j++ ) * for (int i = 0; i < 2000; i++) * { * arr[i] = i + 5; * * } * Watch.Stop(); * var elapsed = Watch.ElapsedMilliseconds;*/ thr = new Thread(new ThreadStart(DaqInit)); //timerPhase.Start(); thr.Start(); left = new Camera(); right = new Camera(); stageInitialized = false; isTracking = false; UpdateButtonStates(); CameraForm cfrm = new CameraForm(left, right); cfrm.MdiParent = this; cfrm.Show(); model = new CalibrationModel(17.5); calibForm = new CalibrationForm(left, right, model); calibForm.MdiParent = this; calibForm.Show(); //file = new System.IO.StreamWriter(string.Format("data{0:yyyyMMddHHmm}.txt",DateTime.Now)); origin = new Vector3(-66.5681286245652, 93.959147563999, 220.553692515875); trackForm = new TrackingForm(); trackForm.MdiParent = this; instrumentTip = new Vector3(); prevInstrumentTip = new Vector3(); }