In this situation, I think you must first try to remove the noise from the data and then find the maximum. The SMOOTH and CONVOL routines are examples of IDL routines that can be used to perform simple noise removal:
http://www.exelisvis.com/docs/SMOOTH.html
http://www.exelisvis.com/docs/CONVOL.html
After that the noise has been removed, you can use the MAX function to find the maximum value in the data:
http://www.exelisvis.com/docs/MAX.html
David Starbuck
-Harris GS