Sunday, May 4, 2008

Nodal Ninja 3 Mk II setup

See previous blog entry where I described my first spherical panorama project.

This entry is about setting up the panorama head to rotate about the entrance pupil point on the lens to avoid parallax errors.

The panorama head is a Nodal Ninja 3 Mk II. Costs about $200.

The setup described here is specific to the camera body (Olympus E-510) and lens (Olympus Digital Zuiko 8mm fisheye) shown.

Since we're shooting with a fisheye, it's not necessary to get things pixel perfect accurate to give good stitching. However, the closer one can get, obviously the less work software has to do. One can spend over $1000 to get a custom-made precision head designed for a specific camera/lens combination. However, I don't think the $200 panohead is capable of repeatable (sub-)pixel accuracy when repeatedly assembled and disassembled (without calibrating afresh each time).

Step 1

The first step involves pointing the lens straight down at the rotation point on the panorama head. We try to get the center of the camera sensor on the center of rotation.

For this, there is only one adjustment, sliding the vertical arm along the horizonal piece.

This means one must hope the tripod socket is properly (left-right) centered over the camera sensor.

On the E-510, I eyeballed all of this using the 10x liveview mode on the lcd display.

To check: took a picture. Rotated the pano head 180° and took another picture.

Download and paste one picture (rotated 180°) with 50% transparency over the other one to check how closely they match.

Overlay shown:
Close-up of previous picture:

Pretty good registration: about a pixel or so difference.
Not bad for liveview eyeballing.

Not much point in trying to do better, each time the apparatus is set up, there could be easily that much variation in it.
Note the value on the scale on the horizontal arm.
(Washer/bolts are supplied for setting stops.)

Or never diassemble it.
I also secure the rubber-backed plate that mounts to the camera tripod. And leave it attached to the camera.

(I settled on having the plate rotated 180° from what is shown above.)

Since the tripod socket is a single mounting point, there's no way to determine if the plate is truly parallel to the camera body/sensor. This is a potential setup problem.

(There'd have to be a grid printed on the bottom of the camera in order to have a reference point for the marking on the plate.)

Step 2

Next part involves setting the position of the camera body along the vertical arm to make sure we're rotating about the entrance pupil.

This can be determined by various methods to the pixel level, some involving grids, other laser beams at proposed stitching angles. Fortunately, someone has done this for the Olympus Fisheye already.

From Georges Lagarde's webpage on the lens:

"Using the focusing ring external groove location gives excellent results for six shots panos."

So I borrowed his setting.

(I've added a red horizontal line to this picture to indicate the position.)
Seems to give good enough results for me even when tested in a small room (smaller distances = bigger parallax errors).

Again, note the value from the mark on the camera plate on the scale printed on the arm.

For minimum setup time, I carry the camera body with plate attached, and the Nodal Ninja 3 Mk II assembled as shown below:

Friday, May 2, 2008

Spherical panorama photography

I've recently become interested in taking 360° x 180° spherical panoramas.

These are pictures that can be rotated in any direction. (Zooming in and out is also permitted.)

Apple's free Quicktime player works well for this purpose.


I'm actually interested in both handheld and tripod-based setups.
This blog entry will just cover using a tripod.
(The handheld part will come later.)

Here are the components:
  • A tripod. I use an ultralightweight carbon fiber/magnesium Gitzo 1155T (relevant blog entry).
    Its compactness and light weight are big plusses for hiking. However, you can use any tripod.
  • A camera. I borrowed an Olympus E-510 DSLR from a friend. (Previous blog entry on the camera here.)
  • A offset rotating bracket that places the axis of rotation around the entrance pupil of the lens to avoid parallax. The panohead I bought was the Nodal Ninja 3 Mk II. $200.

Oh, I nearly forgot. I also bought an Olympus Digital Zuiko 8mm lens. $660. Weighs about 1lb. The most expensive component here.

But this allows one to cover 360° of rotation comfortably in just 6 shots.

Assembled:
Although the camera is level here, I tilt to point the lens down nearly 15° when shooting for better coverage.

Rotate and shoot every 60°.
Add one zenith shot (for the ceiling).
And zero or more nadir shots (for the floor).

That's a total of 7 shots minimum.

Some details:
  • You can get fancier and rotate the camera as well to get the longest side, i.e. the diagonal, vertical. As a result, some people can get away with 4 shots but that's for another time when I describe the handheld setup.
  • The number of nadir shots depends on how hard it is to patch the location of the tripod.
  • Shoot aperture priority (i.e. fixed aperture), let shutter speed fall where it may. Let stitching software normalize exposure.
  • Let autofocus do its job. A fisheye typically has a large depth of field. (I haven't measured this one.)

Good software exists for arranging and stitching the shots together.

I use autopano pro. Its virtue is that it's almost completely automated. (Some tricky cases will require manual intervention.)

It produces equirectangular projections of the sort shown above. To prepare the image for Quicktime Player, I run it through pano2vr, which maps the image onto the six sides of a cube that the player needs:

Since I'm currently spending time at an architecturally distinguished building, I thought that'd make a good subject for my first panorama project.

See my webpage here for the pictures.

Also see my more recent blog entry on panorama head setup.