Fix .gitignore, move vision package out of common

This commit is contained in:
Banks Troutman
2020-06-28 04:40:43 -04:00
parent bdbd6b9d18
commit f2fbe9dd6e
214 changed files with 485 additions and 7768 deletions

View File

@@ -1,22 +1,22 @@
package org.photonvision.common;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.util.math.MathUtils;
import org.photonvision.common.util.numbers.NumberListUtils;
import org.photonvision.common.vision.frame.FrameProvider;
import org.photonvision.common.vision.frame.provider.FileFrameProvider;
import org.photonvision.common.vision.opencv.CVMat;
import org.photonvision.common.vision.opencv.ContourGroupingMode;
import org.photonvision.common.vision.opencv.ContourIntersectionDirection;
import com.chameleonvision.common.vision.pipeline.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.photonvision.common.vision.pipeline.CVPipeline;
import org.photonvision.common.vision.pipeline.CVPipelineResult;
import org.photonvision.common.vision.pipeline.ReflectivePipeline;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.util.math.MathUtils;
import org.photonvision.common.util.numbers.NumberListUtils;
import org.photonvision.vision.frame.FrameProvider;
import org.photonvision.vision.frame.provider.FileFrameProvider;
import org.photonvision.vision.opencv.CVMat;
import org.photonvision.vision.opencv.ContourGroupingMode;
import org.photonvision.vision.opencv.ContourIntersectionDirection;
import org.photonvision.vision.pipeline.CVPipeline;
import org.photonvision.vision.pipeline.CVPipelineResult;
import org.photonvision.vision.pipeline.ReflectivePipeline;
/** Various tests that check performance on long-running tasks (i.e. a pipeline) */
public class BenchmarkTest {
@@ -26,6 +26,7 @@ public class BenchmarkTest {
}
@Test
@Order(1)
public void Reflective240pBenchmark() {
var pipeline = new ReflectivePipeline();
pipeline.getSettings().hsvHue.set(60, 100);
@@ -47,6 +48,7 @@ public class BenchmarkTest {
}
@Test
@Order(1)
public void Reflective480pBenchmark() {
var pipeline = new ReflectivePipeline();
pipeline.getSettings().hsvHue.set(60, 100);
@@ -65,6 +67,7 @@ public class BenchmarkTest {
}
@Test
@Order(3)
public void Reflective720pBenchmark() {
var pipeline = new ReflectivePipeline();
pipeline.getSettings().hsvHue.set(60, 100);
@@ -83,6 +86,7 @@ public class BenchmarkTest {
}
@Test
@Order(4)
public void Reflective1920x1440Benchmark() {
var pipeline = new ReflectivePipeline();
pipeline.getSettings().hsvHue.set(60, 100);
@@ -104,7 +108,7 @@ public class BenchmarkTest {
}
private static <P extends CVPipeline> void benchmarkPipeline(
FrameProvider frameProvider, P pipeline, int secondsToRun) {
FrameProvider frameProvider, P pipeline, int secondsToRun) {
CVMat.enablePrint(false);
// warmup for 5 loops.
System.out.println("Warming up for 5 loops...");

View File

@@ -1,19 +1,19 @@
package org.photonvision.common.configuration;
import org.photonvision.common.logging.Level;
import org.photonvision.common.logging.LogGroup;
import org.photonvision.common.logging.Logger;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.util.file.JacksonUtils;
import org.photonvision.common.vision.pipeline.ColoredShapePipelineSettings;
import org.photonvision.common.vision.pipeline.ReflectivePipelineSettings;
import org.photonvision.common.vision.target.TargetModel;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.jupiter.api.*;
import org.photonvision.common.logging.Level;
import org.photonvision.common.logging.LogGroup;
import org.photonvision.common.logging.Logger;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.util.file.JacksonUtils;
import org.photonvision.vision.pipeline.ColoredShapePipelineSettings;
import org.photonvision.vision.pipeline.ReflectivePipelineSettings;
import org.photonvision.vision.target.TargetModel;
public class ConfigTest {

View File

@@ -1,11 +1,11 @@
package org.photonvision.common.vision;
package org.photonvision.vision;
import org.photonvision.common.vision.camera.CameraQuirks;
import org.photonvision.common.vision.camera.QuirkyCamera;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.photonvision.vision.camera.CameraQuirks;
import org.photonvision.vision.camera.QuirkyCamera;
public class QuirkyCameraTest {
@Test

View File

@@ -1,15 +1,15 @@
package org.photonvision.common.vision.frame.provider;
package org.photonvision.vision.frame.provider;
import static org.junit.jupiter.api.Assertions.*;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.frame.Frame;
import edu.wpi.cscore.CameraServerCvJNI;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.frame.Frame;
public class FileFrameProviderTest {

View File

@@ -1,14 +1,14 @@
package org.photonvision.common.vision.opencv;
package org.photonvision.vision.opencv;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.photonvision.common.util.TestUtils;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Point;
import org.photonvision.common.util.TestUtils;
public class ContourTest {
@BeforeEach

View File

@@ -1,18 +1,8 @@
package org.photonvision.common.vision.pipeline;
package org.photonvision.vision.pipeline;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.photonvision.common.calibration.CameraCalibrationCoefficients;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.frame.Frame;
import org.photonvision.common.vision.frame.provider.FileFrameProvider;
import org.photonvision.common.vision.opencv.CVMat;
import org.photonvision.common.vision.opencv.ContourGroupingMode;
import org.photonvision.common.vision.opencv.ContourIntersectionDirection;
import org.photonvision.common.vision.opencv.ContourShape;
import org.photonvision.common.vision.target.TargetModel;
import org.photonvision.common.vision.target.TrackedTarget;
import com.fasterxml.jackson.databind.ObjectMapper;
import edu.wpi.first.wpilibj.geometry.Rotation2d;
import java.io.IOException;
@@ -20,6 +10,16 @@ import java.nio.file.Path;
import java.util.stream.Collectors;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.calibration.CameraCalibrationCoefficients;
import org.photonvision.vision.frame.Frame;
import org.photonvision.vision.frame.provider.FileFrameProvider;
import org.photonvision.vision.opencv.CVMat;
import org.photonvision.vision.opencv.ContourGroupingMode;
import org.photonvision.vision.opencv.ContourIntersectionDirection;
import org.photonvision.vision.opencv.ContourShape;
import org.photonvision.vision.target.TargetModel;
import org.photonvision.vision.target.TrackedTarget;
public class CirclePNPTest {

View File

@@ -1,13 +1,13 @@
package org.photonvision.common.vision.pipeline;
package org.photonvision.vision.pipeline;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.frame.Frame;
import org.photonvision.common.vision.frame.FrameStaticProperties;
import org.photonvision.common.vision.frame.provider.FileFrameProvider;
import org.photonvision.common.vision.opencv.ContourGroupingMode;
import org.photonvision.common.vision.opencv.ContourIntersectionDirection;
import org.photonvision.common.vision.opencv.ContourShape;
import org.junit.jupiter.api.Test;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.frame.Frame;
import org.photonvision.vision.frame.FrameStaticProperties;
import org.photonvision.vision.frame.provider.FileFrameProvider;
import org.photonvision.vision.opencv.ContourGroupingMode;
import org.photonvision.vision.opencv.ContourIntersectionDirection;
import org.photonvision.vision.opencv.ContourShape;
public class ColoredShapePipelineTest {

View File

@@ -1,13 +1,13 @@
package org.photonvision.common.vision.pipeline;
package org.photonvision.vision.pipeline;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.frame.Frame;
import org.photonvision.common.vision.frame.provider.FileFrameProvider;
import org.photonvision.common.vision.opencv.CVMat;
import org.photonvision.common.vision.opencv.ContourGroupingMode;
import org.photonvision.common.vision.opencv.ContourIntersectionDirection;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.frame.Frame;
import org.photonvision.vision.frame.provider.FileFrameProvider;
import org.photonvision.vision.opencv.CVMat;
import org.photonvision.vision.opencv.ContourGroupingMode;
import org.photonvision.vision.opencv.ContourIntersectionDirection;
public class ReflectivePipelineTest {

View File

@@ -1,26 +1,25 @@
package org.photonvision.common.vision.pipeline;
package org.photonvision.vision.pipeline;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.photonvision.common.calibration.CameraCalibrationCoefficients;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.frame.Frame;
import org.photonvision.common.vision.frame.provider.FileFrameProvider;
import org.photonvision.common.vision.opencv.CVMat;
import org.photonvision.common.vision.opencv.ContourGroupingMode;
import org.photonvision.common.vision.opencv.ContourIntersectionDirection;
import org.photonvision.common.vision.target.TargetModel;
import org.photonvision.common.vision.target.TrackedTarget;
import com.fasterxml.jackson.databind.ObjectMapper;
import edu.wpi.first.wpilibj.geometry.Rotation2d;
import java.io.IOException;
import java.nio.file.Path;
import java.util.stream.Collectors;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.calibration.CameraCalibrationCoefficients;
import org.photonvision.vision.frame.Frame;
import org.photonvision.vision.frame.provider.FileFrameProvider;
import org.photonvision.vision.opencv.CVMat;
import org.photonvision.vision.opencv.ContourGroupingMode;
import org.photonvision.vision.opencv.ContourIntersectionDirection;
import org.photonvision.vision.target.TargetModel;
import org.photonvision.vision.target.TrackedTarget;
public class SolvePNPTest {

View File

@@ -1,15 +1,15 @@
package org.photonvision.common.vision.processes;
package org.photonvision.vision.processes;
import org.photonvision.common.configuration.CameraConfiguration;
import org.photonvision.common.datatransfer.DataConsumer;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.frame.FrameProvider;
import org.photonvision.common.vision.frame.provider.FileFrameProvider;
import org.photonvision.common.vision.pipeline.CVPipelineResult;
import edu.wpi.cscore.VideoMode;
import java.util.ArrayList;
import java.util.HashMap;
import org.junit.jupiter.api.*;
import org.photonvision.common.configuration.CameraConfiguration;
import org.photonvision.common.datatransfer.DataConsumer;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.frame.FrameProvider;
import org.photonvision.vision.frame.provider.FileFrameProvider;
import org.photonvision.vision.pipeline.CVPipelineResult;
public class VisionModuleManagerTest {

View File

@@ -1,13 +1,13 @@
package org.photonvision.common.vision.processes;
package org.photonvision.vision.processes;
import org.photonvision.common.configuration.CameraConfiguration;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.vision.camera.USBCameraSource;
import edu.wpi.cscore.UsbCameraInfo;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.photonvision.common.configuration.CameraConfiguration;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.camera.USBCameraSource;
public class VisionSourceManagerTest {
@BeforeEach

View File

@@ -1,11 +1,11 @@
package org.photonvision.common.vision.target;
package org.photonvision.vision.target;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.photonvision.common.util.TestUtils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.opencv.core.*;
import org.photonvision.common.util.TestUtils;
public class TargetCalculationsTest {

View File

@@ -1,10 +1,7 @@
package org.photonvision.common.vision.target;
package org.photonvision.vision.target;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.util.numbers.DoubleCouple;
import org.photonvision.common.vision.opencv.Contour;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -12,6 +9,9 @@ import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.photonvision.common.util.TestUtils;
import org.photonvision.common.util.numbers.DoubleCouple;
import org.photonvision.vision.opencv.Contour;
public class TrackedTargetTest {
@BeforeEach