Implementing this is at the top of my list right after being able to transfer the ADC output to DRAM and from DRAM to the display. The filter is just a tapped delay line for short filters. Longer filters are often better implemented in the frequency domain via an FFT. But an FPGA should be able to pipeline the filter so aside from real estate the only cost would be 20-30 nS of latency at 1 GS/S which is easy to correct.
If you can live with downloading a trace to a PC and running Octave/MATLAB I can put something together. It's been a long time since I implemented this sort of thing. I've been using canned routines for 20+ years, but it is very simple DSP 101 stuff. Doing it in an FPGA is more exotic. I know what to do, just not how. I'm building out a dev environment with a Zybo Z7-20 and a BeagleBoard X15 to develop code for my Instek GDS-2072E. So I'm in hardware mode at the moment. Lots of bits and pieces in transit.
Computing the spectral response of my scopes is on my "To Do" list and computing a correction filter is very little more effort beyond remembering how to use Octave.
As a general outline, set Leo's pulser output to an appropriate level and record the output of the RF probe. If you have a scope that samples at 10 GS/S or more, record the pulser output directly, otherwise, assume that it is a perfect step.
a= pulser step in time domain
b= probe step response in time domain
A = FFT(a)
B = FFT(b)
A/B = correction filter in frequency domain
c = IFFT(A/B), the correction filter in the time domain
B * A/B = corrected step response which is b*c in the time domain "*" indicating a convolution in time which is a bunch of multiply & adds. Something an FPGA is well suited to.
There are an assortment of details regarding phase, frequencies in B with coefficients near zero, etc. A lot depends upon exactly what you want to do. In seismic processing we tend to make things symmetric aka "zero phase". But we work entirely in recorded time and it makes interpreting the results easier. Reality is minimum phase.
The classical way to calculate the filter is the Wiener-Levinson prediction error filter which operates in the time domain. That produces a minimum phase output.
I thought that perhaps among the vast variety of MMICs there might be a suitable device. I guess I should go read the Jim Williams paper.