docs: void findHistogramPeaks() {
  		// reset data structures
  		peaks.reset();
  		angles.reset();
  		peakAngle = 0;
  
  		// identify peaks and find the highest peak
  		double largest = 0;
  		int largestIndex = -1;
  		double before = histogramMag[ histogramMag.length-2 ];
  		double current = histogramMag[ histogramMag.length-1 ];
  		for(int i = 0; i < histogramMag.length; i++ ) {
  			double after = histogramMag[ i ];
  
  			if( current > before && current > after ) {
  				int currentIndex = CircularIndex.addOffset(i,-1,histogramMag.length);
  				peaks.push(currentIndex);
  				if( current > largest ) {
  					largest = current;
  					largestIndex = currentIndex;
  				}
  			}
  			before = current;
  			current = after;
  		}
  
  		if( largestIndex < 0 )
  			return;
  
  		// see if any of the other peaks are within 80% of the max peak
  		double threshold = largest*0.8;
  		for( int i = 0; i < peaks.size; i++ ) {
  			int index = peaks.data[i];
  			current = histogramMag[index];
  			if( current >= threshold) {
  				double angle = computeAngle(index);
  
  				angles.push( angle );
  
  				if( index == largestIndex )
  					peakAngle = angle;
  			}
  		}
  	}