|
|
|
|
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-