Hi Rhino,
I have one suggestion for how to make the scanning less "visible" to the user. I do this quite a bit in my vb code when I need guaranteed interactivity, and the task to perform is inherently slow but still breakable in a number of steps.
You could program the scanning asyncronously using a timer: initially load the deafult image as you do now and then start the timer. The timer routine would then update the images incrementaly one scan at the time, while the user could continue to interact normally with AV. You have to make sure in the timer routine you give control to other ui task (DoEvents) and you also need know if other "heavy" activity is going on (some class method, propriety whatever ), and in that case just do nothing and wait fot the next timer cycle to avoid interference.
The only drawback is that the incremental update is obviosly very visible (ie.e images will "pop up" continuosly until finished), but in my experience this is a tradeoff that people normally accept if it lets them continue interacting undisturbed and prevent a huge initial wait
Hope this help
Claudio