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