MATLAB: filter nonperiodic noise in the signal
You can do a non-decimated one dimensional wavelet transform on the image. Since the data is more or less homogeneous within a certain range, the outliers will be denoted by spikes in the wavelet coefficients. You can then use a threshold and remove those coefficients and perform inverse non-decimated wavelet transform. 

You can check this paper also.

Do you mind sharing a copy of the data in .mat ? I would like to test it out in order to be sure.