Geotagging with Adobe Lightroom

Posted by Doomshammer on Monday, March 16. 2009 at 16:54 in English only, Photography, Privat, Web
Today I noticed, that Lightroom doesn't work very well with the script I've written to geotag my photos. Though the GPS data is in the EXIF tags, Lightroom doesn't recognize them and (what's even worse) it's doesn't include them into an exported JPG. So you either have to re-run the script over the JPGs or life w/o GPS data in the JPGs.

This wasn't really satisfing for me, so I did a little reaseach on why LR doesn't handle my GPS data correctly. Instead of a real answer to that question, I found a plugin for Lightroom which basically does what my script does, but it's seamlessly integrated into Lightroom. The plugin works really great and has a couple of more features than my script could ever have. Therefor I won't do any further development on the script an use the plugin instead (the funny thing is, that in the background, the script is using perl as well ;-) ).

You can find the plugin here.

Simple photo geotagging with an iPhone

Posted by Doomshammer on Saturday, March 14. 2009 at 22:28 in Anwendungen, English only, Photography, Privat
As you know, I recently received my new iPhone. One cool feature of the iPhone is the built-in GPS module (I know a bunch of other mobile phone do have this feature as well). As I was already searching for a simple solution to geotag my photos w/o much efforts (in terms of money and work), I looked for a way to track my photo trips via the iPhone and later syncronize the GPS data with my photos.

After some searching I found a pretty cool iPhone app. It's name is GeoLogTag (you can grab it for 4$ from the AppStore). The App is as simple as cool. Simply enable it and it'll track your trip and when you are back at home you just press the "GPX" button and the App will transform into a simple webserver where you can grab your GPX files via WLAN.

Now as I found a way to track my trips via iPhone I still needed a tool to get the GPS data into my photos. There are a bunch of tools out there in the internet which will let you sync your GPS geolocation date with your images, but most of them are limited to JPGs. As I am shooting exclusivly in Canon's RAW format with my EOS 5Ds (CR2-Format) these tools won't work. I also found some commercial tools which support CR2-Format, but they are very costly and are running on MS Windows only. So also not the solution I was searching for.

So finally I decided to develop such a tool on my own. My language of choice was (of course) Perl. The good thing is, that there are already modules to parse GPX data as well as a module to process EXIF information. To make the story short... I just finished the first version of the tool. It's pretty simple but effective. You can specify one or more image filenames and a GPX data filename. The script will read out the creation date of the images and will compare it to the dates of the GPX datapoints. If a datapoint doesn't differ more than $X seconds from the images timestamp, the script will tage the longitude and latitude and will write this information into the EXIF metadata of the image. If you specify the "-k" parameter, it'll also add these data as "geo:" keywords.

As the script is written in Perl, it should easily run on any UNIX, MacOS and Windows. It has been written and tested on MacOS X. In first place I wrote this script to support Canon's CR2-Format, but the good thing is that Image::Exiftool supports a bunch of other formats as well, so it may be useful for non-Canon users as well. Feel free to download it and give it a try and let me know how you find it.

Requirements
- Date::Manip
- Log::Log4perl
- Image::ExifTool
- Geo::Gpx

To see the script in action, click here.
Download it here.

Patch for Net::SSH::Perl

Posted by Doomshammer on Tuesday, January 20. 2009 at 18:17

Today I ran into an issue with one of my scripts which is generating a report and uploads it to the customer site via FTP. I lately added a SFTP features, as this was a requirement by one customer. To accomplish this, I used the Net::SFTP module which uses Net::SSH::Perl to connect to the SSH server. While I programmed the script all tests worked fine, but when I tried to get it running in production for the customer it was failing.


The debug output of Net::SFTP looked like this:


hostname: Authentication methods that can continue: publickey,password,keyboard-interactive.
hostname: Next method to try is publickey.
hostname: Trying pubkey authentication with key file '/export/home/someuser/.ssh/id_rsa'
hostname: Login completed, opening dummy shell channel.
hostname: channel 0: new [client-session]
hostname: Requesting channel_open for channel 0.
hostname: channel 0: open confirm rwindow 0 rmax 34000
[ERROR] Connection to SFTP failed -> Could not dupe: No such file or directory


After digging a bit deeper into this, I figured that Net::SFTP was failing while calling Net::SSH::Perl's _session_channel() function- and within this function the $cmgr->new_channel() function was failing while calling the _dup() function. This function seems to hijack a stream and duplicate it into a new FH. And here is where the problem was. In the _dup() function the original code uses:

CODE:
open $dup, '<', $str or die "Could not dupe: $!\n";

which is incorrect and caused the problem. So I created a patch for this file to correct this issue.


Here it is:

QUOTE:
--- SSH2_orig.pm Tue Jan 20 12:09:16 2009
+++ SSH2.pm Tue Jan 20 12:10:37 2009
@@ -25,4 +25,3 @@
my $dup = Symbol::gensym;
- my $str = "${mode}&$fh&"
- open $dup, '<', $str or die "Could not dupe: $!\n";
+ open($dup, "${mode}&=$fh") or die "Could not dupe: $!\n";
$dup;

Schonmal vorab...

Posted by Doomshammer on Wednesday, December 31. 2008 at 17:06 in Fun, Privat

CODE:
perl -le 'print reverse map{pack U,$_}"033114097101089032119101078032121112112097072"=~/.../g'


Hab' noch etwas Zeit bis zur Party... von daher noch schnell was gebastelt ;-)

Quick and Dirty "Show me the latest 5 photos in my stream" script

Posted by Doomshammer on Tuesday, October 14. 2008 at 15:01 in Anwendungen, English only, Photography, Privat, Thoughts
Here is a brief example of how to quickly fetch the latest 5 photos in you photostream and put them into a quick and dirty HTML output. It is written in Perl and uses my Ipernity::API module

View it as plain text
QUOTE:
#!/usr/bin/perl -w

use strict;
use warnings;
use Ipernity::API;

my $api = Ipernity::API->new(
'args' => {
'api_key' => '0123456123451234651235123452345234',
'outputformat' => 'xml',
},
);
my $result = $api->execute_xml(
'method' => 'doc.search',
'share' => 4,
'per_page' => 5,
'media' => 'photo',
'user_id' => '',
);

foreach my $doc (@{$result->{docs}->{doc}}) {
print '' .
'' . $doc->{title} .<br />
'

\n";
}

Ipernity's public API has been released

Posted by Doomshammer on Tuesday, October 14. 2008 at 13:25 in Anwendungen, English only, Photography, Privat, Web
Wow, it has been quite a bit since I wrote s. th. here in my blog, but I was either busy with my work or just to lazy to write something. But today I decided to put an update... 'cause my favourite Photo Sharing Community has opened it's doors to external applications by releasing their public API. It's still beta and some features are missing, but though it's there and can be given a test drive.

I took the chance and developed a Perl module for the API. With this module you can easily access the API and process the data of your Ipernity account within your perl scripts. Some features might be not there yet or need to be tweaked a bit, but basic functionallity is given. You can download it here (I am still waiting for my CPAN account).

To install, simply download and extract the package, then run: "perl Makefile.PL && make && make test && make install". That's it!

Let me know what you think about it!

Twittermania!

Posted by Doomshammer on Thursday, February 21. 2008 at 22:06 in Anwendungen, Computer, Fun, Privat, Thoughts, Web
Traurig aber wahr... ich werde immer mehr Web 2.0 ;-) Jetzt habe ich mir sogar einen Twitter Account angelegt und hab auch schon fleissig "rumgetwittert" ;-) Ein Sidebar Plugin fuer mein Blog hab'sch auch schon gebaut (es lebe Net::Twitter)

Fuer den angehenden Geek...

Posted by Doomshammer on Tuesday, July 24. 2007 at 19:32 in Fun
Pokémon Perl-Edition

New Pixlr CVS repository

Posted by Doomshammer on Friday, June 29. 2007 at 11:49 in Anwendungen, Computer, English only, Linux/Unix, Privat, Web
As SourceForge is absolutelly incompetente regarding support requests about their CVS, I decided to move the CVS to my own server.

Pixlr's CVS repository is now hosted on: cvs.pixlr.com
Anonymous read access is granted. You can access it via:

QUOTE:
# export CVSROOT=":pserver:cvs@cvs.pixlr.org:/cvsroot"
# export CVS_RSH=ssh
# cvs login

Logging in to :pserver:cvs@cvs.pixlr.org:2401/cvsroot
CVS password: anonymous

# cvs co pixlr




Pixlr on SourceForge

Posted by Doomshammer on Tuesday, June 26. 2007 at 14:05 in Anwendungen, Computer, English only, Privat, Web
Yeah! Pixlr has it's own SourceForge project now. You can access the project here. Please submit feature requests and bug reports only in the appropriate SourceForge trackers. The Web-CVS tree is avail. here.

Pixlr goes Multiplatform

Posted by Doomshammer on Monday, June 25. 2007 at 14:58 in Anwendungen, Computer, English only, Flickr, Photography, Privat, Web

Yay! Another big step into "Pixlr goes Multiplatform" has been done. I just finished my first tests with the Ipernity API and I was already able to authenticate Pixlr with my Ipernity account.

Pixlr goes Ipernity

The Ipernity API isn't that big yet, and most of the methods I need for Pixlr, aren't avail. yet - but according to the Iperntiy-Team, it will be expanded soon!

The biggest step for Pixlr to be usable for many different platform has been finished by me yesterday. I completelly wrote my own interface to the Flickr API. This means that Pixlr doesn't depend on the 3rd party module Flickr::API anymore but uses Pixlr::API::Flickr now. But that's not the big news... instead of calling Pixlr::API::Flickr, it now calls Pixlr::API( 'service' => 'flickr' ); this makes Pixlr easily extendable to other platforms (like Iperntiy or Zooomr). I also just finished the first beta of Pixlr::API::Ipernity and did some tests - which all worked fine. I'm curisous to test out all the other functions/methos with Ipernity - looking forward to it :-)

On this way, a big thanks to Christophe from the Ipernity-Team for being so kind to offer me an API key for Pixlr :-)

Pixlr v0.1.6-dev released!

Posted by Doomshammer on Monday, June 18. 2007 at 21:01 in Anwendungen, Computer, English only, Privat, Web

This was fast, huh? :-) I just released the first official development version of Pixlr. Pixlr 0.1.6-dev has a great new feature which I didn't want to keep back - Tags :-) Your flickr tags are now imported into the database, so that you can search for photos by tags.

The database layout changed a bit as well. Photos are now avail. by an internal ID which is stored in the database. This will make things much easier for new features :-) You are now able to decide wether the description should be HTML escaped or not. Find a live version of the new features in my personal photoblog.

The download can be found here.
The changelog is avail. here.

Pixlr v0.1.5 released!

Posted by Doomshammer on Sunday, June 17. 2007 at 17:20 in Anwendungen, Computer, English only, Flickr, Privat, Web

Yay! I did a bunch of work on Pixlr today. Actually a comple rewrite of the main parts of the code. There are not much new features, but the code has been cleaned up and optimized massivly. Pixlr now also has a - yet simple, but working - installation script. The KML-Google Maps feature has been added to this release as well.

Find the latest download here.
The changelog can be found here.

New Pixlr feature

Posted by Doomshammer on Wednesday, June 13. 2007 at 19:31 in Anwendungen, Computer, English only, Photography, Privat, Web
I've found some time today, to add a new feature to Pixlr. The URL to Google Maps now loads a dynamically generated KML file, which Google Maps can use to add so called "placemarks" to the map. This placemark will show the exact position of your geolocation together with the image title, the description and the thumbnail of the photo.

I've added the feature to my photoblog (check out the google maps link) already and will be also avail. in the next Pixlr release.

Pixlr v0.1.3

Posted by Doomshammer on Sunday, June 3. 2007 at 21:24 in Anwendungen, Computer, English only, Flickr, Photography, Privat, Web
Pixlr v0.1.3 is out now. Main changes are:

- some cosmetic corrections / cleanups
- email notification feature for comments

Download: pixlr-0.1.3.tar.gz (md5)

Calendar

Back May '13
Mon Tue Wed Thu Fri Sat Sun
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Quicksearch

Not for Sale!

This blog is not for sale!

Latest twitter

Latest Photos

ERROR: The HTTP server returned the error or the warning(result:403).

Getaggte Artikel

Buttons

Ich bin ein Dokuleser
Get OpenSolaris
Gimme a Smile
neessen.net - Webhosting
I'm a blogger!
Lebst Du noch oder oarks Du schon?
last.fm
trnd - be trendy
I hear Metal
Visit GeoURL
Powered by Linux
Zsh lover
VIM! The Editor
Get Firefox
Ihr, nicht ich!
My amazon wishlist

BLOGROLL