Looking for a better algorithm for finding the slope of an input signal
I hope I understand what your'e asking correctly

To get the minimum slope of the image I would run an calculate the slope at each point (should be fast enough) and than take the minimal one.

For example : 

x = 1:.05:3000;
y = 100+x + 300*sin(2*pi*x/1000);
origin = [0 0] ; % or origin = [ x(1) y(1) ];
slope = (y - origin(2)) ./ (x - origin(1));
[ minslope , minidx ] = min( slope ) ;
angle = atand( minslope );
figure;plot( x,y ,'-');
hold on;
plot([ origin(1) x(minidx)] , [origin(2) y(minidx)] ,'-r');


Will give you this slope:


Best of luck!,

Elad