Technical Notes

(updated February 27, 2023)

The information below covers the equipment and techniques used to create the panoramas found on lookabout.net. No claim is made that any of this represents the best way to do things. This is just the way things have ended up being done after a long process of learning and experimentation.

Software

Each panorama consists of from 6 to 135 individual images stitched together using PTGui. Each panorama was converted to a 360 degree HTML5 file set and linked with its neighboring panoramas using Pano2VR. The “Links” tab above can be used to get more information on these software packages.

 

Photographic Equipment

The equipment used to take the pictures has been evolving over time:

 

            April 2012

·        Olympus E-PL1 with 14-42mm kit lens

·        home-made panorama adaptor

 

            May 2012

·        Olympus E-PL1 with 12mm f2 M.Zuiko lens

·        home-made panorama adaptor

 

            November 2012

·        Olympus E-PL1 with 12mm f2 M.Zuiko lens

·        “Nodal Ninja 3 + Mk II Rotator” panorama adaptor

·        Gitzo GT0531 tripod

 

            March 2013

·        Olympus E-PL5 with 12mm f2 M.Zuiko lens

·        “Nodal Ninja 3 + Mk II Rotator” panorama adaptor,

·        Gitzo GT0531 tripod

 

November 2016

·        Olympus Pen-F with 12mm f2 M.Zuiko lens

·        “Nodal Ninja 3 + Mk II Rotator” panorama adaptor

·        Gitzo GT0531 tripod

 

Click on the “Links” tab above for more information on this equipment.

The Olympus 12mm f2 M.Zuiko lens’ ability to focus manually using the distance scale on the lens barrel is a real plus for shooting panoramas, where consistent focus through the sequence of shots is essential. The associated depth-of-field scale is also extremely handy. The lens is the equivalent of a 24mm lens in 35mm terms, though, so it is no fisheye.

Panorama Types

There are two types of panoramas on lookabout.net: cylindrical and spherical. A cylindrical panorama is a 360-degree horizontal strip that has limited vertical coverage. With the equipment listed above, it can be produced with 6 “landscape” orientation shots or 8 “portrait” orientation shots. A full spherical panorama, on the other hand, provides not only 360 degree horizontal coverage, but also full 180 degree vertical coverage from the sky above to the ground below. New spherical panoramas for lookabout.net are typically produced from 27 shots (3 rows of 9 portrait orientation pictures taken at vertical angles of 60, 0, and -60).

The oldest panoramas on lookabout.net are cylindrical. All the newer ones are spherical.

Panorama Formats

All the panoramas on this site are in HTML5 format to allow viewing on a wide variety of devices.

Taking the Pictures

All camera settings are placed on “manual” when shooting the base images that go into a panorama. That includes shutter speed, aperture, ISO, white balance, and focus. Image stabilization is turned off since a tripod is always used. An aperture of f8 and an ISO setting of 200 were used almost exclusively, which gives good depth of field and relatively low noise. White balance is set at the beginning of a shoot based on conditions and doesn’t usually need to be adjusted again after that. Focus is typically set by aligning the infinity symbol on the rotating part of the lens barrel with the f5.6 depth of field mark on the fixed part of the lens barrel. The f8 mark could be used but that might be cutting things a little close. A two second delay is set to minimize camera shake after pressing the shutter button. One pleasant side-effect of all these manual settings is improved battery life.

The exposure is typically set by adjusting the shutter speed only. The goal is usually to keep the brightest parts of the scene no more than about two thirds of a stop over-exposed, if at all. If that leaves the shadows too deep, then post-processing is done on the completed panorama to selectively brighten up just the darkest areas. Adobe Lightroom does a great job at that. In general, it’s usually much easier to deal with underexposed areas than blown highlights.

In some cases, HDR techniques are used. That involves using the Olympus Pen-F’s HDR exposure bracketing feature to shoot each of the panorama’s 27 shots at five different exposure settings, each 2 ev apart. PTGui Pro is then used to merge the resulting 135 images into a single panorama with a wide dynamic range.

As mentioned above, 3 rows of 9 shots are used to make a full spherical panorama. The Nodal Ninja provides click stops to make cycling through each set of 9 shots quite easy. The vertical angles of 60, 0, and -60 are manually set.

The typical checklist for shooting a panorama in the field is:

1. The tripod is set up and a compass is used to align the first picture to north.

2. The tripod is leveled using the bubble level on the Nodal Ninja. It helps to remember that the bubble points to the leg or legs that need to be lowered.

3. The exposure is checked for both the brightest and the central parts of the scene and the shutter speed is adjusted as needed. This step is skipped if conditions are about the same as for the previous panorama.

4. The Nodal Ninja is set to a vertical angle of +60 degrees and a sequence of 9 shots is taken.

5. The Nodal Ninja is set to a vertical angle of 0 degrees and a sequence of 9 shots is taken.

6. The Nodal Ninja is set to a vertical angle of -60 degrees and a sequence of 9 shots is taken, trying to remember to keep feet and shadows out of the scene!

7. Optionally, a 30 second sound clip is recorded using the camera’s sound annotation feature.

8. Occasionally, a realization occurs at this point that one of the earlier steps was overlooked or done incorrectly, resulting in a curse, a reevaluation of the merits of panoramic photography, and then going back and doing it all over again. Shooting a dark frame helps delineate a failed attempt.

9. Once all the above steps are completed successfully, a nadir shot (straight down) may also be taken. This depends on the surface on which the tripod was placed. If the ground is uniform without any special distinguishing marks, the nadir shot is usually skipped and the Photoshop “clone stamp” or “spot healing brush” tools are used when the time comes to remove the tripod image from the panorama.

Creating a Panorama

Back on the computer, the following are the latest (February 2023) steps used to create each spherical panorama:

1. The 27 shots (or 135 for HDR) that make up a panorama are placed into a folder of their own.

2. The images are checked to make sure they are all right side up.

3. The shots are brought into PTGui Pro using the “Load Images” button on the Project Assistant tab.

4. For an HDR panorama, the “enable HDR mode” option is selected, followed by the “Enable HDR mode and link the bracketed exposures” option, along with the “Exposure fusion” option.

5. The “Align to Grid…” option from the Project menu is selected. A grid of three rows by nine columns starting in the upper left is specified and then the Apply button is pressed to organize the images.

6. The “Align images” button on the Project Assistant tab is then used to do the initial stitching together of the images.

7. The Panorama Editor window is used to inspect the alignment. The “Show Seams” button is handy for seeing where the images are being joined. For an HDR panorama, the Exposure Fusion settings in the Panorama Editor window can be used to adjust the brightness and other exposure-related characteristics.

8. If there are stitching errors, such as discontinuities in tree branches or sidewalk seams, they can often be resolved by manually adding more alignment points using the Control Points tab or by applying masks using the Mask tab. Really stubborn stitching errors can sometimes be resolved by going into the Control Points table and deleting some of the automatically generated control points that have a high “distance” value. Also, deleting control points that fall directly on the tripod head or ones in clouds that were moving during the image capture sequence can sometimes resolve stitching errors that occur elsewhere in the panorama. Note that mask changes are applied automatically but the Optimizer must be run to see the effect of any added, modified, or deleted control points.

9. Once any alignment errors have been fixed, the “Create Panorama” tab is selected. For my camera setup, the displayed width usually ends up being a bit over 20,000 pixels. I typically set it to 20,000 even. That seems to work well with a tile size of 625 in Pano2VR. The output file name for the panorama and the location to store the image are also specified at this point. I use the panorama name later when creating the internal HTML5 files, so I always try to make sure the name is unique across all my panorama collections.

10. After setting the size and panorama name, either the “Create Panorama” button or the “Save and send to Batch Stitcher” button is used to create the actual panorama file. Jpeg format is usually used for lookabout.net panorama files generated by PTGui. Tiff is used sometimes to try to maximize the image quality (especially if multiple post-processing sessions are expected) but a 20k by 10k pixel tiff image can come out at more than a gigabyte, so it really eats up the disk space.

11. The generated panorama file is carefully inspected for stitching errors using the built-in PTGui Viewer. If one or more are found, they are usually fixed by going back to step 8. Sometimes stubborn stitching problems are addressed using surgical cut and paste operations in Adobe Photoshop. As an example, palm trees swaying in the wind can cause alignment issues that can only be remedied this way.

12. If there are shadow areas that need to be brightened up in the panorama or other exposure adjustments that are needed, Adobe Lightroom may be used to do that at this point. If a nadir patch is later applied in Pano2VR to remove the tripod, remember to redo the patch if any further exposure adjustments are made.

Converting Panoramas to HTML5 Format

The spherical (equirectangular) panorama files produced by PTGui are converted to 360-degree web-viewable HTML5 content using the following (February 2023) steps. These steps are based on Pano2VR Version 7 64-bit for Windows.

To help keep things organized, I place the panorama file or files to be converted to HTML5 in a unique folder. The steps below are oriented to processing a set of panoramas that make up a tour but pretty much the same procedures are used when dealing with a single panorama.

As mentioned above, no claim is made that any of this represents the best way to do things. This is just the way I have ended up doing things after a long process of learning and experimentation.

 

1. After starting Pano2VR, I choose “New Project” from the startup dialog box. I then browse to the folder containing the panorama files (or file) and select them.

 

2. I save the project right away and give it a unique name.

 

3. In the upper right corner under the column titled “Output”, I click on the ”+” icon and choose “web” to specify HTML5 as the output type. The following steps handle setting up the parameters for this new output.

 

a. I create an output folder and select it on the upper right side of the screen. The output folder contents can be deployed to the web at the end of the process to make the HTML5 content “live”.

 

b. I select a Pano2VR skin. The skin is basically a template for the static elements of the panoramas, like the control buttons at the bottom of the screen. The skin defines both their appearance and their behavior. There are several skins available to choose from and you can customize your own using the skin editor. I use a modified version of the “simplex” skin.

 

c. On the left side of the screen under “Properties – Web Output”, I usually accept the defaults for the “Auto Rotation & Animation”, “Transitions”, and “Hotspots” settings.

 

d. Under VR, I check the enabled box and choose the feather_vr skin. This provides support for a head-mounted display on systems that have one.

 

e. Under the “HTML” settings, I change the “Output File” name to “$p.html”. That uses the project name. I also use the “Edit Template” option (the little tools icon) to enable direct node access, a powerful technique that allows each panorama in the tour to be directly referenced over the web, along with its initial view.

 

f. Under the “Control” settings, I select “Add Fullscreen item” and “Add VR item”.

 

g. Under the “Image” settings, I set the tile size to 625 if I am using 20,000 x 10,000 image files. Sometimes I generate 22,720 x 11,360 image files to make the most of the 20-megapixel sensor on the Olympus Pen-F. With those files I specify a tile size of 355. I also select “Multi Res” and “Auto” levels if they aren’t already marked.

 

h. Under the “Advanced” settings, I change the output file name to “$p.xml” to use the project name for that file. Also, under the multiresolution filename drop-down list, I choose “tiles/$n/c%c_l%r_%y_%x.jpg” to put all of a panorama’s tiled images in one folder.

 

4. I bring up the “Properties – Project” options on the left by clicking in the center viewport window and fill out the fields (title, description, author, etc.) under “Project User Data”.

 

5. For each panorama, I click on the panorama thumbnail at the bottom of the screen and then set the following “User Data” fields: Title, Description, Author, Date and Time, and Copyright.

 

6. For each panorama, I use the Pano2VR “Tour Map” feature to fix its position and orientation. A double-click on the map sets the position. Then, after clicking on “Pick landmark”, a second double-click defines the point of view. Note that the “Address” field at the bottom of the map box can be used to search for a location, like Sequoia National Park. This can save a lot of searching around on the map.

 

7. If I am linking multiple panoramas into a tour, I often start by using the “Automatic Linking Sequential” option from the drop-down menu above the map. As the name indicates, this creates a set of sequential hot spot linkages for all the tour nodes (panoramas). As needed, I then manually fine tune the location of the hotspots by unchecking the hotspot’s “Auto Place” option and then dragging the hotspot icon to the desired location in the panorama. As needed, I adjust the initial view that will be displayed when the hot spot transitions to another panorama. Pano2VR provides a red and white bullseye icon in the hotspot’s settings that can be used to easily set the view. I manually create any additional hotspots and links that might be needed.

 

8. For each panorama, I use the center preview window to orient it to the desired initial view and then right-click and choose “Set Default View”. In the Viewing Parameters section on the left, I usually set the “Max” “Rectilinear” “Field of View (Zoom)” to about 60 or 70 degrees. This is just a personal preference to limit distortion when zooming out.

 

9. For each panorama, I use the Pano2VR Patch option to mask out the tripod image. This is done by clicking on Patch, then positioning the panorama to the center of the tripod, clicking on its center point, and then sizing the movable box that is displayed so it covers the whole tripod. If a mirror ball is being used to cover the tripod, it can be selected under the “Type” field and then Apply can by clicked to generate it. If the tripod is to be replaced with a view of the ground underneath it, the Type field is set to “Image” and the “Extract” button is clicked to make a patch file. That patch file is then automatically opened in an image editor (I use Photoshop). There the tripod can be edited out, either by overlaying an image of the ground that was taken after the tripod was moved (a nadir shot), or by using the Photoshop “clone stamp” or “spot healing brush” tools. The approach that uses an actual nadir shot produces the most accurate results, but it can take a bit of work to get it right. Upon saving the file in Photoshop, the updated patch file is automatically integrated with the panorama in Pano2VR. One word of warning, once you have created a patch, don’t do any further exposure adjustments on the original image file or the patch image will be out of sync.

 

10. The “cogged wheel” icon is then used to generate the HTML5 output. A set of files and directories are produced, all of which are posted to the web when the content is deployed.

 

11. After the HTML5 content has been generated, the preview option allows it to be viewed from within Pano2VR. Be aware that it’s not possible to view the content simply by double-clicking the generated html file in the Windows File Explorer window. A web server is needed to view the content and Pano2VR has an internal one built in for testing the generated output.

 

12. As subsequent edits are made, Pano2VR’s “live update” option is used to automatically rebuild the project and update the view in the browser each time the project is saved.

 

Many of the above options can be set as defaults in Pano2VR so they don’t have to be respecified each time a new project is created. The “Save as Default” option can be found under the File menu.

 

A YouTube video is available in which I walk through the steps described in this section for converting panorama image files into HTML5 for deployment on the web:

 

https://www.youtube.com/watch?v=yqrF2t-7cag

 

 

Creating Panoramas for 360Cities

360Cities (https://www.360cities.net) offers panoramic photographers a place to display their work. Free accounts are available but advertising is displayed along with the panoramas. For a yearly fee, one can upgrade to a “Pro” account and either turn the ads off or earn a portion of the ad revenue. Panoramas are submitted as equirectangular jpeg (.jpg) files. This is the same format produced by the PTGui steps outlined above but better results can usually be obtained by going into Pano2VR and performing a nadir patch. Pano2VR can then be used to export a new patched equirectangular jpeg by choosing the “Transformation” output option, specifying the “Type” as Equirectangular, specifying the output image size to match the size generated by PTGui, and then selecting jpeg output. One important thing to watch out for: it’s probably best not to use the “default view” if the tilt or roll settings are non-zero. That can result in a warped looking output. Uncheck the “Use default view” box and set the tilt and roll to zero before doing the export. Note that all these settings are in the left-hand panel titled “Properties – Transformation Output”.

One of the attractions of posting to 360Cities is that many of the panoramas placed there are in turn posted on Google Earth. Some are even chosen by Getty Images. Another plus: they support a VR capability to allow your panoramas to be viewed using a VR headset. One downside: there doesn’t seem to be any support for creating a tour.

Creating Panoramas for Google Maps

Google accepts spherical panoramas for publishing under Google Maps.  They sometimes refer to the panoramas as “photospheres”. All you need to submit panoramas is a free Google account. The panoramas to be uploaded must be equirectangular jpeg files with dimensions no greater than 14,000 x 7,000 pixels. Submissions are usually processed and available for viewing within a few minutes. To submit a panorama, go into Google Maps and search for the panorama’s associated location. Then simply click on the location’s “Add Photo” option.

The same Pano2VR “Transformation” option described above for creating panorama files for 360Cities can also be used to create Google Maps panorama files. Just keep the width at no more than 14,000 pixels. Note that the location information and panorama metadata (user information) specified in Pano2VR is typically passed along in the exported equirectangular jpg files.

Google provides a Street View app for smart phones that can be used to manage your Google Maps panoramas. Among other things, it allows panoramas to be linked together into a tour. As might be expected, the linked panoramas have Street View style “underfoot” circled arrows when viewed under the app or Google Maps to indicate the links to adjacent panoramas. The linkages seem solid when viewed in the Street View app but under Google Maps I find that the links occasionally dive into someone else’s panorama, which pretty much breaks the tour.

Pano2VR has extensive support for Google Maps and Street View. It’s now possible to directly upload an entire project of linked panoramas directly from Pano2VR to Google Maps. I’ll try to comment further on that functionality when I get more experience with it.

The awesome Google Earth VR app includes links to Street View panoramas, so if you submit panoramas using Google Maps, you may be able to find and view some of them using Google Earth VR and a head-mounted VR display. Several Lookabout.net panoramas can be found and viewed under that app.

 

Embedding Panoramas in Esri Story Maps

While providing links to panoramas in Esri story maps is very straightforward, embedding them as “live” content can be tricky. With older-style story maps, like A Look Around Redlands Revisited, panoramas can be embedded reliably and techniques like Pano2VR’s direct node access can be used to provide hot links that reposition the view as desired. Unfortunately, those older-style story maps are no longer supported. The new story map formats are generally much more powerful but at the time of this writing (early 2023) , using direct node access to reposition the view on an embedded panorama is not yet supported.

Also, there appears to be an intermittent technical problem with the new-style story maps that causes access to embedded panoramas to be occasionally and seemingly randomly lost when editing. Strangely, this problem does not occur after the story map has been published. However, it can make producing a story map with a number of embedded panoramas extremely difficult. A Look Around Veterans Memorial Park is an example of a new-style story map with several embedded panoramas. It was produced by only doing a very few edits at a time and discarding changes and restarting if access to one of the panoramas was suddenly lost during editing.

The web hosting service firewall can also affect access to panoramas in story maps. For example, a setting of X-FRAME-OPTIONS=SAMEORIGIN on lookabout.net’s firewall prevented panoramas embedded in story maps from being displayed. The solution was to switch to a Content Security Policy that provided embedding rights to arcgis.com.

 

-end-