Example #1
0
        public void HeadingOffset()
        {
            // Clone the current ensemble
            RTI.DataSet.Ensemble ensemble2 = ensemble1.Clone();

            // Set the Correlation Data
            // 4 Beams, 5 Bins
            for (int binNum = 0; binNum < 5; binNum++)
            {
                for (int beamNum = 0; beamNum < 4; beamNum++)
                {
                    ensemble2.CorrelationData.CorrelationData[binNum, beamNum] = 25.6f;
                }
            }

            Assert.IsTrue(ensemble2.IsInstrumentVelocityAvail);
            Assert.IsTrue(ensemble2.IsCorrelationAvail);

            // Give a heading offset
            VesselMountOptions vmOptions = new VesselMountOptions();

            vmOptions.HeadingOffsetMag = 10.0f;
            RTI.VesselMount.VmHeadingOffset.HeadingOffset(ref ensemble2, vmOptions);

            //float correlationThreshold = 25.0f;
            // Transform the data
            //Transform.ProfileTransform(ref ensemble2, AdcpCodec.CodecEnum.Binary, correlationThreshold, Transform.HeadingSource.ADCP, 0, 0);

            // Check new heading value
            Assert.AreEqual(20.2, ensemble2.AncillaryData.Heading, 0.01f);

            // Check the Instrument Velocity Data
            // 4 Beams, 5 Bins
            Assert.AreEqual(0.29238f, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 0], 0.001);
            Assert.AreEqual(1.16952, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 1], 0.001);
            Assert.AreEqual(-1.862311, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 2], 0.001);
            Assert.AreEqual(-0.45, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 3], 0.001);

            Assert.AreEqual(4.6780, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 0], 0.001);
            Assert.AreEqual(18.71234, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 1], 0.001);
            Assert.AreEqual(-13.8343, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 2], 0.001);
            Assert.AreEqual(-7.2, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 3], 0.001);

            // Check the Earth Velocity Data
            // 4 Beams, 5 Bins
            Assert.AreEqual(-1.04946, ensemble2.EarthVelocityData.EarthVelocityData[0, 0], 0.001);
            Assert.AreEqual(0.732099, ensemble2.EarthVelocityData.EarthVelocityData[0, 1], 0.001);
            Assert.AreEqual(-1.81222, ensemble2.EarthVelocityData.EarthVelocityData[0, 2], 0.001);
            Assert.AreEqual(-0.45, ensemble2.EarthVelocityData.EarthVelocityData[0, 3], 0.001);

            Assert.AreEqual(-16.334524, ensemble2.EarthVelocityData.EarthVelocityData[1, 0], 0.001);
            Assert.AreEqual(11.242907, ensemble2.EarthVelocityData.EarthVelocityData[1, 1], 0.001);
            Assert.AreEqual(-13.04626, ensemble2.EarthVelocityData.EarthVelocityData[1, 2], 0.001);
            Assert.AreEqual(-7.2, ensemble2.EarthVelocityData.EarthVelocityData[1, 3], 0.001);

            // All error velocities should be the same between instrument and earth velocity
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[2, 3], ensemble2.EarthVelocityData.EarthVelocityData[2, 3], 0.001);
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[3, 3], ensemble2.EarthVelocityData.EarthVelocityData[3, 3], 0.001);
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[4, 3], ensemble2.EarthVelocityData.EarthVelocityData[4, 3], 0.001);
        }
        public void Setup()
        {
            // Create the ensemble
            ensemble1 = EnsembleHelper.GenerateEnsemble(5, 4, true);

            ensemble1.EnsembleData.EnsembleNumber = 12;
        }
Example #3
0
        public void TiltOffsetPitchAndRoll()
        {
            // Clone the current ensemble
            RTI.DataSet.Ensemble ensemble2 = ensemble1.Clone();

            // Set the Correlation Data
            // 4 Beams, 5 Bins
            for (int binNum = 0; binNum < 5; binNum++)
            {
                for (int beamNum = 0; beamNum < 4; beamNum++)
                {
                    ensemble2.CorrelationData.CorrelationData[binNum, beamNum] = 25.6f;
                }
            }

            Assert.IsTrue(ensemble2.IsInstrumentVelocityAvail);
            Assert.IsTrue(ensemble2.IsCorrelationAvail);

            // Give a heading offset
            VesselMountOptions vmOptions = new VesselMountOptions();

            vmOptions.RollOffset  = 10.0f;
            vmOptions.PitchOffset = 10.0f;
            RTI.VesselMount.VmTiltOffset.TiltOffset(ref ensemble2, vmOptions, false);

            float correlationThreshold = 25.0f;

            // Transform the data
            Transform.ProfileTransform(ref ensemble2, AdcpCodec.CodecEnum.Binary, correlationThreshold, Transform.HeadingSource.ADCP, 0, 0);

            // Check new Pitch value
            Assert.AreEqual(12.123, ensemble2.AncillaryData.Roll, 0.01f);

            // Check the Instrument Velocity Data
            // 4 Beams, 5 Bins
            Assert.AreEqual(0.29238f, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 0], 0.001);
            Assert.AreEqual(1.16952, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 1], 0.001);
            Assert.AreEqual(-1.862311, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 2], 0.001);
            Assert.AreEqual(-0.45, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 3], 0.001);

            Assert.AreEqual(4.6780, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 0], 0.001);
            Assert.AreEqual(18.71234, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 1], 0.001);
            Assert.AreEqual(-13.8343, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 2], 0.001);
            Assert.AreEqual(-7.2, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 3], 0.001);

            // Check the Earth Velocity Data
            // 4 Beams, 5 Bins
            Assert.AreEqual(-1.40615, ensemble2.EarthVelocityData.EarthVelocityData[0, 0], 0.001);
            Assert.AreEqual(0.850535, ensemble2.EarthVelocityData.EarthVelocityData[0, 1], 0.001);
            Assert.AreEqual(-1.49023, ensemble2.EarthVelocityData.EarthVelocityData[0, 2], 0.001);
            Assert.AreEqual(-0.45, ensemble2.EarthVelocityData.EarthVelocityData[0, 3], 0.001);

            // All error velocities should be the same between instrument and earth velocity
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[2, 3], ensemble2.EarthVelocityData.EarthVelocityData[2, 3], 0.001);
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[3, 3], ensemble2.EarthVelocityData.EarthVelocityData[3, 3], 0.001);
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[4, 3], ensemble2.EarthVelocityData.EarthVelocityData[4, 3], 0.001);
        }
 public void Setup()
 {
     // Create the ensemble
     // 4 Beams, 5 Bins
     ensemble1 = EnsembleHelper.GenerateEnsemble(5, 4, true);
     ensemble1.EnsembleData.EnsembleNumber   = 12;
     ensemble1.AncillaryData.Heading         = 10.2f;
     ensemble1.AncillaryData.TransducerDepth = 5.5f;
 }
 public void Setup()
 {
     // Create the ensemble
     // 4 Beams, 5 Bins
     ensemble1 = EnsembleHelper.GenerateEnsemble(5, 4, true);
     ensemble1.EnsembleData.EnsembleNumber = 12;
     ensemble1.AncillaryData.Heading       = 10.2f;
     ensemble1.AncillaryData.Pitch         = 1.02f;
     ensemble1.AncillaryData.Roll          = 2.123f;
 }
Example #6
0
        public void TransformCorrelationSetValue()
        {
            float correlationThreshold = 25.0f;

            // Clone the current ensemble
            RTI.DataSet.Ensemble ensemble2 = ensemble1.Clone();

            // Set the Correlation Data
            // 4 Beams, 5 Bins
            for (int binNum = 0; binNum < 5; binNum++)
            {
                for (int beamNum = 0; beamNum < 4; beamNum++)
                {
                    ensemble2.CorrelationData.CorrelationData[binNum, beamNum] = correlationThreshold + 1.0f;
                }
            }

            Assert.IsTrue(ensemble2.IsInstrumentVelocityAvail);
            Assert.IsTrue(ensemble2.IsCorrelationAvail);

            // Transform the data
            Transform.ProfileTransform(ref ensemble2, AdcpCodec.CodecEnum.Binary, correlationThreshold, Transform.HeadingSource.ADCP, 0, 0);

            // Check the Instrument Velocity Data
            // 4 Beams, 5 Bins
            Assert.AreEqual(0.29238f, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 0], 0.001);
            Assert.AreEqual(1.16952, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 1], 0.001);
            Assert.AreEqual(-1.862311, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 2], 0.001);
            Assert.AreEqual(-0.45, ensemble2.InstrumentVelocityData.InstrumentVelocityData[0, 3], 0.001);

            Assert.AreEqual(4.6780, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 0], 0.001);
            Assert.AreEqual(18.71234, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 1], 0.001);
            Assert.AreEqual(-13.8343, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 2], 0.001);
            Assert.AreEqual(-7.2, ensemble2.InstrumentVelocityData.InstrumentVelocityData[1, 3], 0.001);

            // Check the Earth Velocity Data
            // 4 Beams, 5 Bins
            Assert.AreEqual(-1.160649, ensemble2.EarthVelocityData.EarthVelocityData[0, 0], 0.001);
            Assert.AreEqual(0.53873, ensemble2.EarthVelocityData.EarthVelocityData[0, 1], 0.001);
            Assert.AreEqual(-1.812215, ensemble2.EarthVelocityData.EarthVelocityData[0, 2], 0.001);
            Assert.AreEqual(-0.45, ensemble2.EarthVelocityData.EarthVelocityData[0, 3], 0.001);

            Assert.AreEqual(-18.038677, ensemble2.EarthVelocityData.EarthVelocityData[1, 0], 0.001);
            Assert.AreEqual(8.23564, ensemble2.EarthVelocityData.EarthVelocityData[1, 1], 0.001);
            Assert.AreEqual(-13.04626, ensemble2.EarthVelocityData.EarthVelocityData[1, 2], 0.001);
            Assert.AreEqual(-7.2, ensemble2.EarthVelocityData.EarthVelocityData[1, 3], 0.001);

            // All error velocities should be the same between instrument and earth velocity
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[2, 3], ensemble2.EarthVelocityData.EarthVelocityData[2, 3], 0.001);
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[3, 3], ensemble2.EarthVelocityData.EarthVelocityData[3, 3], 0.001);
            Assert.AreEqual(ensemble2.InstrumentVelocityData.InstrumentVelocityData[4, 3], ensemble2.EarthVelocityData.EarthVelocityData[4, 3], 0.001);
        }
        public void TestReplaceSSNoRT()
        {
            RTI.DataSet.Ensemble ensemble2 = ensemble1.Clone();

            // Change Subsystem
            ensemble2.EnsembleData.SubsystemConfig.SubSystem.Code = Subsystem.SUB_300KHZ_VERT_PISTON_C;

            // Add Range Tracking
            bool result = RTI.ScreenData.ReplacePressureVerticalBeam.Replace(ref ensemble2);

            Assert.AreEqual(5.5f, ensemble2.AncillaryData.TransducerDepth, 0.001);
            Assert.AreEqual(false, result);
        }
        public void TestReplaceBadTransducerDepth()
        {
            // Create a new ensemble with 1 beam
            RTI.DataSet.Ensemble ensemble2 = EnsembleHelper.GenerateEnsemble(5, 1, true);

            // Change Subsystem
            ensemble2.EnsembleData.SubsystemConfig.SubSystem.Code = Subsystem.SUB_300KHZ_VERT_PISTON_C;

            // Set the Transducer Depth
            ensemble2.AncillaryData.TransducerDepth = 0.0f;

            // Range Track
            ensemble2.RangeTrackingData.Range[RTI.DataSet.Ensemble.BEAM_0_INDEX] = 3.123f;

            // Add Range Tracking
            bool result = RTI.ScreenData.ReplacePressureVerticalBeam.Replace(ref ensemble2);

            Assert.AreEqual(3.123f, ensemble2.AncillaryData.TransducerDepth, 0.001);
            Assert.AreEqual(true, result);
        }
Example #9
0
        public void Setup()
        {
            // Create the ensemble
            // 4 Beams, 5 Bins
            ensemble1 = EnsembleHelper.GenerateEnsemble(5, 4, true);
            ensemble1.EnsembleData.EnsembleNumber = 12;
            ensemble1.AncillaryData.Heading       = 10.2f;
            ensemble1.AncillaryData.Pitch         = 1.02f;
            ensemble1.AncillaryData.Roll          = 2.123f;

            float beamVel    = 1.00f;
            float beamVelInc = 0.2f;

            // Create the Beam Velocity Data
            // 4 Beams, 5 Bins
            for (int binNum = 0; binNum < 5; binNum++)
            {
                for (int beamNum = 0; beamNum < 4; beamNum++)
                {
                    ensemble1.BeamVelocityData.BeamVelocityData[binNum, beamNum] = beamVel + beamVelInc;
                    beamVelInc *= 2;
                }
            }
        }