I am writing code that takes a signal from an accelerometer and I use the TVD algorithm in order to denoise the signal. As we can see in the following graph I managed to do that:

But I want to detect the peaks, and I think that I could use the findchangepts function in MATLAB, but when I run it I have the following:

As we can see it not detects the peaks. Does anyone know any setting in the function, or a way to denoise inside the peak?
                        
I manage to do that with the findpeaks function as follows:
and having x passing throght a series of envelope filters and low pass filters as:
Hope it will be usseful for someone