private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                Utilities.FrequencyRange frequencyRange = Utilities.GetFrequencyRangeFromFrequency(mainForm.userSelectedFrequencyForAnalysis);

                mainForm.ZoomGraphsToFrequency((long)frequencyRange.lower, (long)frequencyRange.upper);
            }
        }
Example #2
0
        public TransitionGradient GetTransitionsGradientForFrequency(long frequency)
        {
            Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(frequency, frequency, parent.lowerFrequency, mainForm.binSize);

            double[] transitionsStrengthArray = GetAveragedStrengthOverTimeForIndex((long)frequencyRange.lower);

            Gradient gradient = SignalDataUtilities.SeriesTransitionGradient(transitionsStrengthArray, Gradient.divisionsCount);


            return(new TransitionGradient(Utilities.GetFrequencyFromIndex((long)frequencyRange.lower, parent.lowerFrequency, mainForm.binSize), (long)frequencyRange.lower, gradient.CalculateTransitionGradient(), this.transitions, gradient));
        }
Example #3
0
        public double[] GetStrengthOverTimeForFrequencyRange(long lowerFrequency, long upperFrequency)
        {
            Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(lowerFrequency, upperFrequency, parent.lowerFrequency, mainForm.binSize);

            return(GetStrengthOverTimeForRange((long)frequencyRange.lower, (long)frequencyRange.upper));

            /*////if (bufferFramesArray.Count > 0)
             * {
             *  double[] values = new double[bufferFramesArray.Count];
             *
             *  double totalStrengthValue;
             *
             *  Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(lowerFrequency, upperFrequency, parent.lowerFrequency, mainForm.binSize);
             *
             *  int i = startBufferIndex;
             *
             *  int k = 0;
             *  while (i != currentBufferIndex + 1)
             *  {
             *      totalStrengthValue = 0;
             *
             *      for (long j = (long) frequencyRange.lower; j < (long) frequencyRange.upper; j++)
             *      {
             *          totalStrengthValue += bufferFramesArray[i].bufferArray[j];
             *      }
             *
             *      totalStrengthValue /= (frequencyRange.upper - frequencyRange.lower);
             *
             *      totalStrengthValue /= transitions;
             *
             *      totalStrengthValue = Math.Round(totalStrengthValue);
             *
             *      values[k++] = totalStrengthValue;
             *
             *      i++;
             *
             *      if (i > bufferFramesArray.Count)
             *          i = 0;
             *  }
             *
             *  return values;
             * }
             *
             * return null;
             */
        }
Example #4
0
        public bool EvaluateWhetherReradiatedFrequency(long frequency)
        {
            Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(frequency, frequency, parent.lowerFrequency, parent.binSize);

            uint successCount = 0;

            for (int i = 0; i < gradients.Count; i++)
            {
                if (gradients[i].gradientArray[(long)frequencyRange.lower].strength >= BufferFrames.minStrengthForRankings[0])
                {
                    successCount++;
                }
            }

            if (((float)successCount / gradients.Count * 100) >= Math.Max(BufferFrames.MIN_TRANSITION_SUCCESS_PERCENTAGE_LOWER, MIN_TRANSITION_SUCCESS_PERCENTAGE_UPPER - gradients.Count))
            {
                ////if (((float)successCount / gradients.Count * 100) >= Math.Max(51, MIN_TRANSITION_SUCCESS_PERCENTAGE_UPPER - gradients.Count))
                return(true);
            }

            return(false);
        }
Example #5
0
        public static int FrequencyInSignals(long frequency, long strongestRange, List <InterestingSignal> signals, bool useRange = false, double tolerance = 10000)
        {
            int    closestIndex = -1;
            double minDif = Double.NaN, dif;

            Utilities.FrequencyRange frequencyRange = Utilities.GetFrequencyRangeFromFrequency(frequency);

            if (strongestRange == -1)
            {
                strongestRange = signals.Count;
            }

            for (int i = 0; i < signals.Count && i < strongestRange; i++)
            {
                if (!useRange)
                {
                    dif = Math.Abs(signals[i].frequency - frequency);

                    if (dif < tolerance)
                    {
                        if ((dif < minDif || Double.IsNaN(minDif)) && signals[i].frequency >= frequencyRange.lower && signals[i].frequency <= frequencyRange.upper)
                        {
                            minDif       = dif;
                            closestIndex = i;
                        }
                    }
                }
                else
                {
                    if (frequency >= signals[i].lowerFrequency && frequency <= signals[i].upperFrequency)
                    {
                        return(i);
                    }
                }
            }

            return(closestIndex);
        }
Example #6
0
        public TransitionGradient GetTransitionsGradient()
        {
            if (bufferFramesArray.Count > 0)
            {
                Gradient gradient;

                double[] transitionsStrengthArray;

                TransitionGradient transitionGradient;

                transitionsStrengthArray = GetAveragedStrengthOverTimeForRange(0, bufferFramesArray[0].bufferArray.Length);
                gradient = SignalDataUtilities.SeriesTransitionGradient(transitionsStrengthArray, Gradient.divisionsCount);

                double gradientStrength = gradient.CalculateTransitionGradient();

                long index = bufferFramesArray[0].bufferArray.Length / 2;

                long frequency = Utilities.GetFrequencyFromIndex((long)(index), parent.lowerFrequency, mainForm.binSize);


                BufferFramesObject zoomedOutBufferObject = mainForm.bufferFramesArray.GetBufferFramesObject(0);

                Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(frequency, frequency, zoomedOutBufferObject.lowerFrequency, zoomedOutBufferObject.binSize);


                long width = bufferFramesArray[0].bufferArray.Length / 2;


                ////transitionGradient = new TransitionGradient(frequency, (long) frequencyRange.lower, gradientStrength, this.transitions,gradient,width, Utilities.GetFrequencyFromIndex((long)(index-width), parent.lowerFrequency, mainForm.binSize), Utilities.GetFrequencyFromIndex((long)(index+width), parent.lowerFrequency, mainForm.binSize));

                transitionGradient = new TransitionGradient(frequency, index, gradientStrength, this.transitions, gradient, width, Utilities.GetFrequencyFromIndex((long)(index - width), parent.lowerFrequency, mainForm.binSize), Utilities.GetFrequencyFromIndex((long)(index + width), parent.lowerFrequency, mainForm.binSize));

                return(transitionGradient);
            }

            return(null);
        }
Example #7
0
        public double[] GetStrengthOverTimeForFrequency(long frequency)
        {
            Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(frequency, frequency, parent.lowerFrequency, mainForm.binSize);

            return(GetStrengthOverTimeForIndex((long)frequencyRange.lower));
        }
        public double GetAverageNumberOfFramesForFrequencyRegion(long lowerFrequency, long upperFrequency, long dataLowerFrequency, double binFrequencySize)
        {
            Utilities.FrequencyRange frequencyRange = Utilities.GetIndicesForFrequencyRange(lowerFrequency, upperFrequency, dataLowerFrequency, binFrequencySize);

            return(GetAverageNumberOfFramesForFrequencyRegion((long)frequencyRange.lower, (long)frequencyRange.upper));
        }