contact
This site is completely ad-free and therefore depends on your donation.
This site is completely ad-free and therefore depends on your donation.

Tips, Tools & Techniques for Panorama Creation

image: Tips, Tools & Techniques

Over the time many small programs and solutions have gathered that might be of some use to others. The batch files, scripts, photoshop actions and other solutions I present here are free to use and copy. Each file contains a small readme that explains usage in english and german language. I appreciate your feedback and enhancements (Mail)


Auto Blend 360 photoshop CS3+ Javascript & Action set

Runs Photoshop Auto Blend Layers without creating a visible 360° seam. Enclosed actions can be put into a droplet, which can be used as "viewer" in PTGui.

Auto Blend 360 doubles the canvas width for all layers and runs photoshop Auto Blend Layers. Processed layers are merged to one and the result is cropped to the previous width. If there is a layer "Blended panorama" (blended by PTGui) it is preserved as "PTGui blended panorama", the auto blend result is named "Auto blended panorama".

Caution! Doesn't solve the zenith and nadir problem for spherical panoramas, where a vortex artifact may be created. More in the enclosed Readme.txt
Requires photoshop CS3 or higher.

Version 0.6, Jan 2019: Adopted to multi-lingual PTGui, more error checking, avoids dialogs in batch mode

Download auto_blend_360.zip


Equirect tools photoshop CS3+ Javascripts & Action sets

Contains two scripts for easier editing of 360° panoramas with multiple layers.
Shift Half Width moves all layers and masks of a panorama by half the width, so that the left and right edges join in the center of the image.
Double Width doubles the width of all layers and masks allowing to work beyond the right and left edges.

Caution! Doesn't solve the zenith and nadir problem for spherical panoramas, where a vortex artifact may be created. More in the enclosed Readme.txt
Requires photoshop CS3 or higher

Version 0.3, March 2019: Bug if ruler units are not pixel fixed.

Download equirect_tools.zip


For Each Layer photoshop CS+ Javascript

Executes a photoshop action for each (selected) layer of a photoshop document. The action can be chosen from all actions in the action palette, either per dialog or by editing the source file. Automates tasks that need to be executed for each layer of a document.

Caution! The script doesn't check whether the action can be run for a given layer! It should be known how to record actions.
Requires photoshop CS or higher

Version 0.1, Apr 2017

Download for_each_layer.zip


Export Layers with Alpha photoshop CS+ Javascript

Exports layers from a photoshop document to single TIFF files. layer masks are saved as Alpha channel. Color and brightness adjustment layers - no matter whether global or attached to single layers - are applied to each file prior to saving. Output filenames are created automatically. Purpose is to dismantle a multi layer panorama in it's single images after editing masks and / or colors in order to pass them to Enblend.

Purpose and function of Enblend should be known if the action is used for that.
Requires photoshop CS or higher

Version 1.1, Okt 2005 - Now deletes additional alpha channels

Download export_layers_js.zip


Extract and insert floor or zenith image from an equirectangular panorama PTGui Templates

Template for PTGui that extracts a 120°x120° sized rectilinear image (zenith or nadir) from an equirectangular panorama. Template to re-insert the extracted image into the original equirectangular panorama. Both batchable.

More possibilities how to extract and re-insert rectilinear views in the Panotools Wiki

Version 3.0 (PTGui 11 compatible, zenith and nadir, PTGui 10 version enclosed)
Version 3.1 Floor and zenith image can be inserted at once (thanks to Andrey Ilyin for the idea.)

Download extract_insert.zip


Azimuth (direction) of the sun from EXIF GPS data Batch & Script

Extracts GPS data from an image and calls wolfram alpha in order to calculate the sun position. Including shell script for Mac & Linux (many thanks to Florian Knorn from pano-guru). Purpose is to get the heading of the panorama f.e. at 360cities.

Version 0.2

Download wolfram_azimuth.zip


Shutdown computer when program terminated Batch

Waits until a program specified in the command line has terminated, then shuts down computer. Saves energy by switching off computer after long jobs.

shutdown_if_terminates.bat file looks every 6 seconds whether PSList still lists the process specified in the command line. If not it waits 60 seconds whether the process restarts. Is this not the case a 60 seconds count down starts before the the computer is shut down. This count down can be interrupted with abort_shutdown.bat

Usage

shutdown_if_terminates <process_name> <wait_seconds>

<process_name> is any process as listed by PSlist (mandatory)
<wait_seconds> is a number specifying the seconds to wait whether the process restarts (optional, default 60)

Examples:

C:\> shutdown_if_terminates PTGui
looks for the termination of PTGui and then waits 60 seconds whether it restarts

C:\> shutdown_if_terminates photoshop 10
looks for the termination of photoshop and then waits 10 seconds whether it restarts

The batch files can be copied into any folder. I recommend to place links on the desktop, in start menu or in any folder and edit the command line in the link properties. Use PSList from the command line to determinate the correct process name.

C:\> abort_shutdown
is called to cancel the count down of pshutdown. To stop shutdown_if_terminates before the count down starts simply close the command window.

Requires PSTools from Sysinternals

Version 1.0

Download shutdown_if_terminates.zip


© Erik Krause 2002 - 2019 All images on this pages are protected by copyright law. Any use - even pivate - requieres written permission by the author!

contact

Erik Krause
Herchersgarten 1
D-79249 Merzhausen
e-Mail: Erik Krause

data protection

This page does not collect any data
The IP address in the server logs is anonymized.

$(window).on('resize',function() { if (Foundation.MediaQuery.is('large')) $(".kopf h1").css('font-size', Math.max(($(".kopf").width() / 24), 38) + 'px'); else $(".kopf h1").css('font-size', ''); }).trigger('resize');