Focus Stacking


This page contains multiple images and may take a while to load.

A video of this is also available on YouTube.

This example demonstrates how Smart Shooter can be used with a focus stacking technique.

Smart Shooter was used to run a script, which allowed the user to specify how many photos were taken, and the focus distance between each photo. In total 100 photos were taken, which are shown below.

Move the slider to change the photo

Here is a screen shot of the Script Controls window from Smart Shooter, which was used to set the parameters for the script:

  • Number of photos was set to 100
  • Focus direction was set to Far (move focus further from camera)
  • Focus distance was set to Medium (amount to move focus each time)

The resulting 100 photos were then merged together using CombineZM to create a single image:

Here is the script that was used to take these photos:

set focus_step 1

switch -- "${focus_direction}-${focus_distance}" {
    "Near-Small"  { set focus_step 1  }
    "Near-Medium" { set focus_step 2  }
    "Near-Large"  { set focus_step 3  }
    "Far-Small"   { set focus_step -1 }
    "Far-Medium"  { set focus_step -2 }
    "Far-Large"   { set focus_step -3 }
}

# Get camera details so we know if live view is already active
array set camera_details [SmartShooter GetCameraDetails]

# Enable live view and check it is definitely active
if { [SmartShooter EnableLiveView] != 0 } {

    set i 0

    while { $i < $num_photos } {

        if { $i != 0 && [info exists delay_time] } {
            SmartShooter Wait $delay_time
        }

        SmartShooter TakePhoto

        SmartShooter MoveFocus $focus_step

        incr i
    }
}

# Now disable live view if it was originally inactive
if { $camera_details(IsLiveViewEnabled) == 0 } {

    SmartShooter DisableLiveView
}