static L pixelsByDescendingBrightness(IBWImage image) { float[] data = image.toFloatArray(); int n = l(data); int[] indices = new[n]; for i to n: indices[i] = i; timSortIntArrayWithComparator(indices, (i, j) -> data[i] > data[j]); ret listFromFunction(n, i -> ptFromPixelIndex(indices[i])); }