On the origin of the bilateral filter and ways to improve it
Introduction to Linear and Nonlinear Programming