This is a question that should have a simple answer, but which I can find no proper discussion of in the literature or on the internet.
I start from the assumption that I have a noisy numerical signal with a peak in it - for example amplitude as a function of $x$, i.e. $A(x)$ - and I wish to determine its full-width at half maximum (FWHM). I am aware of two basic algorithms that may be used on numerical data:
Assume it's Gaussian, determine the r.m.s. value, and multiply by 2.35 ( $2\sqrt{2 \log{2}} $).
Determine the FWHM using a peak-finding algorithm that locates the peak $A_{max} = A(x_{peak}$), then locates the first positions either side where $A(x)$ falls to $1/2 A_{max}$.
Method 1 is numerically robust as you don't have to bin (i.e. smooth) the data that determines $A(x)$. However, if the peak is significantly non-Gaussian in shape you get a systematically wrong answer.
Method 2 is direct, but there are plenty of numerical cases where there are multiple points in $x$ either side of the peak where $A(x)$ crosses $1/2 A_{max}$. And of course the number of crossing points depends sensitively on whether I smooth A(x) or not.
My question is therefore whether there is a mathematically justifiable algorithm for determining FWHM numerically that doesn't assume the peak is Gaussian,