In photography, focus stacking seems like such a simple concept. You take multiple images of the same scene with different focus points and use software to combine the in-focus parts of the stack of images. With an object against a distant background it works great.
But with multiple objects close together and partially covering each other like the leaves of a plant, there is a basic dilemna. The image of a leaf covers a bigger part of the camera's sensor when it is blurred than when it is in sharp focus. As the camera progresses through the focus points, the front leaves become out of focus and their fuzzy edges partially cover the leaves behind them that you want to be in focus. None of the images in the stack can show the back leaves entirely in focus because of this fuzzy blob, and the stacking programs aren't smart enough (yet) to get around this. The result is a halo around the front leaves and lack of detail it the back leaves.
I've been running into this situation when processing focus-stacked images of little plants in Photoshop for my greenhouse blog. Newer cameras have a function built in to acquire the stack of images; older cameras you need to select the focus points manually. After some internet research I found five practical ways to do focus stacking with my particular setup, which is a Canon R5 Mark II camera (Canon's flagship) with a 100mm RF macro lens.
- Photoshop (my current method)
- Canon in-camera, Depth Compositing
- Digital Photo Professional (DPP) program from Canon, Depth Compositing
- Zerene Stacker program
- Helicon Focus program
My macro subjects lately have been succulent plant acquisitions. I want good images of them to see how they are growing and changing over time, and to post on my blog and web site. I usually shoot the images on our kitchen counter with the black granite as a background. Typically I use settings of AV mode at f/8, ISO 100, exposure time set by the camera. I usually don't use any supplemental light, so exposures are several seconds and a tripod is mandatory. If anyone happens to read this and they are wondering "Why don't you...?" then they can do their own testing. This is not an impartial review; it is the process I used to figure out which method works best for me. This is real world testing for me and I don't know or care what anyone else's needs are, so do your own testing and make your own decision. Zerene and Helicon both have 31-day trial programs, DPP comes included with Canon cameras, and I'm guessing Nikon and Sony have something similar to DPP. The first two subjects are:
- An Echeveria Neon Breakers. I figured the overlapping leaves and crinkly edges would provide a real challenge. I shot 48 exposures with focus steps of 2.
- A Powder Puff cactus (high contrast) with a little flower (low contrast). Photoshop chokes on the flower, I think because of the difference in contrast. I shot 18 exposures with focus steps of 3.
The focus steps are the amount of change the camera lens does between images as it moves focus from near to far. A lower number means the images are closer together in focus, and a higher number potentially means there would be bands of the image that are out of focus. I usually set it at 3 or 4, but for really small macro subject 1 or might be more appropriate.
The in-camera method is quickest because it produces an image immediately. But even with my highly-advanced Canon, the output is only JPG. Also, there is no opportunity to select which images to use. All of the images in the stack are included so you have to guess how many you need. In the first test image, there was extensive haloing around the Neon Breakers leaves. After going through the images one-by-one it was apparent that 48 was WAY too many. Fourteen was the right number, omitting the first image (the front of the pot) and the last 33 (the background). One reason I like to shoot JPG along with CR3 RAW files is I can more easily flip through the JPGs to see which frames to include.
DPP took 21 minutes to process the 48 images of Neon Breakers. I would call the result identical to the in-camera processing, which makes sense since they both use Canon algorithms. Reducing the stack to the 14 images that were actually needed, processing time was cut to six minutes and eliminated the worst of the haloing. There is no haloing around the back leaves with a distant background, but still some around front leaves where they are close to other leaves. I was actually impressed with how well DPP did. I exported the final image as JPG but found later it can be saved as 16-bit TIF. This is a decent result from DPP, and yes, the plant is that blue. Even where there is haloing among the leaves, it is a soft edge rather than the hard edge you see in Photoshop.
Photoshop required a few more mouse clicks, but only took four minutes to process the 14 source images. Yes, the hard edge on the haloing was there. That's the reason for this exercise.
Next up was Zerene Stacker. It can't handle RAW CR3 files directly1 so I used JPG. It took three minutes to stack and save two images using different algorithms, PMax and DMap. According to the documentation, "PMAX excels in preserving fine detail and sharpness, while DMAP is ideal for smooth transitions and natural results." In my opinion, PMax produced the better image of the two. Both methods have weird artifacts scattered around the image in the form of short lines. Except for these artifacts, Zerene produced the best image overall. (How was the play, Mrs. Lincoln?) The trails seem to angle toward the center, and maybe it has something to do with how the program stacks images with different focus points, but why is this the only program I tested that has this problem?

Finally, Helicon Focus took only three minutes to process and save the images using three different algorithms, Weighted Average, Depth Map and Pyramid. I loaded the CR3 images and the output was DNG, which according to my way of thinking gives Helicon an advantage over Zerene. The Weighted Average was the best of the three, and in fact produced the best image of any of the methods. (And didn't have any streaks.) Pyramid produced a similar result, but from the description of Depth Map I would not use that one for my typical subjects.
I already had a winner in mind, but I wanted to see how the various programs handled the cactus flower. I determined that it was appropriate to use all 18 of the images that I shot so I just looked at the in-camera processing and did not use DPP. The flower is not in focus and that is all I will say about that. Same with Photoshop. Let's move on to the contenders.
In Helicon, all three algorithms almost got the flower into focus, with some haloing. I really couldn't pick which of the three I preferred, but none of them were as good as the Zerene image. Or should I say, most of the Zerene image.
Zerene got the flower into focus with almost no haloing with the PMax algorithm, but the little streaks in the background remain. DMap also has the streaks, and didn't do quite as well on this stack as PMax. Here is the Zerene PMax image with the streaks cleaned up.
Using the Photoshop Remove tool to hunt down the streaks reminded me of the old days when my Canon 1D Mark I sensor would get so dirty that I would spend hours cloning out dust spots. One of the last images I shot with that camera was "Little Brothers" in 2004, and it required quite a bit of cleanup before I sent it off to the publisher. I don't want to start doing that again on every image.
After the first day, this is where I am:
- Zerene and Helicon produced the best results. DPP took third place (surprisingly) ahead of Photoshop. But for each stacked image DPP produces, it leaves a folder of large (~25Mb) .bin files, something which needs to be cleaned up when you are done. In-camera processing is identical to DPP and is quicker since there is no user-involved processing, but you have to know ahead of time how many images to shoot. That's often not easily determined.
- Helicon nailed it on the Neon Breakers but didn't do great on the flower. There are a lot of settings in the program and maybe there is a combination that would handle it better.
- Zerene did the best job on the flower, but I had to clean up the streaks. I want to like Zerene, BUT, those streaks.
- DPP did well on the Neon Breakers but not on the cactus flower.
- My premise for doing this was that Photoshop's focus stacking produces inferior results. Today did not change my mind.
- Helicon can handle Canon CR3 files and can output DNG files. Zerene only deals with JPG and TIF files.
- Zerene, Helicon and DPP have additional features that will take time to explore. Today I was just trying to find something that worked without much fiddling around.
- Both Zerene and Helicon have different levels of licensing, and the cost is similar enough that it is not a factor in choosing between the two. Zerene calls their tiers Student, Personal, Prosumer and Professional for $39, $89, $189 and $289 for lifetime licenses (no yearly option). Helicon calls its levels Lite, Pro and Premium costing $30, $55 and $65 for one year; $115, $200 and $240 for lifetime. DPP is included with Canon cameras, and Photoshop is subscription based.
Note: All of the images produced today by the various stacking methods were run through the Photoshop RAW filter for the usual color and contrast adjustments, then were cropped and saved as JPG. This is part of my workflow and is not affected by which program produced the stacked file. I'm not dumping Photoshop, just its focus-stacking function.
Day 2: I decided to use Helicon as a default for the next few days, but it crashed a several times this morning. It is a Beta, version 9.0. They promised a lot of upgrades over version 8.3.11, so I threw caution to the wind and went with the Beta. After a few more crashes, I uninstalled Helicon and tried to install the "stable" version, and it came back trying to install version 9 again. I don't have time for this so Helicon is out of the competition. Like I said, this is not an impartial review so screw'em for wasting my time.
DPP version 4.19.10.0 shows a copyright date of 2024 so it is definitely not a Beta version. This image has a little bit of haloing, but compared to Photoshop's version the haloing does not have a hard edge and is thus less noticeable. And, I experimented with a tool in DPP called the Depth Compositing Editing Tool that can be used refine particular areas. Using this tool it would possible to bring the cactus flower into focus, eventually. It is a tedious process, like going back and removing dust spots in the old days or removing artifacts in Zerene images. It would take hours, but taking a few minutes to sharpen up a few areas in this image took just a few minutes. I think this tool is the reason that storage fills up with the .bin files previously mentioned, so I have to make sure I am done before deleting them.

In my history of using photography software, to me DPP has been like Lightroom and Lightroom Classic, an object of disdain. (My dislike of the Lightrooms is another story.) DPP is not a very useful photo editor but this one tool is useful.
For the next comparison, I picked this succulent with overlapping leaves, as most of them have. The first image from Photoshop shows what the problem is. The next images show Zerene Stack and Digital Photo Professional doing a somewhat better but not perfect job. The final images are Zerene Stack with 16-bit TIFF files and some retouching.
In the first image, look at the part of the leaf just left of center and you will see Photoshop haloed with a hard edge. Just below that in the Photoshop image is, frankly, a jumbled mess. Zerene handled that part of the image very well, but has some dark haloing in other parts of the image. DPP has softer haloing than Photoshop but blurred some leaf tips and overall did not do nearly as well as Zerene. It appears to me that when using JPG as source files for Zerene, the stacked image does not have the color and contrast of the other methods. This time, I didn't run any of these cropped images through Photoshop RAW filter to adjust color and contrast in an attempt to see the difference between 16-bit and 8-bit source images.
Photoshop, hard-edged halos
Digital Photo Professional, softer halos and some blurred tips
Zerene Stack, best of the three
Zerene did the best, but the 8-bit image seems a bit thin (less color and contrast). In Adobe Bridge, I converted the original CR3 files to 16-bit TIF and imported them into Zerene. After Day 1 I was partial to the PMax method within Zerene, but in this test I played around with some of the DMap settings and found that this method got closest to what I was trying to achieve.
I also learned a little bit about the retouching function within Zerene and was able to get rid of most of the background haloing. Retouching didn't help much with haloing inside the subject area where one leaf is close behind another. But these are extreme crops of the original images, only about 5% of the original number of pixels. Unless you are doing extreme cropping, the haloing of the Zerene image (soft edge) does not overwhelm and is MUCH better than Photoshop stacking (hard edge). Here is the extreme crop of the 16-bit image after retouching.
Photoshop still has an extremely important role to play in the process, and for this full image, I did my usual RAW filter adjustments and also used the remove tool to clean up some areas the Zerene retouching didn't quite get. Also, there were no streaks in this image for some reason, which is what annoyed me yesterday about Zerene. This is what I expect to see, and it takes a few steps to get there.
None of the programs are perfect. There are a couple other things I plan on doing when shooting succulents to alleviate the haloing problem and reduce the need for time-consuming retouching, including: Shooting with an aperture of f/8-f/11 rather than wide open to minimize the size of the out-of-focus blob, and shooting from a higher angle more often to minimize front leaves partially obscuring back leaves.
In summary: Zerene Stack.
Zerene Stack did the best job in my testing of preserving foreground focus while minimizing the effects of haloing. The streaks will need to be addressed when they appear, but each of the methods require some retouching either within the program or in Photoshop. I still have most of a month remaining on my trial period before I decide which Zerene license to get.
In the Zerene Stack pricing tier, the $100 difference between Personal and Prosumer gets the user some additional features. First on the list is "Preserve all metadata." They list another 17 features including a Lightroom Classic plugin, but for me the metadata capability is the big one. Last month I looked at the origination date on an image I took in 1999. I often look at metadata to determine camera settings that I used in past situations, fireworks for example (ISO 200, 4 seconds, f/11, manual focus). There are other features that I may find valuable as I get to know the program, but metadata is the big one initially. There is no difference in features between Prosumer and Professional, so since I rarely make money with my photography I am leaning toward the $189 lifetime Prosumer license.
1The Zerene Stack licenses for Prosumer and Professional include the capability to install a Lightroom Classic plugin that skirts the problem of not being able to load RAW files directly. I really HATE the way Lightroom Classic manages files and forces the user to do it their way, so this is not an attractive feature for me. I use Adobe Bridge to convert CR3 to TIF and go from there.