Zerene Stacker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
stacker:docs:syntheticstereo [2020/07/12 22:01]
rjlittlefield [Other Resources] Add ref to synthetic vs true stereo comparison
stacker:docs:syntheticstereo [2023/06/18 17:33] (current)
rjlittlefield [Retouching]
Line 120: Line 120:
  
 ===== Tips For Best Results ===== ===== Tips For Best Results =====
- 
-  
  
 The best shifts to use depend on your application and preferences. ​ For our test stacks, values of +-2% or +-3% often work well.  ​ The best shifts to use depend on your application and preferences. ​ For our test stacks, values of +-2% or +-3% often work well.  ​
Line 140: Line 138:
  
 If you are on a Windows computer or have Windows emulation software, you should consider getting a copy of the free StereoPhoto Maker software (http://​stereo.jpn.org/​eng/​stphmkr/​). ​ It provides an excellent viewer that allows displaying a single image in various display formats, including crossed-eye,​ parallel viewing, red-cyan anaglyphs, and many other less common forms. ​ It also provides a variety of editing capabilities. ​ Cropping is especially handy, since this feature is not yet built into Zerene Stacker. If you are on a Windows computer or have Windows emulation software, you should consider getting a copy of the free StereoPhoto Maker software (http://​stereo.jpn.org/​eng/​stphmkr/​). ​ It provides an excellent viewer that allows displaying a single image in various display formats, including crossed-eye,​ parallel viewing, red-cyan anaglyphs, and many other less common forms. ​ It also provides a variety of editing capabilities. ​ Cropping is especially handy, since this feature is not yet built into Zerene Stacker.
 +
 +When using StereoPhoto Maker, it is best to __not__ use any of its alignment features, other than shift left/right to adjust overall depth position with respect to the display surface. ​ All other sorts of alignment features, such as Adjust > "Auto alignment"​ are far more likely to introduce defects than to make any improvements. ​ This is because those features are designed to fix certain issues that are common in camera-based stereo but never occur in Zerene Stacker synthetic stereo. ​ In most cases StereoPhoto Maker will realize that there are no issues to fix, but in some cases it will mistakenly think that it sees a fixable problem, apply some "​fix"​ like rolling the images, and mess things up in the process.
 +
 +===== Retouching =====
 +
 +In most cases you cannot retouch shifted outputs from __un__shifted inputs because image features will not line up correctly.
 +
 +So, **the key trick for retouching shifted images is to retouch shifted outputs from other outputs that were generated with the same shift.**
 +
 +You can use a targeted Stack Selected, or systematic batch slabbing, to generate the shifted outputs to use as source for retouching.
 +
 +As a general rule, we recommend that you avoid retouching of stereo images, except to fix transparent foreground artifact. ​ The reason for this recommendation is that any inconsistency between the two images will be glaringly obvious when viewed as a stereo pair.  At the least, mismatching areas will call the viewer'​s attention by appearing to "​flash"​. ​ At worst, if the retouching process has resulted in horizontal shifts of any patch, then in the stereo view that patch will be seen as pulled forward or pushed backward, so the apparent geometry will have been changed.
 +
 +It is extremely difficult to avoid such inconsistencies when retouching each image independently,​ except for the special case of fixing transparent foreground artifact by retouching from Stack Selected of the foreground regions.  ​
 +
 +As a result, it often takes __much__ more time and trouble to retouch a stereo pair than it does to retouch a single image to the same level of residual artifact.
 +
 +So consider yourself warned: avoid retouching stereo images except to fix transparent foreground.  ​
 +
 +As an alternative,​ consider presenting your results in two forms: a retouched single image that is free of artifact but whose geometry may be unclear, combined with a stereo pair that clearly shows the geometry but may suffer from various artifacts.
 +
 +Now, if you do want to proceed with retouching, then start by considering the situation.  ​
 +
 +If the artifacts to be removed are isolated to just one or a few areas, then the simplest and most efficient approach is to do targeted Stack Selected that covers just the troublesome areas. ​ That will produce shifted outputs that do not show the transparent foreground problem, and you can retouch from the shifted Stack Selected outputs into the correspondingly shifted full stack outputs.
 +
 +If the artifacts to be removed are widespread through the stack depth, then it can be more efficient to generate a large set of shifted Stack Selected outputs by using batch slabbing, as described below. ​ However, again we note that even at its best this process takes a lot of time and trouble to do well, so we do not recommend retouching stereo pairs or multi-frame animations that have widespread artifacts.
 +
 +===== Slabbing =====
 +
 +In general, "​slabbing"​ is a two-step technique in which (1) sets of adjacent original source images are focus stacked to create "slab outputs",​ and then (2) the slab outputs are used as inputs to another stacking operation that puts the whole stack together. ( See [[https://​zerenesystems.com/​cms/​stacker/​docs/​slabbing|Slabbing]] for a general discussion of slabbing.)
 +
 +Slabbing is a powerful way to simplify retouching, and it is particularly helpful for fixing "​transparent foreground"​ artifact in stereo pairs.
 +
 +Used for this purpose, a good workflow for slabbing and stereo pair generation goes as follows. ​
 +
 +(One caution: this procedure should not only be read, but //​followed//​! ​ The procedure is long and complicated,​ and it is easy to go astray.)
 +  - Launch Zerene Stacker.
 +  - Load original source images.
 +  - Determine two Shift X limits, one for each eye's viewpoint.
 +  - Set general batch options:
 +     * Menu select Options > Preferences.
 +     * At Preferences > Alignment, be sure that appropriate options are selected.
 +     * Set Preferences > Slabbing > "​Stacking operation"​ to be PMax.
 +     * Set Preferences > Slabbing > "How to save output images"​ to be "Keep only in project"​.
 +     * Click OK to close Preferences dialog.
 +     * Menu select Batch > Show Batch Dialog.
 +     * Be sure the Queued Batches area is empty. ​ If any queued batches are present, then select and delete them.
 +     * Close Dialog.
 +  - Generate slab script for the __first eye's viewpoint__:​
 +     * Menu select Batch > Slabbing. ​ //(This will automatically open the Preferences dialog.)//
 +     * Set Preferences > Stereo/​Rocking to generate __one__ frame at the __first eye'​s__ Shift X limit. \\ //(Put a checkmark in the box to "​Generate stereo pair or rocking sequence",​ \\ and put the same __negative__ number in both of the Shift X Limits fields.)//
 +     * Set Preferences > Slab Saving > Template to be "First Eye Slab {outseq} {method}"​.
 +     * Click OK to close dialog, generate batch script, and open the Batch Queue dialog.
 +     * Close Dialog to close the Batch Queue dialog.
 +  - Generate slab script for the __second eye's viewpoint__:​
 +     * Menu select Batch > Slabbing ​ //(This will automatically open the Preferences dialog.)//
 +     * Set Preferences > Stereo/​rocking to generate __one__ frame at the __second eye'​s__ Shift X limit. \\ //(Put a checkmark in the box to "​Generate stereo pair or rocking sequence",​ \\ and put the same __positive__ number in both of the Shift X Limits fields.)//
 +     * Set Preferences > Slab Saving > Template to be "​Second Eye Slab {outseq} {method}"​.
 +     * Click OK to close dialog, generate batch script, and open the Batch Queue dialog.
 +     * Close Dialog
 +  - Generate all slab outputs:
 +     * Menu select Batch > Show Batch Dialog.
 +     * Run All Batches.
 +     * Close Dialog.
 +  - Save slab outputs and load them as input files, __already aligned__:
 +     * In the Output Images panel, select all slab outputs.
 +     * File > Save Output Image(s), to any convenient location.
 +     * At Options > Preferences > Preprocessing,​ be sure there is a checkmark on "__Add files to existing project as already aligned__"​.
 +     * Add slab outputs to the Input Files Panel.
 +  - Stack selected with __no added stereo shifts__, to generate each eye's view for the full stack:
 +     * Menu select Options > Preferences.
 +     * At Stereo/​Rocking,​ be sure there is __no checkmark__ on "​Generate stereo pair or rocking sequence"​.
 +     * At Image Saving, set Template to be "First Eye ZS {method}"​.
 +     * OK to close Preferences dialog.
 +     * In the Input Images panel, select all First Eye images.
 +     * Stack > Stack Selected (PMax)
 +     * Menu select Options > Preferences
 +     * At Image Saving, set Template to be "​Second Eye ZS {method}"​.
 +     * OK to close Preferences dialog.
 +     * In the Input Images panel, select all Second Eye images.
 +     * Stack > Stack Selected (PMax).
 +
 +The main products of this long and complicated procedure will be:
 +
 +  * Two output images, named "First eye ZS PMax" and "​Second eye ZS PMax".
 +  * A collection of slab images, named "First Eye Slab ..." and "​Second Eye Slab ...". \\ These can be used to retouch the corresponding eye's main output image.  ​
 +
 +Note that when retouching, it is a good idea to set Options > Preferences > Image Saving > Template to be either "First Eye..."​ or "​Second Eye...",​ each time just before Edit > Commit. ​ This will help to keep straight which view is which.
 +
 +As already noted, the procedure is long and complicated,​ so there are lots of places to go astray. ​ Most missteps will be quickly obvious, but there is one type of error that can be quite mysterious. ​ That results from accidentally stacking with alignment and/or stereo shift added when they were not supposed to be.
 +
 +In particular, it is critical that:
 +
 +  * "Add files to existing project as already aligned"​ is selected, when the slab outputs are added back to the project as Input Files. If this is not done, then Stack Selected will try to re-align the stereo-shifted slabs to match the original source images, and that will generate nonsense output.
 +  * There must be no checkmark on "​Generate stereo pair or rocking sequence",​ when Stack Selected is run to combine the slabs to make full stack results. ​ If the checkmark is left in place at this stage, then the already-shifted slabs will be stereo-shifted again. ​ The resulting output will not be correct. ​ However, it may look reasonable at first glance, so the first hint of this error may be that when retouching is attempted, the slab images do not align properly with the full-stack composites.
 +
 +This documentation is rather new and no doubt can be improved. ​ Please report difficulties in using it, by sending email to support@zerenesystems.com .
 +
 +
 +
 +
 +
 +
  
 ===== Calculating Shift Based On Viewing Angle ===== ===== Calculating Shift Based On Viewing Angle =====
Line 147: Line 248:
   * subjectStackDepth = stack depth at the subject   * subjectStackDepth = stack depth at the subject
   * viewAngle = viewing angle, measured as angular deviation from the usual straight-on view   * viewAngle = viewing angle, measured as angular deviation from the usual straight-on view
 +
 +Recent versions of Zerene Stacker include a Stereo Shift Calculator, which automates the  required computations.  ​
 +
 +Here is an example of its use, corresponding to the numbers shown below:
 +
 +{{:​stacker:​docs:​syntheticstereo:​image008.jpg}}
  
 Given these values, the calculation is straightforward:​ Given these values, the calculation is straightforward:​
Line 166: Line 273:
  
 Viewing angles that are off axis vertically use the same rules, substituting height for width and Y for X.  Note that this means the same angle will require different shift percents for X and Y, in proportion to the frame dimensions. Viewing angles that are off axis vertically use the same rules, substituting height for width and Y for X.  Note that this means the same angle will require different shift percents for X and Y, in proportion to the frame dimensions.
 +
 +
 ===== Other Resources ===== ===== Other Resources =====
  
stacker/docs/syntheticstereo.1594591296.txt.gz ยท Last modified: 2020/07/12 22:01 by rjlittlefield
Copyright 2009-2024, Zerene Systems LLC, all rights reserved.