//THIS CLASS IS RESPONSIBLE FOR MANIPULATING AN ARRAY OF SENSOR VALUE
        //IT SHALL OPERATE AS FOLLOWS (BASED ON MY SEGMENTATION EXPERIMENTS)
        //1. SHOT BOUNDARY DETECTION APPROACH (I.E. JUST COMPARE ADJACENT READINGS)
        public static void manipulate_relevant_sensor_values(Sensor_Reading[] sensor_vals, int start_index, int end_index, Upload_and_Segment_Images_Thread.DeviceType device_type)
        {
            //NOTE THE START AND END INDEX ... THESE SIGNIFY THE START AND END OF A PARTICULAR CHUNK IN THE ARRAY

            //1. get the list of sensor values
            //NOTE THE START AND END INDEX ... THESE SIGNIFY THE START AND END OF A PARTICULAR CHUNK IN THE ARRAY

            //FIRSTLY STORE THE RAW VALUES TO LOCAL DOUBLE ARRAYS
            double[] original_acc_combined_values = new double[(end_index - start_index) + 1];
            double[] original_acc_x_values = new double[original_acc_combined_values.Length];
            double[] original_pir_values = new double[original_acc_combined_values.Length];

            for (int counter = 0; counter < original_acc_combined_values.Length; counter++)
            {
                original_acc_combined_values[counter] = sensor_vals[start_index + counter].get_raw_acc_combined(device_type);
                original_acc_x_values[counter] = Standard_Calculation.get_signed_int(sensor_vals[start_index + counter].get_acc_x(), device_type);
                original_pir_values[counter] = sensor_vals[start_index + counter].get_pir();
            } //end for (int counter = 0; counter < original_sensor_values.Length; counter++)

            //---------------------------------------------------------------

            //2. perform SDB comparisons on acc_comb and texttiling on acc x
            double[] acc_comb_manipulated_scores, acc_x_manipulated_scores, pir_manipulated_scores;

            //perform SDB comparisons on acc_comb
            acc_comb_manipulated_scores = calculate_sbd_scores(original_acc_combined_values);

            //and TextTiling of block size 2 on the acc_x component
            acc_x_manipulated_scores = calculate_texttiling_scores(original_acc_x_values, 2);

            //and finally the PIR with a block size of 78
            pir_manipulated_scores = calculate_texttiling_scores(original_pir_values, 78);

            //---------------------------------------------------------------

            //3. smooth the values over a window size of just 1 (i.e. 3 readings just taken, ref, and 1 before + 1 after)
            Standard_Calculation.smooth_array_using_median_values(acc_comb_manipulated_scores, 1);
            Standard_Calculation.smooth_array_using_median_values(acc_x_manipulated_scores, 1);
            Standard_Calculation.smooth_array_using_median_values(original_pir_values, 1);

            //---------------------------------------------------------------

            //4. update Sensor_Reading[] array with newly calculated manipulated values
            set_relevant_manipulated_sensor_values(sensor_vals, acc_comb_manipulated_scores, acc_x_manipulated_scores, pir_manipulated_scores, start_index);
        }
        private static void set_relevant_manipulated_sensor_values(Sensor_Reading[] raw_values, double[] newly_calculated_Acc_Comb_Manipulated_Values, double[] newly_calculated_Acc_X_Manipulated_Values, double[] newly_calculated_PIR_Manipulated_Values, int start_index)
        {
            //AGAIN NOTE THE START AND END INDEX...

            for (int counter = 0; counter < newly_calculated_Acc_Comb_Manipulated_Values.Length; counter++)
            {
                raw_values[start_index + counter].set_manipulated_acc_combined(newly_calculated_Acc_Comb_Manipulated_Values[counter]);
                raw_values[start_index + counter].set_manipulated_acc_x(newly_calculated_Acc_X_Manipulated_Values[counter]);
                raw_values[start_index + counter].set_manipulated_pir(newly_calculated_PIR_Manipulated_Values[counter]);
            } //end for (int counter = 0; counter < newly_calculated_Sensor_Manipulated_Values.Length; counter++)
        }