Esempio n. 1
0
        public void AlignPCAToOriginAxes()
        {
            this.pointCloudSource = new PointCloud(pathUnitTests + "\\KinectFace_1_15000.obj");


            pointCloudResult = PCA.RotateToOriginAxes(pointCloudSource);


            //-----------Show in Window
            if (UIMode)
            {
                Show4PointCloudsInWindow(true);
                //ShowResultsInWindow_Cube(true);
            }

            expectedResultCloud.AddVector(new Vector3(1, 0, 0));
            expectedResultCloud.AddVector(new Vector3(0, 1, 0));
            expectedResultCloud.AddVector(new Vector3(0, 0, 1));

            //----------------check Result
            double executionTime = Performance_Stop("Execution Time");

            Assert.IsTrue(executionTime < 0.4);//on i7 6700 (3.4 GHz, 8 cores)
            Assert.IsTrue(PointCloud.CheckCloudAbs(expectedResultCloud, pointCloudResult.PCAAxesNormalized, this.threshold));
        }
Esempio n. 2
0
        public void ShowAxes_AlignedToOriginAxes()
        {
            pointCloudSource = new PointCloud(pathUnitTests + "\\KinectFace_1_15000.obj");

            //PointCloud.ResizeVerticesTo1(pointCloudSource);
            pca.PCA_OfPointCloud(pointCloudSource);
            this.pointCloudResult = PCA.RotateToOriginAxes(pointCloudSource);


            //-----------Show in Window
            if (UIMode)
            {
                this.ShowPointCloud(pointCloudSource);
            }

            //----------------check Result

            expectedResultCloud.AddVector(new Vector3(1, 0, 0));
            expectedResultCloud.AddVector(new Vector3(0, 1, 0));
            expectedResultCloud.AddVector(new Vector3(0, 0, 1));

            double executionTime = Performance_Stop("Execution Time");//on i3_2121 (3.3 GHz)

            Assert.IsTrue(executionTime < 0.3);

            Assert.IsTrue(PointCloud.CheckCloudAbs(expectedResultCloud, pointCloudResult.PCAAxesNormalized, this.threshold));
        }
Esempio n. 3
0
        public void AlignPCAToOriginAxes_SecondCloud()
        {
            this.pointCloudSource = new PointCloud(pathUnitTests + "\\KinectFace_2_15000.obj");


            pointCloudResult = PCA.RotateToOriginAxes(pointCloudSource);


            //-----------Show in Window
            if (UIMode)
            {
                Show4PointCloudsInWindow(true);
                //ShowResultsInWindow_Cube(true);
            }

            expectedResultCloud.AddVector(new Vector3(1, 0, 0));
            expectedResultCloud.AddVector(new Vector3(0, 1, 0));
            expectedResultCloud.AddVector(new Vector3(0, 0, 1));

            //----------------check Result
            double executionTime = Performance_Stop("Execution Time");//on i3_2121 (3.3 GHz)

            //bool condition = true;
            Assert.LessOrEqual(executionTime, 0.25);
            Assert.IsTrue(PointCloud.CheckCloudAbs(expectedResultCloud, pointCloudResult.PCAAxesNormalized, this.threshold));
        }
Esempio n. 4
0
        public void AlignPCAToOriginAxes()
        {
            CreateRectangle();
            PointCloud.RotateDegrees(pointCloudSource, 0, 0, -45);

            pointCloudTarget = null;

            pointCloudResult = PCA.RotateToOriginAxes(pointCloudSource);



            //-----------Show in Window
            if (UIMode)
            {
                //Show4PointCloudsInWindow(true);
                ShowResultsInWindow_Cube(true);
            }
            expectedResultCloud.AddVector(new Vector3(1, 0, 0));
            expectedResultCloud.AddVector(new Vector3(0, 1, 0));
            expectedResultCloud.AddVector(new Vector3(0, 0, 0));

            //----------------check Result

            Assert.IsTrue(PointCloud.CheckCloudAbs(expectedResultCloud, pointCloudResult.PCAAxesNormalized, this.threshold));

            //----------------check Result
        }