Exemple #1
0
        /// <summary>
        /// Add a blank Correlation data set to
        /// the given ensemble.  This will use the number
        /// of bins and beams given to create the Correlation array.
        /// The array will be empty.
        /// </summary>
        /// <param name="ensemble">Ensemble to add the dataset.</param>
        /// <param name="numBins">Number of bins.</param>
        /// <param name="numBeams">Number of beams.</param>
        public static void AddCorrelation(ref DataSet.Ensemble ensemble, int numBins, int numBeams = DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM)
        {
            // Check for null
            if (ensemble == null)
            {
                return;
            }

            // Add a blank Correlation Data set
            ensemble.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                // Type of data stored (Float or Int)
                                        numBins,                                        // Number of bins
                                        numBeams,                                       // Number of beams
                                        DataSet.Ensemble.DEFAULT_IMAG,                  // Default Image
                                        DataSet.Ensemble.DEFAULT_NAME_LENGTH,           // Default Image length
                                        DataSet.Ensemble.CorrelationID);                // Dataset ID
        }
        public void TestEmptyConstructor()
        {
            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            // Add Sentence to data set
            adcpData.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                   // Type of data stored (Float or Int)
                                        30,                                                // Number of bins
                                        4,                                                 // Number of beams
                                        DataSet.Ensemble.DEFAULT_IMAG,                     // Default Image
                                        DataSet.Ensemble.DEFAULT_NAME_LENGTH,              // Default Image length
                                        DataSet.Ensemble.CorrelationID);                   // Dataset ID

            Assert.IsTrue(adcpData.IsCorrelationAvail, "IsCorrelation is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DATATYPE_FLOAT, adcpData.CorrelationData.ValueType, "DataType is incorrect.");
            Assert.AreEqual(30, adcpData.CorrelationData.NumElements, "Number of Elements is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, adcpData.CorrelationData.ElementsMultiplier, "Element Multiplies are incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_IMAG, adcpData.CorrelationData.Imag, "Imag is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NAME_LENGTH, adcpData.CorrelationData.NameLength, "Name length is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.CorrelationID, adcpData.CorrelationData.Name, "Name is incorrect.");

            Assert.AreEqual(adcpData.CorrelationData.CorrelationData.GetLength(0), 30, "Correlation Array Dimension 1 is incorrect.");
            Assert.AreEqual(adcpData.CorrelationData.CorrelationData.GetLength(1), DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, "Correlation Array Dimension 2 is incorrect.");
        }
        public void TestEncodeDecode()
        {
            // Create dataset
            DataSet.Ensemble ensemble = new DataSet.Ensemble();

            // Add Sentence to data set
            ensemble.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                   // Type of data stored (Float or Int)
                                        30,                                                // Number of bins
                                        4,                                                 // Number of beams
                                        DataSet.Ensemble.DEFAULT_IMAG,                     // Default Image
                                        DataSet.Ensemble.DEFAULT_NAME_LENGTH,              // Default Image length
                                        DataSet.Ensemble.CorrelationID);                   // Dataset ID

            Assert.IsTrue(ensemble.IsCorrelationAvail, "IsCorrelation is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DATATYPE_FLOAT, ensemble.CorrelationData.ValueType, "DataType is incorrect.");
            Assert.AreEqual(30, ensemble.CorrelationData.NumElements, "Number of Elements is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, ensemble.CorrelationData.ElementsMultiplier, "Element Multiplies are incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_IMAG, ensemble.CorrelationData.Imag, "Imag is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NAME_LENGTH, ensemble.CorrelationData.NameLength, "Name length is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.CorrelationID, ensemble.CorrelationData.Name, "Name is incorrect.");

            Assert.AreEqual(ensemble.CorrelationData.CorrelationData.GetLength(0), 30, "Correlation Array Dimension 1 is incorrect.");
            Assert.AreEqual(ensemble.CorrelationData.CorrelationData.GetLength(1), DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, "Correlation Array Dimension 2 is incorrect.");

            // Modify the array
            ensemble.CorrelationData.CorrelationData[0, 0] = 2.3f;
            ensemble.CorrelationData.CorrelationData[0, 1] = 3.4f;
            ensemble.CorrelationData.CorrelationData[0, 2] = 4.5f;
            ensemble.CorrelationData.CorrelationData[0, 3] = 5.6f;
            ensemble.CorrelationData.CorrelationData[1, 0] = 6.7f;
            ensemble.CorrelationData.CorrelationData[1, 1] = 7.8f;
            ensemble.CorrelationData.CorrelationData[1, 2] = 8.9f;
            ensemble.CorrelationData.CorrelationData[1, 3] = 9.10f;
            ensemble.CorrelationData.CorrelationData[2, 0] = 10.11f;
            ensemble.CorrelationData.CorrelationData[2, 1] = 11.12f;
            ensemble.CorrelationData.CorrelationData[2, 2] = 12.13f;

            // Encode the data
            byte[] encode = ensemble.CorrelationData.Encode();


            // Create dataset
            DataSet.Ensemble ens0 = new DataSet.Ensemble();

            // Add Sentence to data set
            ens0.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                        // Type of data stored (Float or Int)
                                    30,                                                     // Number of bins
                                    DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM,                // Number of beams
                                    DataSet.Ensemble.DEFAULT_IMAG,                          // Default Image
                                    DataSet.Ensemble.DEFAULT_NAME_LENGTH,                   // Default Image length
                                    DataSet.Ensemble.CorrelationID,                         // Dataset ID
                                    encode);                                                // Encoded data

            Assert.IsTrue(ens0.IsCorrelationAvail, "IsCorrelation is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DATATYPE_FLOAT, ens0.CorrelationData.ValueType, "DataType is incorrect.");
            Assert.AreEqual(30, ens0.CorrelationData.NumElements, "Number of Elements is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, ens0.CorrelationData.ElementsMultiplier, "Element Multiplies are incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_IMAG, ens0.CorrelationData.Imag, "Imag is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NAME_LENGTH, ens0.CorrelationData.NameLength, "Name length is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.CorrelationID, ens0.CorrelationData.Name, "Name is incorrect.");

            Assert.AreEqual(ens0.CorrelationData.CorrelationData.GetLength(0), 30, "Correlation Array Dimension 1 is incorrect.");
            Assert.AreEqual(ens0.CorrelationData.CorrelationData.GetLength(1), DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, "Correlation Array Dimension 2 is incorrect.");

            Assert.AreEqual(2.3f, ens0.CorrelationData.CorrelationData[0, 0], "0,0 Data is incorrect.");
            Assert.AreEqual(3.4f, ens0.CorrelationData.CorrelationData[0, 1], "0,1 Data is incorrect.");
            Assert.AreEqual(4.5f, ens0.CorrelationData.CorrelationData[0, 2], "0,2 Data is incorrect.");
            Assert.AreEqual(5.6f, ens0.CorrelationData.CorrelationData[0, 3], "0,3 Data is incorrect.");
            Assert.AreEqual(6.7f, ens0.CorrelationData.CorrelationData[1, 0], "1,0 Data is incorrect.");
            Assert.AreEqual(7.8f, ens0.CorrelationData.CorrelationData[1, 1], "1,1 Data is incorrect.");
            Assert.AreEqual(8.9f, ens0.CorrelationData.CorrelationData[1, 2], "1,2 Data is incorrect.");
            Assert.AreEqual(9.10f, ens0.CorrelationData.CorrelationData[1, 3], "1,3 Data is incorrect.");
            Assert.AreEqual(10.11f, ens0.CorrelationData.CorrelationData[2, 0], "2,0 Data is incorrect.");
            Assert.AreEqual(11.12f, ens0.CorrelationData.CorrelationData[2, 1], "2,1 Data is incorrect.");
            Assert.AreEqual(12.13f, ens0.CorrelationData.CorrelationData[2, 2], "2,2 Data is incorrect.");
        }
        public void TestEmptyConstructor()
        {
            // Create dataset
            DataSet.Ensemble adcpData = new DataSet.Ensemble();

            // Add Sentence to data set
            adcpData.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                    // Type of data stored (Float or Int)
                                            30,                                             // Number of bins
                                            4,                                              // Number of beams
                                            DataSet.Ensemble.DEFAULT_IMAG,                  // Default Image
                                            DataSet.Ensemble.DEFAULT_NAME_LENGTH,           // Default Image length
                                            DataSet.Ensemble.CorrelationID);               // Dataset ID

            Assert.IsTrue(adcpData.IsCorrelationAvail, "IsCorrelation is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DATATYPE_FLOAT, adcpData.CorrelationData.ValueType, "DataType is incorrect.");
            Assert.AreEqual(30, adcpData.CorrelationData.NumElements, "Number of Elements is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, adcpData.CorrelationData.ElementsMultiplier, "Element Multiplies are incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_IMAG, adcpData.CorrelationData.Imag, "Imag is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NAME_LENGTH, adcpData.CorrelationData.NameLength, "Name length is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.CorrelationID, adcpData.CorrelationData.Name, "Name is incorrect.");

            Assert.AreEqual(adcpData.CorrelationData.CorrelationData.GetLength(0), 30, "Correlation Array Dimension 1 is incorrect.");
            Assert.AreEqual(adcpData.CorrelationData.CorrelationData.GetLength(1), DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, "Correlation Array Dimension 2 is incorrect.");
        }
        public void TestEncodeDecode()
        {
            // Create dataset
            DataSet.Ensemble ensemble = new DataSet.Ensemble();

            // Add Sentence to data set
            ensemble.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                    // Type of data stored (Float or Int)
                                            30,                                             // Number of bins
                                            4,                                              // Number of beams
                                            DataSet.Ensemble.DEFAULT_IMAG,                  // Default Image
                                            DataSet.Ensemble.DEFAULT_NAME_LENGTH,           // Default Image length
                                            DataSet.Ensemble.CorrelationID);               // Dataset ID

            Assert.IsTrue(ensemble.IsCorrelationAvail, "IsCorrelation is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DATATYPE_FLOAT, ensemble.CorrelationData.ValueType, "DataType is incorrect.");
            Assert.AreEqual(30, ensemble.CorrelationData.NumElements, "Number of Elements is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, ensemble.CorrelationData.ElementsMultiplier, "Element Multiplies are incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_IMAG, ensemble.CorrelationData.Imag, "Imag is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NAME_LENGTH, ensemble.CorrelationData.NameLength, "Name length is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.CorrelationID, ensemble.CorrelationData.Name, "Name is incorrect.");

            Assert.AreEqual(ensemble.CorrelationData.CorrelationData.GetLength(0), 30, "Correlation Array Dimension 1 is incorrect.");
            Assert.AreEqual(ensemble.CorrelationData.CorrelationData.GetLength(1), DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, "Correlation Array Dimension 2 is incorrect.");

            // Modify the array
            ensemble.CorrelationData.CorrelationData[0, 0] = 2.3f;
            ensemble.CorrelationData.CorrelationData[0, 1] = 3.4f;
            ensemble.CorrelationData.CorrelationData[0, 2] = 4.5f;
            ensemble.CorrelationData.CorrelationData[0, 3] = 5.6f;
            ensemble.CorrelationData.CorrelationData[1, 0] = 6.7f;
            ensemble.CorrelationData.CorrelationData[1, 1] = 7.8f;
            ensemble.CorrelationData.CorrelationData[1, 2] = 8.9f;
            ensemble.CorrelationData.CorrelationData[1, 3] = 9.10f;
            ensemble.CorrelationData.CorrelationData[2, 0] = 10.11f;
            ensemble.CorrelationData.CorrelationData[2, 1] = 11.12f;
            ensemble.CorrelationData.CorrelationData[2, 2] = 12.13f;

            // Encode the data
            byte[] encode = ensemble.CorrelationData.Encode();

            // Create dataset
            DataSet.Ensemble ens0 = new DataSet.Ensemble();

            // Add Sentence to data set
            ens0.AddCorrelationData(DataSet.Ensemble.DATATYPE_FLOAT,                        // Type of data stored (Float or Int)
                                            30,                                             // Number of bins
                                            DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM,        // Number of beams
                                            DataSet.Ensemble.DEFAULT_IMAG,                  // Default Image
                                            DataSet.Ensemble.DEFAULT_NAME_LENGTH,           // Default Image length
                                            DataSet.Ensemble.CorrelationID,                 // Dataset ID
                                            encode);                                        // Encoded data

            Assert.IsTrue(ens0.IsCorrelationAvail, "IsCorrelation is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DATATYPE_FLOAT, ens0.CorrelationData.ValueType, "DataType is incorrect.");
            Assert.AreEqual(30, ens0.CorrelationData.NumElements, "Number of Elements is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, ens0.CorrelationData.ElementsMultiplier, "Element Multiplies are incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_IMAG, ens0.CorrelationData.Imag, "Imag is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.DEFAULT_NAME_LENGTH, ens0.CorrelationData.NameLength, "Name length is incorrect.");
            Assert.AreEqual(DataSet.Ensemble.CorrelationID, ens0.CorrelationData.Name, "Name is incorrect.");

            Assert.AreEqual(ens0.CorrelationData.CorrelationData.GetLength(0), 30, "Correlation Array Dimension 1 is incorrect.");
            Assert.AreEqual(ens0.CorrelationData.CorrelationData.GetLength(1), DataSet.Ensemble.DEFAULT_NUM_BEAMS_BEAM, "Correlation Array Dimension 2 is incorrect.");

            Assert.AreEqual(2.3f, ens0.CorrelationData.CorrelationData[0, 0], "0,0 Data is incorrect.");
            Assert.AreEqual(3.4f, ens0.CorrelationData.CorrelationData[0, 1], "0,1 Data is incorrect.");
            Assert.AreEqual(4.5f, ens0.CorrelationData.CorrelationData[0, 2], "0,2 Data is incorrect.");
            Assert.AreEqual(5.6f, ens0.CorrelationData.CorrelationData[0, 3], "0,3 Data is incorrect.");
            Assert.AreEqual(6.7f, ens0.CorrelationData.CorrelationData[1, 0], "1,0 Data is incorrect.");
            Assert.AreEqual(7.8f, ens0.CorrelationData.CorrelationData[1, 1], "1,1 Data is incorrect.");
            Assert.AreEqual(8.9f, ens0.CorrelationData.CorrelationData[1, 2], "1,2 Data is incorrect.");
            Assert.AreEqual(9.10f, ens0.CorrelationData.CorrelationData[1, 3], "1,3 Data is incorrect.");
            Assert.AreEqual(10.11f, ens0.CorrelationData.CorrelationData[2, 0], "2,0 Data is incorrect.");
            Assert.AreEqual(11.12f, ens0.CorrelationData.CorrelationData[2, 1], "2,1 Data is incorrect.");
            Assert.AreEqual(12.13f, ens0.CorrelationData.CorrelationData[2, 2], "2,2 Data is incorrect.");
        }