Hugin source code visualization

136 views
Skip to first unread message

David Haberthür

unread,
Jun 10, 2010, 4:18:28 AM6/10/10
to hugi...@googlegroups.com
Hey all.
Now that hugin recently switched to Mercurial for Code revision, I thought I could try something fun with it:
Recently I stumblede over gource [1] a nice tool for the visualization of sourcecode. I've used gource to visualize the progress of my PhD-Thesis ([2], which was handed in a week ago btw) and thought I'd do this for hugin.
It turned out to be a little bit of a challenge, but let me walk through to the end-result:

On OS X it's pretty easy to install all the necessary things to make the resulting movie, just make sure you've installed MacPorts [3] and issue
$ sudo port install mercurial ffmpeg gource
in Terminal.app to install the necessary stuff. Then drink a coffee, because this takes a long time :)

Using a simple
$ hg clone http://hugin.hg.sourceforge.net:8000/hgroot/hugin/hugin hugin
in a directory of choice downloads hugin's source code. Again, do this in the Terminal.app.

"Cd" into hugins directory and enter the following command:
gource -800x600 --disable-progress --stop-at-end --bloom-multiplier 1.25 -a 0.05 --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -vpre default hugin.mp4
This command instructs gource to make a 800x600 pixel movie with some tweaks, outputs this to a ppm-stream and converts this stream with ffmpeg to a resulting movie, hugin.mp4. Go and have another coffee, since this can take even longer than the command above... After you've marveled at the nearly 3 GB, two-hour (!) long movie (or maybe not :) you wonder how to present this movie.

Fiddling around with iMovie [4] in the end you get this: http://vimeo.com/12442226

It's beautiful! My way of saying "Thank you" to all the developers and coders of hugin. You've done a great job, I love to use hugin. Keep it up!

Greetings from Switzerland
Habi


[1]: http://code.google.com/p/gource/
[2]: http://habi.gna.ch/2010/05/14/codevisualisierung-mit-gource-so-arbeitete-ich-an-meiner-diss/
[3]: http://www.macports.org/
[4]: http://www.apple.com/ilife/imovie/. The fiddling with iMovie involved conversion of the movie to alter its speed, since iMovie can only speed up to 2000%, which was not enough to go from +2 hours to 4 minutes in one step. Since I've had a nice song as a background, I had to to multiple exports and imports to speed the movie up to the necessary 4.5 minutes,


Harry van der Wolf

unread,
Jun 10, 2010, 12:16:40 PM6/10/10
to hugi...@googlegroups.com
Very nice!

Harry


Eric O'Brien

unread,
Jun 11, 2010, 3:04:00 AM6/11/10
to hugi...@googlegroups.com
Wow!

That is mesmerizing! The music certainly helps increase the effect.

eo

> --
> You received this message because you are subscribed to the Google
> Groups "hugin and other free panoramic software" group.
> A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
> To post to this group, send email to hugi...@googlegroups.com
> To unsubscribe from this group, send email to hugin-ptx+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/hugin-ptx

Eric O'Brien

unread,
Jun 11, 2010, 3:22:03 AM6/11/10
to hugi...@googlegroups.com
Plus, this should make everyone want to put *everything* under source
control, just so they can visualize their activity! :)

eo

On Jun 10, 2010, at 1:18 AM, David Haberthür wrote:

Yuv

unread,
Jun 14, 2010, 9:53:13 AM6/14/10
to hugin and other free panoramic software
On Jun 10, 4:18 am, David Haberthür <david.haberth...@gmail.com>
wrote:
> PhD-Thesis ([2], which was handed in a week ago btw)

Congratulations! When are you defending it?

> Fiddling around with iMovie [4] in the end you get this:http://vimeo.com/12442226

Great stuff, thank you!

For v2: I have the impression that the movie's speed (number of
frames) is determined by the number of revisions. Is there a way to
influence the timing between the individual frames to be proportional
to the actually elapsed time? the timestamps are on the frames.

Yuv

David Haberthür

unread,
Jun 14, 2010, 10:36:34 AM6/14/10
to hugi...@googlegroups.com
On 14.06.2010, at 15:53, Yuv wrote:
> On Jun 10, 4:18 am, David Haberthür <david.haberth...@gmail.com>
> wrote:
>> PhD-Thesis ([2], which was handed in a week ago btw)
>
> Congratulations! When are you defending it?
In 15 days and 23 hours I plan to be on slide 3 or 4 of my talk :)

>> Fiddling around with iMovie [4] in the end you get this:http://vimeo.com/12442226
>
> Great stuff, thank you!
>
> For v2: I have the impression that the movie's speed (number of
> frames) is determined by the number of revisions. Is there a way to
> influence the timing between the individual frames to be proportional
> to the actually elapsed time? the timestamps are on the frames.

The default options of gource make it so that the movie has 4 seconds per day. I think that the speed is just proportional to the elapsed time and not depending on the number of revisions. This might need some more fiddling with the options, hopefully on a later time :)

Habi

David Haberthür

unread,
Jun 14, 2010, 10:42:32 AM6/14/10
to hugi...@googlegroups.com
On 11.06.2010, at 09:04, Eric O'Brien wrote:
> Wow!
>
> That is mesmerizing! The music certainly helps increase the effect.
>

Thanks. You can download the song for free (as in beer and in speech) from http://is.gd/cDpaa
Habi

Reply all
Reply to author
Forward
0 new messages