This code is an implementation of the IPID-1 algorithm from the paper Inferring oscillator's phase and amplitude response from a scalar signal exploiting test stimulation. It infers the phase response curve and isostable response curve from observations of a scalar oscillatory signal and a scalar perturbation signal.
Note that this is for inference from observations only. If you have the system equations available there is a different, straightforward algorithm that you should use, see repository on isostable coordinates.
This implementation is in Python and orientates strongly on the original C implementation.
The script example.py is already set with an example. It first generates the data by integrating a simple system, and then runs the algorithm to infer the curves, and plots them together with the ground truth for this system.