zswatson / timeroom

Timelapse exposure smoothing and tweening using RAW images
6 stars 4 forks source link

XML Parser #1

Closed justinwyne closed 12 years ago

justinwyne commented 12 years ago

First off, thanks for posting this repo! I've been using LRTimeLapse 1 to do similar things for my photos, but now LRTimeLapse 2 is paid. So I figured I would try to implement the basic smoothing operations myself since the xmp files are just xml.

My question is whether you tried using an xml parser instead of just reading line by line? http://docs.python.org/2/library/xml.etree.elementtree.html

I'm interesting in taking what you started and expanding on it so it can do basic smoothing for all/most values in the xmp. Thanks!

zswatson commented 12 years ago

Woah, did not expect anyone to ever see this! It's awesome that you think you can use it.

I did look into doing xml parsing, but since I was only looking at a couple attributes, it seemed easier just to hack something together, since I've never used XML before. It would be awesome if you wanted to build on it, though.

Zach

On Sun, Nov 25, 2012 at 3:54 PM, Justin notifications@github.com wrote:

First off, thanks for posting this repo! I've been using LRTimeLapse 1 to do similar things for my photos, but now LRTimeLapse 2 is paid. So I figured I would try to implement the basic smoothing operations myself since the xmp files are just xml.

My question is whether you tried using an xml parser instead of just reading line by line? http://docs.python.org/2/library/xml.etree.elementtree.html

I'm interesting in taking what you started and expanding on it so it can do basic smoothing for all/most values in the xmp. Thanks!

— Reply to this email directly or view it on GitHubhttps://github.com/zswatson/timeroom/issues/1.

justinwyne commented 12 years ago

Cool, I just got an xml parsing prototype working that seems to work on Win/Mac xmp files (values can be in attributes or elements). I didn't hook it in with your tweening stuff yet, but i think that's next.

Check it out on my fork here: https://github.com/justinwyne/timeroom/blob/master/xml-xmp.py

How did your exposure smoothing work? Was that deflickering? And it looks like it relied on those extra csv files you had.

zswatson commented 12 years ago

As I recall, the csvs were just me trying to reverse engineer Lightroom's exposure modifications. They aren't used in the actual tweening code.

I basically wanted to be able to set the camera to auto to prevent blowouts, and then retroactively pick an appropriate shutterspeed/aperture (or values, ergo tweening). So the exposure smoothing takes the photo's aperture and shutterspeed data, and adjusts exposure to match a 'target' shutterspeed and aperture. It works reasonably well, although it's not great if you've got moving cloud cover; too many strong shadows/bright lights. I ran out of steam before solving that problem; I think that might need a curve-based approach, which is a bit out of my depth.

Side note; right now it just does linear tweening, but it'd be pretty easy to give it some sort of ease-in/out functions. I wasn't doing anything complicated enough to really require that (exposure tweening is subtle enough to be pretty unnoticeable at the speeds I was working with).

Zach

On Tue, Nov 27, 2012 at 1:19 PM, Justin notifications@github.com wrote:

Cool, I just got an xml parsing prototype working that seems to work on Win/Mac xmp files (values can be in attributes or elements). I didn't hook it in with your tweening stuff yet, but i think that's next.

Check it out on my fork here: https://github.com/justinwyne/timeroom/blob/master/xml-xmp.py

How did your exposure smoothing work? Was that deflickering? And it looks like it relied on those extra csv files you had.

— Reply to this email directly or view it on GitHubhttps://github.com/zswatson/timeroom/issues/1#issuecomment-10777585.

justinwyne commented 12 years ago

I've been using other tools to deflicker and stabilize the video (plugins into virtualdub that work extremely well). So i really just need this project to do the tweening between keyframes.

justinwyne commented 12 years ago

Oops. wrong button.

Yea, I plan on applying some easing. And i think this method is going to work really well. I'll post some output videos once it's done. It just seemed silly to pay >$100 for a program that changes some numbers. I'm pretty excited about doing it myself =).