# How can I make a list animation of images that fade in and out?

I'm not sure how to get a "fade in" effect.

-
Is this question or some variant of it relevant/useful? –  kguler Jul 4 '12 at 21:18
@kguler Thanks. I think it's useful, but a different question. –  M.R. Jul 5 '12 at 3:30

Start from understanding and setting up an transition functions sequence:

Plot[Evaluate@Table[(1 + Tanh[tr (x - dt n)])/2, {n, 1, Length[imgs], 1}], {x, 0,
dt (Length[imgs] + 1)}, PlotStyle -> Thick]


Set your images as a list:

Set 2 main parameters of your animation:

tr = 1;(* transition speed *)
dt = 4;(* display time *)


Finally use interactive interface

Animate[Overlay[Table[SetAlphaChannel[imgs[[n]], (1 + Tanh[tr (x - dt n)])/2], {n, 1,
Length[imgs], 1}]], {x, 0, dt (Length[imgs] + 1),
ImageSize -> Small}, AnimationRate -> 2]


Or make a table and export as an .GIF image

gift = Table[Overlay[Table[SetAlphaChannel[imgs[[n]], (1 + Tanh[tr (x - dt n)])/2], {n,
1, Length[imgs], 1}]], {x, 0, dt (Length[imgs] + 1),
dt (Length[imgs] + 1)/50}];


-
You don't necessarily have to use the hyperbolic tangent; any number of "sigmoidal" functions ought to do the trick... –  Ｊ. Ｍ. Jul 5 '12 at 2:22
Lovely answer Vitaliy! See my answer below... –  M.R. Jul 5 '12 at 3:30
@J.M.Absolutely, I just like Tanh ;-) –  Vitaliy Kaurov Jul 5 '12 at 3:39
@Mike Thanks, your solution is cool too! +1 –  Vitaliy Kaurov Jul 5 '12 at 3:40

Vitaliy has a great answer, however I wanted to try my hand at this to get something a bit smoother in action by using Dynamics...

images = ImageResize[#, 500] & /@ ExampleData /@ ExampleData["TestImage"][[1 ;; 7]];
i = 1;
Dynamic[
Which[Or @@ Thread[i == Range[Length[images]]], Pause[2]; i += .01,
i < Length[images] - 1, i += .01,
True, i = 1]; fade = Mod[i, 1];

This works, but can someone please tell me why I can't substitute IntegerQ[i] for Or @@ Thread[i == Range[Length[images]]]?
Yes, Head[1 + .01] is Real; try: i == Round[i] –  Mr.Wizard Jul 5 '12 at 6:42