this is used to median filter images in the IRAF package. i don't know if the approach is published anywhere (it's pretty obvious once the idea of keeping points within the window in a sorted tree "clicks"), but frank valdes did test it against other approaches.
the main drawbacks are that the overhead/constant is pretty high, so you need fairly large datasets (more exactly, large windows) for it to be a win, and implementation in old fortran is a pain...
For images and other kernel-based filtering, there is a O(1) median algorithm available: http://nomis80.org/ctmf.html
Additional knowledge of your data is often useful, like using the fact that all data are 8-bit integers above. Similarly, if you know your data is uniformly distributed, you could try Torben (in TFA) for pivot selection in quickselect.
but thanks for link to paper - that is new to me.
There's a problem with quickselect: while it will find the median, it doesn't properly pivot the median around itself if the median occurs multiple times. So you could end up with the median sprinkled around both sides, which may or may not be a problem (it was for me).
One way to solve this is to take a second pass over the data to pivot -- which is essentially the core of QS where you nibble from both ends and swap low/high values.
Another nice property of QS is that it'll be approximately sorted, with values generally growing closer to the median towards the middle. This helps if you need to do repeated sub-selections on the partitions.
"Optimal Pivot Selection in Fast Weighted Median Search"
ieeexplore.ieee.org/iel5/78/6236322/06193457.pdf
It gives a formula for the optimal subset size to use to find the pivot and also does some optimization after the first partitioning step.
[1] http://en.wikipedia.org/wiki/Selection_algorithm#Linear_gene...
The algorithm by Blum, Floyd, Pratt, Rivest, and Tarjan takes 24n comparisons in the worst case. A description here:
http://www.ics.uci.edu/~eppstein/161/960130.html
However, this algorithm has an average case performance of 4n comparisons: