I'm experimenting with replacing greyscale/colormapped 2D spectrograms
with a 3D representation.
I've found that I can usefully ignore any point below 90th to 95th
percentile(effectively an application of the 90 10 rule).
For each dataset I have to calculate the amplitude associated with the
chosen percentile.
Initially I used brute force. I stuffed my NxM array into a N*M vector
which I sorted with Scilab's sort(). I then chose the data value at
..9*M*N as my threshold. This worked until other ****tions of my program
improved enough to examine really large data sets. Scilab was running
out of stack space an run times were becoming annoying.
My input arrays are beginning to approach 1000x1000 16 bit values.
Data is scaled so that maximum = 1.0
Widest useful dynamic range appears to be ~1000:1
Suggestions on estimating, rather than calculating, the value of the
90th percentile. I would guess something from image processing would be
useful, but I don't know appropriate search term(s).
TIA