Monday, March 31, 2008
SoFoMoBoGoGoGo
Posted by
Unknown
at
7:38 AM
4
comments
 
 
Labels: creativity, inspiration, sofobomo
Sunday, March 30, 2008
the candid frame
Posted by
Unknown
at
6:49 AM
0
comments
 
 
Labels: artists, inspiration, photographers interviews, portraits, process, strangers
Friday, March 28, 2008
flickr set parser for GPSVisualizer
Geekier than normal post today. If you aren't interested in python programming, flickr's API and GPS display of images in Google maps or Google Earth then I'd stop reading now. Here's another picture from Death Valley. See you again tomorrow.
Right. Still here ? I've been using GPSVisualizer to combine a GPS tracklog, with geotagged images on flickr. Images are entered into GPSVisualizer as a series of CSV values, in a fairly flexible format. The first line provides the layout:latitude, longitude, name, url, thumbnail, descEach line after that is one entry for an image, with the location in decimal degrees, followed by various text fields containing the description, title and links to the actual image. For example:
36.366953, -117.391867, "shot up car", "http://flickr.com/photos/mcgregorphoto/2355449153/", "http://farm3.static.flickr.com/2323/2355449153_c733f5ee1e.jpg", "a long way from nowhere, burnt out and shot up, just off the access road" 36.442947, -117.435447, "half way point", http://flickr.com/photos/mcgregorphoto/2356283640/, http://farm3.static.flickr.com/2388/2356283640_be78036888.jpg, "lunch about half way into the hike"Initially I generated this file by hand, extracting the EXIF location from the image files using exiftool. I then went through each image, entered a title, found the URL for the image on flickr, extracted the URL for a thumbnail image and added a longer description. This was painful to say the least. It was only 16 images but it was a pain. Particularly as all the information was already there, in a flickr set. So I looked up the information on the flickr API, found a python library to access it and wrote the script below in half an hour. Given the URL or set id for a flickr set, it iterates over all of the photos and produces a CSV formatted list that's suitable to load straight into GPSVisualizer. This can then be linked along with the original GPS track log to generate a map with images and also the path traveled. It can be used for both Google Earth and Google maps path generation and runs pretty quickly. I'm posting it here in case it proves useful to anyone. To run, you'll need an up to date python install and additionally will need to download and install the flickrAPI for python. The final step is to obtain an API key for flickr. This key has to be added to the script, in the marked location. Once installed the program is run with:
python flickr2gpsv.py -s set_id > results.csvor, alternatively,
python flickr2gpsv.py -s http://www.flickr.com/set_url/ > results.csvIf you find this useful, please let me know. You can download the script here. (probably better than cutting and pasting from below, because the download will keep the correct indentation). The archived version also includes a patch from Brad Crittenden to add unicode support.
# Author : Gordon McGregor
# Contact: http://gordonmcgregor.blogspot.com
#
# License : public domain
#
# Purpose: parses a flickr set to extract information to generate a map overlay, via http://gpsvisualizer.com
#
# Usage: python flickr2gpsv.py -s 72157604221838137
# or
#        python flickr2gpsv.py -s http://flickr.com/photos/mcgregorphoto/sets/72157604221838137/
#
#   If the URL is given, the set_id is automatically extracted
# Typically, you'll want to  redirect the output to a file, as errors & comments will appear on stderr (not in the file)
#
# e.g., python flickr2gpsv.py -s 72157604221838137 > output_list.csv
#
#
# only generates entries for photos with geographic information attached
#
# Required libraries:
# the flickrapi python libraries, from http://flickrapi.sourceforge.net/
# installation info here http://flickrapi.sourceforge.net/installation.html
#
import flickrapi
import time
import sys
from optparse import OptionParser
from urlparse import urlparse
# enter your api_key here to connect to flickr
# obtain one from http://www.flickr.com/services/api/keys/apply/
#
api_key = 'your_key_goes_here'
def getURL(sizes, size):
for element in sizes.sizes[0].size:
if element['label'] == size:
    return element['source']
raise flickrapi.exceptions.FlickrError, "No " + size+ " URL found."
# the main routine
# pass in a flickr set id
# outputs the appropriate data for GPSVisualizer to stdout
def parseSet(set_id):
cnt = 0
flickr = flickrapi.FlickrAPI(api_key)
photoset = flickr.photosets_getPhotos(photoset_id=set_id)
# iterate over list of photos in list
print 'latitude, longitude, name, thumbnail, url, desc'
for photo in photoset.photoset[0].photo:
try:
# get the various bits of data
    sizes = flickr.photos_getSizes(photo_id = photo['id'])
    info  = flickr.photos_getInfo(photo_id =  photo['id'])
# extract the required fields
    try:
        lat = info.photo[0].location[0]['latitude']
        lon = info.photo[0].location[0]['longitude']
    except AttributeError:
        raise flickrapi.exceptions.FlickrError, "No Geographical data found."
    name = photo['title']
    thumbnail =  getURL(sizes, 'Small')
    url = info.photo[0].urls[0].url[0].text
    desc = info.photo[0].description[0].text.strip()  # strip to remove extra newlines
    if(len(desc)):
        print '%s, %s, "%s", "%s", "%s", "%s"' % (lat, lon, name, thumbnail, url, desc)
    else:
        print '%s, %s, "%s", "%s", "%s",' % (lat, lon, name, thumbnail, url)
    sys.stderr.write('.')
    cnt = cnt + 1
except flickrapi.exceptions.FlickrError, e:
    sys.stderr.write( '\n'+photo['title'] +' : ' + e.__str__() + ' Skipping.\n')
return cnt
def main(argv=None):
if argv is None:
argv = sys.argv
usage = "usage: %prog [options]\nPass in a flickr set to produce output suitable for GPSVisualizer's google maps overlay"
opt_parser = OptionParser(usage=usage)
opt_parser.add_option('-s', '--set', dest='set', help="flickr set to process (full url or set number)")
(options, args) = opt_parser.parse_args()
if(options.set == None):
opt_parser.print_help()
return 1
# treat the command line value as a url
url = urlparse(options.set)
# even if it is just a set id, the value ends up in field 3 after urlparse (url[2])
# this removes any trailing /, explodes around any remaining /'s and takes the last value [-1]
# works for a full URL or simple set id
set_id = url[2].strip('/').split('/')[-1]
if (not set_id.isdigit()):
sys.stderr.write("set_id" + set_id + "is not a number. This is not expected.")
return 1
sys.stderr.write("Processing set id "+set_id+"\n")
start_time = time.time()
num = parseSet(set_id)
end_time = time.time()
total_time = end_time - start_time
average = 0
if(num):
average = total_time/num
results = "\nProcessed %d valid photos in %0.1f seconds (%0.2f seconds/photo). Finished.\n" % (num, total_time, average)
sys.stderr.write(results)
if __name__ == "__main__":
sys.exit(main())
Posted by
Unknown
at
10:55 PM
2
comments
 
 
Wednesday, March 26, 2008
high dynamic range - it's not just for Saturday mornings
Posted by
Unknown
at
8:59 PM
1 comments
 
 
Labels: hdr, landscapes, process
SoFoBoMoSho
Tuesday, March 25, 2008
SoFoBoMoExpresso
Posted by
Unknown
at
9:37 PM
2
comments
 
 
SoFoMoBoCheapo
More of a 2 for the price of 1 deal, rather than 'one book free' but it might be useful for anyone doing the SoFoMoBo thing. Offer info is here. I'm not endorsing or reviewing mypublisher here, just passing on the coupon offer. They may well spam your email to death too. I suggest using a disposable email account, such as those available from Spamgourmet.com
Posted by
Unknown
at
8:58 PM
0
comments
 
 
Sunday, March 23, 2008
birthday in the valley
One of the reasons I went to Death Valley at the beginning of the month was to spend my birthday out there. Amanda was away for work and I wanted do something, rather than sitting around the house! I spent the first few days doing a bit of short hiking and taking a lot of pictures. I wanted to try something a bit more adventurous on my actual birthday. I got up bright and early on the 4th, at 4:30am and headed out to the Badwater salt flats to shoot the pre-dawn and sunrise. A quiet, soft start to the day and almost nobody out there. I walked out further than I've been before, about a mile and a half, to where the salt really gets flat and white. Peaceful, beautiful and not a sound. Amanda recorded herself singing 'Happy Birthday' on my birthday present, a digital audio recorder, so I listened to that a few times out there!
After breakfast and a bit of packing, I drove over to the Panamint Valley. Both times I'd been to the park before I'd looked longingly at the Panamint dunes. They are a bit tough to get to - about 6 miles of dirt roads then another 5 mile cross country hike, over a rocky alluvial fan then up through sand dunes. You can see the road in the distance on the far left of this shot and then the dunes on the hillside to the far right. This time I was going to get there. The hike was great - I took about a gallon and a half of water, my camera and some food and set off up to the dunes. It was a warm 85F and sunny at the start and got pretty hot as the afternoon wore on. Click here for a flickr slideshow of the hike. The soft dirt and sand made for quite tough going and I averaged a slow 2.5 mph on the way up. Just before the dunes, I found a big creosote bush and slept under it for an hour while the shadows lengthened and the light got better for photos. My Tilley hat made for a great shade, hung up in the branches of the bush. That was the first respite from the sun I'd found all afternoon and it was really welcome. So much cooler out there out of the sun with the really low humidity. Lovely. About 3 pm I left the pack behind and walked up into the dunes with my camera. It was a beautiful experience to have that whole expanse of dunes to myself, no foot prints, no people, no noise. Nobody for miles around. The dunes there are steeper than those near Stove Pipe Wells, the hillside and wind have combined to really pile them high and sharp. A couple of times I wasn't sure I'd be able to make it to the top of the highest dune, I almost rolled off down one slope. Eventually though I clambered to the top - the view was stunning - all the valley opened out below me. The narrow peak of the dune actually split into the 3 spines - a star shaped dune! Shooting right at the top was a bit disorientating, looking through the camera and trying not to step off into space. I sat for a while and drank it all in. Heading back down was a whole lot easier, once I found my pack. Creosote bushes all look the same from a distance! A GPS waypoint made life easier, though I did worry about my batteries dying. It was all downhill to the car and not so much weight to carry either. I think I need to find some hikes where I start off at the top, hike down drinking the water then have a lighter load to carry up the hill! I got back to the car just as the sun dipped behind the mountains. All in all, a great way to spend my birthday. A really beautiful desert hike. Lots more pictures in the map below - click on the labels on the right or zoom in and pan around. I've been trying out various GPS tools and GPS Visualizer has been really useful. Massaging the data into a form to create the map above took a bit of work, some use of GPSBabel and a few custom python scripts that I wrote to convert co-ordinates into the right forms. The profile came straight from the GPS track log.
Posted by
Unknown
at
11:12 PM
2
comments
 
 
Labels: "death valley", geeky, gps, insanity, landscapes
Saturday, March 22, 2008
Friday, March 21, 2008
dune dawn
Posted by
Unknown
at
7:56 AM
2
comments
 
 
Labels: "death valley", landscapes
Thursday, March 20, 2008
sunspot
Wednesday, March 19, 2008
dawkins
Posted by
Unknown
at
11:03 PM
3
comments
 
 
Labels: geeky
trial balloon: experiences with blurb.com
 Assembling the book was straightforward in booksmart. I uploaded the final version after some previewing and bought a copy. Surprisingly, the book shipped only a couple of days later - I'd expected a longer lead time. The book arrived in decent packaging, quickly and without any problems. There I had it, a few days later, a book of my photos! First thing is to notice how fantastic it is to have a hardbacked book of your images. There's a certain thrill to that that is difficult to replicate with online displays or even individual prints, mounted and framed or not. I know all I did was pay some money, there's no real validation involved, but it sure looks good! I've put together a few books for different purposes and the feeling hasn't gone away yet. The second thing to note is that 28 sides (14 pages) isn't very many. You end up with quite a slim volume, particularly in hardback. All cover and no content, if you aren't careful.
The slip cover looked great - particularly that green I'd been worried about translated very well, close to how it looked in the soft proof. I'm impressed with how similar it all turned out - throughout the book. On the other hand, I think if I'd uploaded straight, unadjusted sRGB versions of the files I would have been quite disappointed. Some of the original colours just wouldn't have worked out at all. Blurb doesn't make a big deal out of mentioning this - it is there on their site, but they certainly don't push colour management and soft proofing. Something to watch for.
The print quality is certainly not as good as I can get from my inkjet (an Epson R800), but is certainly well above acceptable on most of the images. There is a slightly visible cross-hatching in the smoother areas of some images, if you look particularly closely, but from a normal viewing distance all of the images look great. Some of those that were slightly less sharp than others really become more noticeable on the printed page. Also higher ISO black and whites lost a lot of the presence and depth that they have online. They just don't translate too well, the noise becomes more noticeable, the contrast isn't as strong and they just don't have the same amount of life.
The one disappointment for SoFoBoMo is that booksmart isn't a simple way to get a PDF of your book. At least, not without a large watermark through each page. using pdf995 I was able to get a final PDF of the book from booksmart, but the layout is not great and the watermark is very visible. Might do in a pinch, though.
I also made one rookie mistake, putting something too close to the edge of the slip cover. The cropping is probably about a quarter of an inch tighter than the previews - certainly you are well warned about this but I almost lost an eye from the cover! This particular book has a bar code printed on the rear. From blurb's blog it appears that different printers and different books may or may not end up with this bar code. I've also read that all of the books larger than 7" are printed on a slightly better printer, so the quality should improve even over this quite acceptable start.
The binding seems solid, the book feels like a real book. The pages appear to be glued and stitched into a cloth-backed hard cover. It all looks professionally put together, though a bit skinny. A 14 page book cost $22.95 for the 7" hardcover, plus $8 shipping. It is the same price, up to the first 40 sides. Note that blurb refer to pages as each side of one physical piece of paper being one page for the cost calculation. An additional $3 doubles the page count and the book would start to feel more substantial. White space is your friend. Overall I'm happy with the results and plan on using blurb for a final copy of my SoFoBoMo book.
Assembling the book was straightforward in booksmart. I uploaded the final version after some previewing and bought a copy. Surprisingly, the book shipped only a couple of days later - I'd expected a longer lead time. The book arrived in decent packaging, quickly and without any problems. There I had it, a few days later, a book of my photos! First thing is to notice how fantastic it is to have a hardbacked book of your images. There's a certain thrill to that that is difficult to replicate with online displays or even individual prints, mounted and framed or not. I know all I did was pay some money, there's no real validation involved, but it sure looks good! I've put together a few books for different purposes and the feeling hasn't gone away yet. The second thing to note is that 28 sides (14 pages) isn't very many. You end up with quite a slim volume, particularly in hardback. All cover and no content, if you aren't careful.
The slip cover looked great - particularly that green I'd been worried about translated very well, close to how it looked in the soft proof. I'm impressed with how similar it all turned out - throughout the book. On the other hand, I think if I'd uploaded straight, unadjusted sRGB versions of the files I would have been quite disappointed. Some of the original colours just wouldn't have worked out at all. Blurb doesn't make a big deal out of mentioning this - it is there on their site, but they certainly don't push colour management and soft proofing. Something to watch for.
The print quality is certainly not as good as I can get from my inkjet (an Epson R800), but is certainly well above acceptable on most of the images. There is a slightly visible cross-hatching in the smoother areas of some images, if you look particularly closely, but from a normal viewing distance all of the images look great. Some of those that were slightly less sharp than others really become more noticeable on the printed page. Also higher ISO black and whites lost a lot of the presence and depth that they have online. They just don't translate too well, the noise becomes more noticeable, the contrast isn't as strong and they just don't have the same amount of life.
The one disappointment for SoFoBoMo is that booksmart isn't a simple way to get a PDF of your book. At least, not without a large watermark through each page. using pdf995 I was able to get a final PDF of the book from booksmart, but the layout is not great and the watermark is very visible. Might do in a pinch, though.
I also made one rookie mistake, putting something too close to the edge of the slip cover. The cropping is probably about a quarter of an inch tighter than the previews - certainly you are well warned about this but I almost lost an eye from the cover! This particular book has a bar code printed on the rear. From blurb's blog it appears that different printers and different books may or may not end up with this bar code. I've also read that all of the books larger than 7" are printed on a slightly better printer, so the quality should improve even over this quite acceptable start.
The binding seems solid, the book feels like a real book. The pages appear to be glued and stitched into a cloth-backed hard cover. It all looks professionally put together, though a bit skinny. A 14 page book cost $22.95 for the 7" hardcover, plus $8 shipping. It is the same price, up to the first 40 sides. Note that blurb refer to pages as each side of one physical piece of paper being one page for the cost calculation. An additional $3 doubles the page count and the book would start to feel more substantial. White space is your friend. Overall I'm happy with the results and plan on using blurb for a final copy of my SoFoBoMo book.
Posted by
Unknown
at
7:29 AM
7
comments
 
 
Tuesday, March 18, 2008
the great cheese race
Amanda will attest to my love of cheese. This event is one of the things I'd love to participate in or photograph. Some day.
Posted by
Unknown
at
11:39 PM
2
comments
 
 
Labels: geeky
photography. book. now.
good enough
Monday, March 17, 2008
work in progress
Posted by
Unknown
at
6:44 AM
4
comments
 
 
Labels: sofobomo
Saturday, March 15, 2008
sharpie
Posted by
Unknown
at
10:49 PM
0
comments
 
 
Friday, March 14, 2008
happy π day
Posted by
Unknown
at
1:59 PM
0
comments
 
 
Labels: geeky
ghost rider meets Venus
Posted by
Unknown
at
12:24 AM
0
comments
 
 
Labels: "death valley"
Wednesday, March 12, 2008
zabriske
Posted by
Unknown
at
10:43 PM
1 comments
 
 
Labels: "death valley"
Austin Strobist GTG
Posted by
Unknown
at
9:11 PM
0
comments
 
 
Tuesday, March 11, 2008
titus canyon


Posted by
Unknown
at
10:35 PM
2
comments
 
 
Labels: "death valley", gps
stove pipe wells
Posted by
Unknown
at
7:55 AM
2
comments
 
 
Labels: "death valley", process
Monday, March 10, 2008
contrast
 The wide open skies and flat desert was quite a contrast to the scene the night before in Las Vegas. I met my friend, Marti, at the Vegas airport and then we went for a walk around the Strip to find some dinner and do some shooting. I didn't take a tripod but managed to find enough ledges and walls to perch my camera on to get a few long exposure shots that I'm happy with. These days, the best thing about Las Vegas is using it as a jumping off point to all the amazing national parks that cluster around that part of the country. Only about a two hour drive between the scene above and the scene below.
The wide open skies and flat desert was quite a contrast to the scene the night before in Las Vegas. I met my friend, Marti, at the Vegas airport and then we went for a walk around the Strip to find some dinner and do some shooting. I didn't take a tripod but managed to find enough ledges and walls to perch my camera on to get a few long exposure shots that I'm happy with. These days, the best thing about Las Vegas is using it as a jumping off point to all the amazing national parks that cluster around that part of the country. Only about a two hour drive between the scene above and the scene below.
Posted by
Unknown
at
7:52 AM
1 comments
 
 
Labels: "death valley", "las vegas", colour
Sunday, March 09, 2008
GPS tagging
 If you click on the shot of Hamilton pool, above, you can use the show on map option in the lower right to see where it was taken.
I am interested in any good examples of using geo-tagging in photos. It seems like a neat technology and fun to be able to see exactly where you were when you took a shot. I did use it quite a bit while scouting locations too, to mark a spot that I wanted to return to at a better time of day. Really then all I could have done was hit the mark button on the GPS and put a suitable name in. So far I've found this useful for sharing the location with others, more than anything else. When talking through the images, I could click on the GPS link and pull up the satellite view - handy to show just how far away from anything I was. In some other shots, it has been useful to be able to describe the route and thought process taken to finding a particular location. I have considered using it when out shooting in an urban area, to tag locations with great backgrounds for portraits - there are plenty around Austin and I occasionally forget where they are. Again there the information would be more useful for sharing those spots with others that might want to visit. I can already see my shots appearing automagically in Google Earth, when I switch on the flickr layers, which is quite neat. I'd actually like to work out if it is possible to include my images as floating billboards in Google Earth, when you fly past the location where they were shot. That might require directional information though, to really line up the scene.
Useful Links
If you click on the shot of Hamilton pool, above, you can use the show on map option in the lower right to see where it was taken.
I am interested in any good examples of using geo-tagging in photos. It seems like a neat technology and fun to be able to see exactly where you were when you took a shot. I did use it quite a bit while scouting locations too, to mark a spot that I wanted to return to at a better time of day. Really then all I could have done was hit the mark button on the GPS and put a suitable name in. So far I've found this useful for sharing the location with others, more than anything else. When talking through the images, I could click on the GPS link and pull up the satellite view - handy to show just how far away from anything I was. In some other shots, it has been useful to be able to describe the route and thought process taken to finding a particular location. I have considered using it when out shooting in an urban area, to tag locations with great backgrounds for portraits - there are plenty around Austin and I occasionally forget where they are. Again there the information would be more useful for sharing those spots with others that might want to visit. I can already see my shots appearing automagically in Google Earth, when I switch on the flickr layers, which is quite neat. I'd actually like to work out if it is possible to include my images as floating billboards in Google Earth, when you fly past the location where they were shot. That might require directional information though, to really line up the scene.
Useful Links
- Geotagging on Wikipedia
- Geotagging on Flickr
- Geocoding photos on Wikipedia
- Imageingester pro (another tagging program that I hear works well on the Mac)
Saturday, March 08, 2008
birthday
Posted by
Unknown
at
5:10 PM
0
comments
 
 
Labels: books
Thursday, March 06, 2008
rhyolite
Posted by
Unknown
at
8:00 AM
5
comments
 
 
Labels: "death valley", portraits
 







































 
         
        
