home :: hacks :: photo

RSS 0.91 feeds Subscribe and save over 75% off newsstand price!

car - 9
games - 2
hacks - 21
  flac - 4
  photo - 5
  slim - 3
journal - 153
misc - 5
news - 9
pomona - 2
rants - 6

For the biographers:

2005 - 2006 - 2007 - 2008 - 2009

Now playing

Décollage (Cristobal Paz & Leo di Giusto remix)
from Remixed by Bajofondo
at Monday, December 14, 2009 12:51 AM

How this works

Hot Live Webcam

Yes, really.

Recently from Google

from (null), searching for 56 foot ketch

from Mountain View CA, searching for mikey dickerson

How this works

Contact me

mikey@singingtree.com
4171622
mdickers47
mike.dickerson@pomona.edu
pomonamikey
wii number7808 7239 7724 0213
blackberry pin204db8e4

On Notice

  • The sun
  • Librarians
  • Blue
  • Purple
  • David Gray
  • Whirlpool
  • Taco Bell

As seen on The Colbert Report.

This site does not represent my employer.

May look horrible in Internet Explorer.

blosxom logo   Creative Commons License

gotta
knock
a
little
harder

obstrepero.us banner
obstrepero.us mistakes you can learn from

Canon D10 vs. Pentax W80: Fight

filed under: /hacks/photo

see also: G7 vs D-Lux 3

Preparing for my first sailing class last week, I took another trip into point-and-shoot land. The idea was to get something waterproof, since I assumed it would get splashed on the boat, which certainly happens when you go rafting.

Based on earlier reviews, I wanted the Pentax W60. Unfortunately, it was already discontinued, and nobody knew when the W80 was going to show up. So I borrowed Ian's Canon D10. Then the W80 turned up in stock at Amazon three days before I left, so I got one just in time. The point being that I took both of them to Berkeley with me. Here's how it turned out.

First look

All right, so the point of this camera is to get some kind of pictures where otherwise I would have had none at all. I realize the results are not going to be great, and it's going to have the kind of gimmicky feature set meant for the most clueless user. In this respect, the W80 immediately meets–nay, exceeds–expectations. It's loaded with useless crap like in-camera aspect ratio selection (which just throws away some of the captured pixels), and I really don't need two different "modes" for Kids and Pets. "Smile Detection" has been chosen as the function of the one and only dedicated button. Fine. But even given all this, I'm still surprised to find that there is no Tv or Av mode. At all. Exposure compensation is possible via clunky menus, but that's all as you get. Ouch.

How does the D10 stack up? I find it just a little more usable, mostly because exposure compensation is only one beep away, and the case has one more button. So it hurts a little bit less when Canon dedicates one of them to that useless direct-print thing that nobody ever uses, as is their custom. The D10 also restrains itself to a mere fourteen goofy scene modes, slightly less redundant than the W80's twenty-four.

Now for some pictures

So, figuring when-in-Rome, I kept both cameras on either auto-everything or "beach" mode all week. Getting back to the hotel with the W80 on the first night, I have many pictures like this:

Pentax W80

Here is a nice 40-foot ketch (how about that sailor talk? YARRR!), but what is going on with this picture? First of all, it has a strong blue cast, which makes no sense. The only source of light is the sun, at sea level, hardly difficult conditions. Here's what the scene actually looks like, after forcing the sails to a neutral white in Photoshop:

Pentax W80 after white balance correction

Every camera blows the white balance sometimes, but this blue-purple cast is pretty consistent, including after I took it out of "beach mode," which seems to be trying to exaggerate the blue of the sky and water. The D10 seems to be free of this problem:

Canon D10

Taking a closer look, things only get worse for Pentax:

Canon D10Pentax W80
Canon D10 noise Pentax W80 noise

The Canon doesn't blow me away, but it's in the mid-tier point and shoot ballpark. The Pentax would be in that ballpark too...if this were ISO 400. But this is ISO 64. 64! Aren't we getting about a trillion photons per pixel at this speed? Yet there's painful noise in both chroma (fake magenta and green tints) and luminance (overall grainy look). And at f/5.5, 1/400s, ISO 64, bright sun, on a subject that is barely moving, this should be showing us the camera at its best.

And the problems don't stop there:

Canon D10Pentax W80
Canon D10 chromatic aberration Pentax W80 chromatic aberration

If you need to illustrate chromatic aberration, both cameras will do, but at least the Canon has to be pushed into blown-highlight territory. Again, not too bad, considering how the optics must be compromised to be able to zoom in a sealed package with no exposed moving parts. But the W80 happily bleeds purple fringes anywhere there's a light-dark transition. Fortunately those hardly ever happen in pictures.

Movie mode

If the image quality problems of the W80 were too subtle for you so far, try the movie mode. Watch in amazement as skin tones, brown rails, blue life jackets, and shadows all fade to purple. This isn't even the worst video by far; it's just one that Chrisi already uploaded to youtube so I don't have to.

Too bad, because the W80 claims 720p video at 30fps. There are a whole lot of pixels, they just all suck.

Here's me doing the same drill, as seen by the Canon D10. Fewer pixels, and the contrast isn't great (and I don't do as well at slowing the boat down), but the color looks more or less like it was shot under the Earth sun:

Verdict

I've never said this before, but Pentax has made the W80 so bad that I don't want it. Assuming they'll take it, it's going back to Amazon. Some updated reviews are coming out now, and they confirm that somewhere in the process of smashing those so-very-important two more megapixels onto the sensor, they made the actual image quality dramatically worse than the W60.

If I really needed a waterproof camera, I'd have to get a D10. It did a perfectly serviceable job, and my only complaint is that it's so big and bulbous, and doesn't fit in a pocket. But the real moral of the story is that I don't need either of them, at least not for sailing. If you're going out for a class to do drills, it's hardly worth bringing any camera, because you're going to be busy all day. If you're going out to sail like a normal person, just use a normal camera. The wettest I got either of these was rinsing them under the faucet at the end of the day just in case they got splashed with salt water at some point.

Beware that there are huge gaps in my non-scientific test, such as: I never actually took either one underwater. So you'll want to read other opinions. But I'm pretty sure you won't find I've got it completely wrong, unless there is some kind of manufacturing problem with these early samples.

16 Aug 2009 23:09 PT - persistent link - trackback - 3 comments

Stitching gigantic panoramas in OS X

filed under: /hacks/photo

Several years ago, somebody showed me a program called "Autostitch," which uses some new technology to automatically assemble one large image from a lot of overlapping small ones. So I thought I would try this in the desert this year, and brought back two sets of pictures meant to be stitched into two large panoramas, one at Aguereberry Point and the other at Eureka Valley.

I figured that with the passage of several years, the state of the art would have advanced to the point that I would have half a dozen stitching programs to choose from. Half an hour of Google searches later, I was extremely annoyed to find that this is not the case. There is still almost nothing available except the crappy binary-only crippled Windows "demo" of Autostitch. How can this be? It turns out the professors that wrote it have patented the algorithm and are trying to sell it. Great.

So, with Autostitch off the table, is there still any way to get this done? The answer turns out to be yes, barely. I will spare you the many false starts and talk about only the tools that eventually worked.

Taking the source pictures

You have to be mindful of a few things when you take the pictures you are going to stitch together. Mostly, you want to eliminate as much variance across the scene as you can. So, find the place you want to stand, and set your camera to aperture priority. Assuming this is in daylight, you probably want f/8 or f/11. Make sure the ISO setting is fixed, if your camera has an auto-ISO mode.

Now you have locked down two of the three variables that determine the exposure, and need to find a shutter speed. Sweep the camera across the scene, and observe the meter. If you see more than about 2½ stops variance, you might as well give up now, because the end product won't have enough range. Otherwise, pick a shutter speed that looks like it will cover the most ground. Better to be a little under than a little over, so a half-stop faster than the midpoint of the scene is probably about right. Both of my scenes were shot at about f/9 and 1/1000 at ISO 100.

Switch to fully manual mode and dial in the aperture and shutter speed you chose. You might want to switch to manual focus, too, or lock the focus to infinity. Taking landscapes at small apertures, it doesn't really matter. If you are stitching pictures of closer subjects, you'll have to balance depth of field as well.

Now start taking pictures like a crazy man. I didn't fuss about rotating the camera around the nodal point of the lens, because again, tiny parallax errors don't really matter on distant scenery. Don't worry about keeping the horizon level or making precise overlaps, that doesn't matter either. Just make sure there's plenty of overlap, and be aware that anything moving while you are shooting will make life difficult later. I usually shoot raw files, but I turned that off for the panoramas to save time and space.

Generate control points for stitching

The process of assembling the panorama depends on "control points," which means that you tell the stitcher that point P in image A is the same as point P' in image B. You need a handful of control points for every overlapping pair of images, and you can mark them all by hand, but you probably have better things to do with a weekend. So you want a tool that can apply the SIFT and RANSAC algorithms to identify overlaps automatically.

The best we can do for now is autopano-sift, written by Sebastian Nowozin, a grad student in Germany. It has only one glaring flaw, which is that for some unfathomable reason, it was written in C#. Sigh. So off you go to download the 100MB Mono runtime before you can run the 23k of code you need. Once you have gotten it to run, it's easy to use:

# mono autopano.exe eureka.pto IMG*.JPG

Come back in a couple of hours, and eureka.pto is ready to go.

Transform the source images

Next, you need to use a thing called hugin to apply the affine transformations (translations, rotations, skew) to your source images. This is a GUI frontend that thinks it can run the autopano and enblend steps for you too, but I found this awkward and unreliable, as GUI wrappers that rely on command line tools to do the heavy lifting usually are. (I would know, having written one called flacenstein.) So I would recommend that you only ask hugin to do the transformations, and maybe fool with the control points if you want.

Open the .pto file in hugin, and run the thing called Optimizer. This calculates various distortion constants, which I didn't bother to learn what they were, but hey, if there's a button labeled Optimize, how can you not push it? Then go to Stitcher. The projection you probably want is equirectangular. Go ahead and click "Calculate Optimal Size," but think about what you are going to do with the finished product before you accept the "optimal" size. I was using so many source images that the 1:1 output size was about 50,000 pixels wide, which is too many. Printed at 200ppi, that would be over 20 feet wide. So I saved many hours of rendering time by limiting it to 20,000x7,000 or so.

Set the output image format to Multiple TIFF, turn on either kind of compression, and check the "Save cropped images" option. (If you leave out compression or cropping, it will still work, but you might fill up your disk. Each output TIFF tends to weigh a few GB.) Leave the stitching engine set to nona, since it doesn't matter. Click "Stitch Now," and go entertain yourself for another hour or two.

Blend the source images together

When you come back, if you didn't fill up your hard disk and crash, you will find a collection of TIFF images that were generated one from each source image. If you open one of these for fun, you will see that it's just the source image, rotated and distorted as necessary and placed inside a huge blank field. Now you want to lay these all on top of each other and melt them down into one combined image. For that you use enblend, which came in the Hugin bundle (also available on its own).

suntop:bin mikey$ cd /Applications/HuginOSX.app/Contents/MacOS
suntop:MacOS mikey$ ./enblend -o eureka.tif stitched*.tif

This also takes a long time, but when enblend finishes, you're done...almost. More precisely, you're done if you want a TIFF file and are completely happy with the projection you got. If not, you'll want to apply the finishing touches in Photoshop. I hate to say it, but the Gimp is just too painfully slow on images of this size. Anything that triggered a screen repaint, such as clicking on a menu, meant a five minute wait. Photoshop was running laps around it.

All done, here is a finished product:

What to do with it now, is an open question. Kacirek tells me it is possible to get one massive print, using the people that make the prints for the gigapixel project. Otherwise, I was going to slice the finished image into tiles and print them at any standard size, possibly the 10x10 squares from mpix. I thought that if the tiles were mounted on foam board and hung at the right spacing, one might create the appearance of a window. Or at least, this idea might work if executed by a person of sufficient artistic ability.

30 Mar 2008 02:31 PT - persistent link - trackback - 1 comment

Canon G7 vs. Leica D-LUX3: Fight

filed under: /hacks/photo

About six months ago, my main camera bag had gotten so big and heavy that I didn't want to carry it around much. So I took the idea into my head that I should get a point and shoot camera that's good enough that I'm willing to use it at those times when I don't want to carry the 30D around all day, or don't want to draw much attention to myself.

I have been wanting this crazy thing forever, but it's still vaporware more than a year after it was announced. Meanwhile this Leica D-LUX 3 had just come out, with a similar pretty design, plus I could own something with the magic red dot for "only" $600..so that's what I did.

Lots of people will tell you these days that point-and-shoot cameras have gotten so good that there's no real difference with an SLR. I don't know what those people are doing, because for me, that's not even close to true. Once I had the Leica out of its beautiful, Apple-esque packaging, I was instantly frustrated with all the same things that have always sucked about point and shoot cameras: slow to turn on, lame motorized zoom and focus, no viewfinder, clunky menus to change anything, horrible noise at anything over ISO 200.

Not feeling blown away by the Leica, I ended up also buying Gary's Canon G7 which he had barely ever taken out of the box. The problems are pretty much the same, so I resigned myself to the fact that there just isn't a point-and-shoot that I can use like an SLR. But now Gary is thinking about buying the same Leica, so he asked how its noise compares to the G7. I didn't really know, so I did this little experiment. (I threw in the 30D for reference; it's not a fair comparison because it has a much larger sensor. That's kind of the point of an SLR.)

Pixelpeeping (aka measurebating)

Leica D-LUX 3Canon G7Canon 30D
100
200
400
800
1600

As I well knew, both cameras are pretty rough at ISO 400, and anything higher is basically unusable unless you punt to black-and-white and try to pass it off as a grainy film look. I have been doing this with the Leica and have been reasonably happy with the results:

But notice the interesting difference in how the two cameras degrade: The G7 takes on texture like bad TV reception, but the D-LUX 3 takes on weird blocky artifacts that look almost like bad compression. This suggests that maybe I should be using the G7 if I'm going to go for the grainy look.

What if you shoot raw?

The Leica's in-camera software is obviously working much harder at noise reduction, because if you look at its uncorrected raw files, the noise is awful, much worse than the G7 jpegs. With the thing Bibble calls "basic Noise Ninja," you get back into the same ballpark:


D-LUX 3 in-camera JPEG
(ISO 800)

raw file passed through
Bibble+Noise Ninja

You get quite a different effect, but it's hard to say which one is better. The fact that Bibble failed to remove the phantom color tints is troubling, but I cheat around that by going to black and white anyway, and I really don't like the plasticky artifacts that the in-camera process gives you instead.

Meanwhile, we can't compare this with the G7 raw output because there's no such thing. The G5 and G9 have this feature, but, inexplicably, the G7 does not. There is a weird firmware hack that restores it, but it's not straightforward–even once you have a G7 raw file in your hot little hands, no ordinary program can render it. You need more weird hacks, after which it might mostly work. I'm skeptical that this is worth the trouble, so I haven't tried.

Other observations

I don't like the G7's native 4:3 aspect ratio, which looks like "digital camera" to me. Unlike the Leica's 16:9 format, which looks new and exotic.

They can both make arbitrarily long full-motion videos. The Leica can do this in either 4:3 or 16:9, but only the G7 can operate the zoom while recording.

If you want to look cool, the Leica excels at that. Several non-photo-geeks who know nothing of Leica have said, "Wow, that looks like a really nice camera." There is also a beautiful retro-style leather case that you can never find in stock. (Yes, it's $130 for a case; you're dealing with Leica now.) Looking pretty isn't everything, but it isn't nothing, either. The G7 isn't without its charm, but it's only going to catch the eyes of other photo geeks. Everybody else is just going to wonder why your camera is so big.

The G7 has a hot shoe, which is crucial if you are into wacky lighting. I am just getting started on that road, but even slapping the Speedlite with Omnibounce on top gives you the ability to light up a room and escape high-ISO hell, which the Leica will never do. It does make for an oddly proportioned setup, though.

The G7 has two customizable program settings on the dial. I have one set to what I call "Portra" and the other to "Velvia." But, I end up not using these, because I don't usually want to take risks with weird settings when the result will be baked into an unfixable jpeg. Bizarrely, the custom programs also memorize the focal length of the lens, so when you switch modes, you have to wait while it zooms to some random position.

On the other hand, when the D-LUX 3 is given enough light, there is a certain softness to the highlights and overexposed areas that looks Leica-ish to me. This is no doubt an illusion created by decades of Leica marketing, but I like it anyway. For example:

Non-conclusions

With the exceptions noted above, either of these cameras will do whatever you want. Whichever one I spend more time with will be the one that makes better pictures for me. So far, as you can see, that's been the Leica. I seem to prefer the smaller and prettier one when I'm not going to take my "real" camera. The G7, being neither here nor there, tends to get left at home. That may change if I start bringing my own light.

One last thing: if you are thinking of buying the Leica, you probably already know that you can get exactly the same hardware without the magic red dot for $240 less. This is called the Panasonic DMC-LX2. The Leica version supposedly has different firmware, but I don't know what the differences are.

21 Jan 2008 03:23 PT - persistent link - trackback - 0 comments

Photoprism on your Google homepage

filed under: /hacks/photo

Since I continue to have some small gaps in my weekend schedule to fill, and I am still in no condition to go out of the house thanks to last week's adventure, I have been looking at some of those Google products that I have never used, even though I now spend about 60 hours a week keeping them running. We were strongly encouraged to sign up for at least Gmail, Google Talk, and Orkut. The reasoning is that these things are supposed to be the best mailer, IM service, and Friendster, respectively, and if they aren't, I have no excuse, since it is theoretically in my power to improve any of them.

So I went and forwarded all of my email to my gmail account, because it's all we use at work, and I might as well stop logging in and checking the various places all the time. Then once you are using gmail, you can see new messages on your Google "homepage."

I never paid any attention to this Google homepage before, but it is pretty cool. It takes "modules" which you can pick out and rearrange, all using their crazy-ass AJAX. The module API is open, so you can install whatever you want on your home page. In about an hour I had recreated everything that I had on my own little page, including the little box that shows random pictures from photoprism.

Here is what you do: On the "Add Content" bar, enter this in the "Create a Section" box:

http://www.photoprism.net/photoprism-module.xml

You can even set which gallery you want to see ("Public" is 1, I am 8, Laura is 18, Sarah is 126, and nobody else uses it really). The whole thing is about 12 lines of XML, and very simple. (Well also because I wisely designed photoprism to interoperate easily with this kind of thing, if I don't say so myself.)

One of these days I will make up a Dashboard widget for OS X, which is also a cool and open API, but I just never seem to use my Powerbook. And one of these days I will even fix the AJAX version of the site so that you can create new locations, for which Laura has been patiently waiting since last fall. I have been using the PostgreSQL console to do it, which isn't great for anybody else.

04 Mar 2006 22:25 PT - persistent link - trackback - 3 comments

RSS feeds for photoprism

filed under: /hacks/photo

I went to a meeting yesterday to hear somebody from Apple talk about podcasting. It turned out to be too much sales pitch and not enough hard information for my liking, but it gave me plenty of time to think about podcasting, RSS, and all this other fashionable stuff that has been on my radar for a while, although I haven't bothered to figure out how it all works.

My photoprism thing seems to fit the model of a quasi-news site with regular updates, so I thought I would make it into an RSS feed. This turned out to be easier than I thought, so here it is:

Firefox RSS icon My photoprism feed
Firefox RSS icon All-of-photoprism feed

You should be able to subscribe these links to whatever RSS reader you are using, such as Google Reader, or you can make them "live bookmarks" in Firefox. To get your own gallery's feed, append ?g=123 (where 123 is your gallery number, which you can see in the links on the "change gallery" page) to the base URL of http://www.photoprism.net/servlet/rss.

Or, if you just happen to wander through the photoprism browse pages in an RSS-aware web browser like Firefox or Safari, you should get the special orange icon that tells you an RSS version is available.

16 Dec 2005 16:40 PT - persistent link - trackback - 0 comments

Copyright © 2005-06 Michael A. Dickerson