Producing images with subpixel shift in region of interest
I tried to distill your question down to a 1-d problem. Does this "moving sine" do ~what you want to do?

t = 0:50;
f = (1/4)/5;
x = sin(2*pi*f*t);
nsteps = 50;
figure(1), 
clf
ylim([-1 1])
xlim([0 nsteps])
stepvect = linspace(0,3,nsteps);
stepvect = [stepvect stepvect((end-1):-1:2)];
for step = 1:length(stepvect)
    y = interp1(t, x, t+stepvect(step)*sin(pi*t/50), 'linear');
    plot(t, y)
    grid on
    drawnow;
end