user5673: How can I achieve a trippy visual drifting effect like the image is breathing? 
See The Visual Components of a Psychedelic Experience - Visual drifting section or more precisely this fragment of this video.
Any software solution is fine, but I would be most thrilled with an implementation in Processing or Javascript

user6207: You can achieve an effect like this with a couple of distortion filters from most video editing or motion graphics packages. For example in FCPX/Motion, you could apply a couple of Bulge distortion filters to the upper right and lower left and adjust the scale and radius as appropriate.
In terms of implementing it yourself, I agree that it's a question for StackOverflow (once you've attempted to write it yourself). The algorithm is fairly straightforward. For all the pixels within the radius, apply a mapping function along the vector from the center to the current point. For example (in pseudo code):
distort (vec2 center, float radius, float amount)
{
    for (each pixel in the image)
    {
        vec2 dir = pixel.coord - center;
        float dist = dir.length()
        if (dist >= radius)
        {
            outPixel = pixel;
        }
        else
        {
            float percent = dist / radius;
            float newPos = pow(percent, amount);
            dir = dir / dist;
            vec2 newCoord = dir * newPos * radius;
            outPixel = getPixel(newCoord);
        }
    }
}


5673: <p>How can I achieve a trippy visual drifting effect like the image is breathing? </p>

<p>See <a href="http://www.disregardeverythingisay.com/post/9331287956/the-visual-components-of-a-psychedelic-experience" rel="nofollow">The Visual Components of a Psychedelic Experience</a> - <strong>Visual drifting</strong> section or more precisely <a href="http://www.youtube.com/v/NaA7yzHh2as&amp;start=91&amp;end=114&amp;version=3" rel="nofollow">this fragment of this video</a>.</p>

<p>Any software solution is fine, but I would be most thrilled with an implementation in Processing or Javascript</p>
 6207: <p>You can achieve an effect like this with a couple of distortion filters from most video editing or motion graphics packages. For example in FCPX/Motion, you could apply a couple of Bulge distortion filters to the upper right and lower left and adjust the scale and radius as appropriate.</p>

<p>In terms of implementing it yourself, I agree that it's a question for StackOverflow (once you've attempted to write it yourself). The algorithm is fairly straightforward. For all the pixels within the radius, apply a mapping function along the vector from the center to the current point. For example (in pseudo code):</p>

<pre><code>distort (vec2 center, float radius, float amount)
{
    for (each pixel in the image)
    {
        vec2 dir = pixel.coord - center;
        float dist = dir.length()
        if (dist &gt;= radius)
        {
            outPixel = pixel;
        }
        else
        {
            float percent = dist / radius;
            float newPos = pow(percent, amount);
            dir = dir / dist;
            vec2 newCoord = dir * newPos * radius;
            outPixel = getPixel(newCoord);
        }
    }
}
</code></pre>
