001/* 002 * Copyright (C) Photon Vision. 003 * 004 * This program is free software: you can redistribute it and/or modify 005 * it under the terms of the GNU General Public License as published by 006 * the Free Software Foundation, either version 3 of the License, or 007 * (at your option) any later version. 008 * 009 * This program is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 * GNU General Public License for more details. 013 * 014 * You should have received a copy of the GNU General Public License 015 * along with this program. If not, see <https://www.gnu.org/licenses/>. 016 */ 017 018package org.photonvision.vision.pipeline; 019 020import edu.wpi.first.math.util.Units; 021import org.opencv.core.Size; 022import org.photonvision.vision.frame.FrameDivisor; 023 024public class Calibration3dPipelineSettings extends AdvancedPipelineSettings { 025 public int boardHeight = 8; 026 public int boardWidth = 8; 027 public UICalibrationData.BoardType boardType = UICalibrationData.BoardType.CHESSBOARD; 028 public UICalibrationData.TagFamily tagFamily = UICalibrationData.TagFamily.Dict_4X4_1000; 029 public double gridSize = Units.inchesToMeters(1.0); 030 public double markerSize = Units.inchesToMeters(0.75); 031 032 public Size resolution = new Size(640, 480); 033 public boolean useMrCal = true; 034 public boolean useOldPattern = false; 035 public boolean drawAllSnapshots; 036 037 public Calibration3dPipelineSettings() { 038 super(); 039 this.cameraAutoExposure = true; 040 this.inputShouldShow = true; 041 this.outputShouldShow = true; 042 this.streamingFrameDivisor = FrameDivisor.HALF; 043 this.drawAllSnapshots = true; 044 } 045}