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; }
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; }
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); }
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; } } }