docs: private List<Integer>[] getRobustPointList(double[][] spectrogramData) {
  
          int numX = spectrogramData.length;
          int numY = spectrogramData[0].length;
  
          double[][] allBanksIntensities = new double[numX][numY];
          int bandwidthPerBank = numY / numFilterBanks;
  
          for (int b = 0; b < numFilterBanks; b++) {
  
              double[][] bankIntensities = new double[numX][bandwidthPerBank];
  
              for (int i = 0; i < numX; i++) {
                  System.arraycopy(spectrogramData[i], b * bandwidthPerBank, bankIntensities[i], 0, bandwidthPerBank);
              }
  
              // get the most robust point in each filter bank
              TopManyPointsProcessorChain processorChain = new TopManyPointsProcessorChain(bankIntensities, 1);
              double[][] processedIntensities = processorChain.getIntensities();
  
              for (int i = 0; i < numX; i++) {
                  System.arraycopy(processedIntensities[i], 0, allBanksIntensities[i], b * bandwidthPerBank,
                                  bandwidthPerBank);
              }
          }
  
          List<int[]> robustPointList = new LinkedList<int[]>();
  
          // find robust points
          for (int i = 0; i < allBanksIntensities.length; i++) {
              for (int j = 0; j < allBanksIntensities[i].length; j++) {
                  if (allBanksIntensities[i][j] > 0) {
  
                      int[] point = new int[] {i, j};
                      //System.out.println(i+","+frequency);
                      robustPointList.add(point);
                  }
              }
          }
          // end find robust points
  
          List<Integer>[] robustLists = new LinkedList[spectrogramData.length];
          for (int i = 0; i < robustLists.length; i++) {
              robustLists[i] = new LinkedList<>();
          }
  
          // robustLists[x]=y1,y2,y3,...
          for (int[] coor : robustPointList) {
              robustLists[coor[0]].add(coor[1]);
          }
  
          // return the list per frame
          return robustLists;
      }