Previous Entry | Next Entry

Deep Zoom in to ATLAS

  • Mar. 26th, 2008 at 5:28 PM
I am a camera
Once of the reasons I've not been blogging much over the last few days is that I've been getting my head around building Silverlight Deep Zoom applications. It's a surprisingly easy to use technology, and the Deep Zoom Composer tool makes it relatively easy to create the image tiles and pyramids you need to create a smooth zooming experience. It's what the Hard Rock Café has used for its absorbing Memorabilia site.

The only real problem is that Silverlight 2 currently only supports a limited set of mouse actions - and the mouse wheel isn't there. Luckily I found some code from one the Expression team that solved my problem (though I did manage to learn about using C# anonymous delegates as event handlers along the way...). That's what really took the time, but it's given me an application that doesn't need a key press - just a mouse. Click and drag to move around, and scroll to zoom in and out.

[Edit: I've added code to zoom in on a mouse click and to zoom out on shift-click]

So what did I do with what I learnt (apart from writing 3,300 words of magazine tutorial)? As it happens I have a pile of images from a trip down into the Large Hadron Collider at CERN. A collage stitch of my images of the ATLAS detector, down in its cathedral-sized cave, comes in at a hefty 28 megapixels - a little large for Flickr or any other photohosting site. However that's ideal for building a Deep Zoom.

Here's the application I built.

Zoom in and you'll see the engineers at work, and read the text on the eight superconducting magnets that surround the detector core. I've seen things in there I didn't realise were there at first!

Comments

[info]nalsa wrote:
Mar. 26th, 2008 05:46 pm (UTC)
Coo. That's quite nice. I suppose it works in the same way that the Zoomify flash dodad (which we use in histology teaching and is a piece of cake to use) does.
[info]sbisson wrote:
Mar. 26th, 2008 06:27 pm (UTC)
Very similar - though Deep Zoom has smoother transitions, and is free :-)
[info]marypcb wrote:
Mar. 28th, 2008 12:23 am (UTC)
I don't believe Zoomify has the metadata-based slice and dice connections: you can make the zoom go to something other than the point clicked, so a zoom near a point of interest can centre on the point of interest, and you don't have to zoom in to a magification of what's clicked on, or out to a pan of it - so I can zoom in from a door to a picture of the room inside or out to a map of the building rather than a photo. this makes it rather more flexible than just a cool zooming function.
[info]andrewducker wrote:
Mar. 26th, 2008 06:02 pm (UTC)
Anonymous methods are fantastically useful. I'm rather looking forward to lambda functions in C#3.0.
[info]andrewducker wrote:
Mar. 26th, 2008 06:09 pm (UTC)
Oh, and this laptop has no scroll on the trackpad. Is there an alternative way of zooming?
[info]sbisson wrote:
Mar. 26th, 2008 06:10 pm (UTC)
I can add a shift click method to the code. Shouldn't take too long...

[edited: Done!]

Edited at 2008-03-26 06:23 pm (UTC)
[info]andrewducker wrote:
Mar. 26th, 2008 07:21 pm (UTC)
Very cool - and fast work too!
[info]micheinnz wrote:
Mar. 26th, 2008 07:59 pm (UTC)
Will that work on a Mac?
[info]sbisson wrote:
Mar. 27th, 2008 12:54 am (UTC)
Only on Intel Macs I believe. Sadly I've only got a G3 and a G4 to hand, so I can't check...
[info]marypcb wrote:
Mar. 28th, 2008 12:24 am (UTC)
if you can install Silverlight in the browser, yes.