As an amateur photographer, I have always kept my eyes open for new tools to help me search, sort, filter, and view my own photos. Microsoft Pivot (a cool new technology that lets you easily view, search, and filter data using deep zoom) seemed like a natural and obvious fit for the task.
Therefore, using Microsoft Pivot and the Pauthor open source libraries, I created a tool that helps users create a pivot collection from the photos on their hard drive and supports filtering by all the nifty meta data embedded in those files such as shutter speed, aperture, film speed, and focal length. Plus, users end up with a great look set of deep zoom images from their photo collection!
How:
Step 1: Install Microsoft Pivot
Step 2: Install PhotoPivot beta (I’m calling it a beta because I wrote it in about 8 hours).
Browse for the folder containing the photos that you would like to “Pivot-ize”
Browse for the location where you would like to dump the pivot collection and all the associated deep zoom files.
Note: This can take up a lot of space
Click “Go”
Warning: If you run this on a couple hundred high resolution photos it will take ~5-10 minutes, if you run it on all 20,000 photos in your My Pictures folder… do it before you go to bed!
The Result:
In the end, assuming Microsoft Pivot is installed, it will launch the Pivot app and automatically load your collection…
Highlights:
- The end result is awesome… especially when it’s your own photos that you’re filtering and deep zooming on.
- This collection is totally compatible with the Microsoft Silverlight PivotViewer control which makes it super easy to publish the result on the web. All you have to do is upload the output to a web server, toss a clientconfigpolicy.xml file in the domain’s root and build a 3 minute Silverlight PivotViewer app to view them. Read my earlier blog post for more details. The only down-side: if you thought it took a long time to generate the files, wait until you try to upload them; yikes!
- Source code is available. Knock yourself out!
Kudos:
- Microsoft Pivot. Seriously folks, this is where all the real work was done.
- DeepZoom. It wouldn’t be nearly as cool without it.
- Pauthor. And without this awesome open source library, I would never have bothered to build this. (It even uses parallel processing to generates all the deep zoom images). Great work guys!
Tim,
I’d love to try it, but I get a failure trying to install on my Windows 7 machine. I can send the ClickOnce log if you like.
Kevin, I just tried it again on my Win7 machine and it installed correctly. I’d love to see the clickonce log if you have a chance, go ahead and email it to me at tgreenfield gmail com. Thanks!
Tim, I got it to install on a second x64 Win 7 box, so I’ll look at the first box and see what’s different.
Thanks.
Does your app support tags that have been applied to photos via windows explorer/windows live photo gallery (i.e. star ratings, descriptive tags etc)?
adam, great idea… So good in fact, that I went ahead and implemented it 🙂
New version now includes star ‘rankings’ and description. I also fixed a bug where the date was coming from the filesystem date instead of the metadata (which is much more reliable). Both the binaries and source are updated. The app itself will auto-update if you run it again, close it, and restart it.
wow! that’s great, Tim. What other types of metadata will get pulled in besides star ratings? For example if I tag a photo as “pizza” “food” “NYC” will your app create the corresponding filters?
adam, right now it just pulls in aperture, film speed, shutter speed, focal length, camera, size in MB, date, rating and description. There is certainly more meta data available that I could be using; maybe I’ll update it at some point to include it too. Otherwise, source code is available if there’s anything you want/need in the interim. Cheers, Tim
[…] Via Turn your photos into a pivot collection with PhotoPivot « Programmer Payback […]
Hi Tim, I tried a couple of times but I get the error:
‘The XML-document (36, 29) contains an error.’
Any idea? Cheers, Ron
Hello Tim,
I’m getting same error as Ron:
‘The XML-document (36, 29) contains an error.’
Hope to get this working soon.Thanks, Herman
Ron or Herman, can you please email me the .cxml file and I’ll take a look (tgreenfield gmail com. I’m guessing that there must be some camera metadata that is causing the pivot viewer to choke. Thanks!
I just send you the cxml file.
Thanks, Ron
If I replace the values with a , in . then it works!
Values in Dutch ar seperated with , iso .
mist be
Cheers!
Awesome Ron! Thanks for tracking that down. I just updated the app to fix the problem. Note: The app will auto-update if you run it again, close it, and restart it.
Additionally, I also added a new category for megapixels and now remove any category where there isn’t a single photo that contains metadata for that category.
Yes, it works fine now. Thanks for the update!
ThanksTim and Ron, it’s working great now.
Awesome to use.
Cheers, Herman
Hi Tim!
This is working great for me and I’d like to thank you very much for giving this to us. I would like to extract some other fields from the metadata as well though but I know close to nothing about code. I tried to add to the xmlNode in ImageHelper.cs and as long as it is from the rdf namespace it works. What I want though is the country, city and location fields from the photoshop namespace and there is where I run into problem. I have tried to use the following “/rdf:RDF/rdf:Description/photoshop:country” and numerous variations of the sentence above but nothing ever comes back. Is there any chance you could point me in the right direction? If not, I still want to say thank you for your great little app.
Fred
hello Tim,
great job, i’m interested by your source code of photopivot.
Can you provide it ?
I want to adapt it to other type of images.
Thanks.
Thierry
Looks like its been done here already http://photopivot.com/
Any idea where microsoft moved the install files and if it still works, or has been broken?
Much appreciated.
I love this. Could you make an easy app like this for Facebook Galleries? and live skydrive with JIT. Also could this code in real time instead of preprocessed?
I know there would be a facebook API key field which is great.
Thoughts on using this on a server windows 2008 R2. I have 100,000’s of images for a company I’d like to pivot instead of indexing. Could you include a new options to scan subfolders too please. I wouldn’t want to copy all of the folders into one folder if I don’t have too.
The other option might be a windows 7 virtual saved search.
Sorry also want about an option for themes, company or artist logo. multi-sources.
[…] playing with PhotoPivot and grabbing the source I thought I’d have a go at creating some pivot data files that let me […]
Didn’t work cause the file: photos.dbz isn’t in the folder deepzoom_photos. The File is missing and I don’t see any of my pictures in Pivot
Okay it works, Some jpgs were corrupted so it stopped working, I think.
Terrific post however , I was wanting to know if you could write a litte more on this topic?
I’d be very thankful if you could elaborate a little bit further.
Many thanks!
[…] playing with PhotoPivot and grabbing the source I thought I’d have a go at creating some pivot data files that let me […]