Transform Images Using B-Spline Functions
This transforms an image using a smooth vector field defined by a B-spline function.
img = ImageResize[[image], 250];
col = BSplineFunction[ImageData[img]];
f = BSplineFunction[Table[{i + .5(-1) ^ j, j + .5(-1) ^ i}, {i, 7}, {j, 7}]];
opts = {PlotPoints -> 100, MaxRecursion -> 0, Mesh -> None, ColorFunction -> (col[1 - #4, #3]&), Axes -> None, FrameTicks -> None};
Grid[{{ParametricPlot[{u, v}, {u, 0, 1}, {v, 0, 1}, Evaluate[opts]], ParametricPlot[{Cos[t]Cos[s], Sin[s]}, {t, 0, Pi}, {s, -Pi / 2, Pi / 2}, Evaluate[opts]]}, {ParametricPlot[Evaluate[{u Cos[d] - v Sin[d], v Cos[d] + u Sin[d]} /. d -> Pi / 2 Norm[{u, v}]], {u, -1, 1}, {v, -1, 1}, Evaluate[opts]], ParametricPlot[f[u, v], {u, 0, 1}, {v, 0, 1}, Evaluate[opts]]}}]