What's new in post-0.2.7 version

You might be interested to know that photoflow also provides a batch processor. Here is a quick use guide:

  • open one of RAW files you want to process, add all the layers you need for the basic processing before blending, then select all the layers except the “RAW loader” and save them as a preset (save preset button below the layers list). Give the preset file a .pfp extension (for example params.pfp) and put it in the same folder as the RAW files to be processed.

  • now use the pfbatch command to convert all the RAW files and automatically apply the preset (supposing you are processing .NEF files):

    ```pfbatch your_raw_file.NEF params.pfp %name%.tif```

The name keyword will be replaced by the name of the input file, without extension. So the above command will generate your_raw_file.tif.

By the way, way kind of error did you get from enfuse?

That’s certainly interesting to know, kind of a mixed approach GUI and command line, nice!
just a silly question - I’m using the osx 0.2.7 image - the pfbatch exec is where exactly?

Regarding enblend/enfuse some BS library missing error… I do not dare to go down there and find and having to deal with the bodies’ parts, you can smell them from here :stuck_out_tongue:
CONTEXT: These past couple of days I’ve being trying to find the less painful more accurate HDR workflow possible. I was surprised to find first that LR’s own use of enfuse left a trail of visual scoria and that despite the “comfort” of a GUI (of the ones I’ve tried), it takes too much time and decisions and tests and whatnot to get to a base - not even talking about tone mapping - just a base image (preferably a 32b exr) to start the real carving.
So I played around with the command line HDR options trying to find something clever and to the point like the good Guillermo’s zero noise was long long time ago in a far away galaxy, unfortunately in this machine I’m also unable to run zero noise within wine. That also aligned the stack and IF possible would kill some ghosts.

That’s the best tedious rumble of a context for what I’m seeking =)

A little while ago I wrote a short description of the workflow I use with Hugin to combine/enfuse bracketed shots: Only a small testimony - #5 by Carmelo_DrRaw

The good news is that Hugin is available for OSX and works fine (the screenshots in the tutorial are from OSX), so maybe you’ll find it useful…

Concerning the pfbatch command, I forgot you are under OSX… it is not included in the bundle at the moment, but it should be relatively easy to add it.

I’ve known and use (almost solely for panos) hugin for some years. And yes I’ve checked that thread and actually that’s the one which led me to paperdigit’s expanded tuto based on yours; beginning of kittens thread, so a bit late thank you :wink:

For now I’ll change beds like the good whore I am from LR’s enfuse to hdrmerge, to hugin, to median stack, always preferring the mucho-macho pals that eat raw, back to pfs aparently thick paste (trying to understand WTF pfshdrcalibrate is so sad) and then dance for a bit with amazonic hydrogen akira sub_hdrgen and a pill boost 4 all the lonely grandmas, to go back to fdr tools, hello pictureduck, by means of dcraw, give the watching brother (gui) a wink and zero noise another try, be a snob about luminance HDR and tease the imagefuser GUI just for fun. The less open softwera won’t be publicise.

Concerning the pfbatch command, I forgot you are under OSX… it is not included in the bundle at the moment, but it should be relatively easy to add it.

Looking forward — cataracts. A good weekend for y’all

Is there a Wavelet Decompose filter in Photoflow 0.2.7? I mean - something like the GIMP Wavelet Decompose plugin, that lets the user determine the number of scales and then creates a set of layers corresponding to the scales? I found a Smooth [wavelets] filter but it looks like something specific to smoothing.


Yes, PhF has a wavelet decompose tool that is based on the same code as the GIMP plug-in. You can read about it in the announcement of release 0.2.7.

I still have to find the time to write a more detailed tutorial about that…

Thanks. Found it. Is the layer “split details” that the preset creates equivalent to the ‘wavelet residual’ layer that the GIMP plugin creates?

Yes! I should probably change the name of the layer to a more informative one… :wink:


For some reason it behaves differently when this layer (the residual one) is disabled - see below.

I’m trying to understand if this is a bug or maybe I’m doing something wrong.


Compared to GIMP:

In the GIMP’s version the upper wavelet layers (wavelet scales) add up to emphasize detail of the underlying layer (the file 6.tif).

PFI file here.

I’m not sure about PF, but each detail layer in GIMP usually has its blending mode set to “Grain merge”. The G’MIC plugin also does this when in GIMP.

This looks like a bug, I will check…

@patdavid the layers are recombined in “grain merge” mode in PhF as well.


Thanks. Reported on Github - Issue #115.

1 Like

I have another question about the feature set - is there a healing brush in PhF? I understand that the clone stamp tool is for cloning only.
Besides, has anything changed in the operation of the clone stamp tool since this post? I didn’t manage to use it on Windows 10 (pressing Ctrl+Right Click doesn’t seem to set the source spot).

I have looked into your “split details” problem again, and realised that what you see is “kind of normal”.

Here is my reply to the GitHub issue:

This is normal: the residual layer (the one associated with the “split details” tool) is actually outputting several images at once, one for the residual + one for each detail level. The clone layers inside the “scale 1/2/3/45” groups simply clone one of the output images of the “split details” layer, which is then blended back in “grain merge” mode.

If you hide the “split details” layer, you also disable the input of the clone layers in the “scale 1/2/3/45” groups, with unpredictable results.

In order to use the various detail levels for image sharpening, what you need to do is to add a clone of the original image just above the “split details” layer: this way, the various “grain merge” blends will be applied to the original image and not the residual one.

1 Like

The healing brush is in my long-term todo list, but not available yet. Indeed, the clone stamp tool only does pixel cloning.

The current key combination for defining the source area is Ctrl+Alt+right click, I have now corrected the blog post accordingly… thanks for pointing this out!

1 Like


The clone stamp works for me now, but only with the key combination of Ctrl+Alt+Left click. The combination with right click doesn’t work. Maybe it’s an operating system thing?

Regarding the wavelet issue - I understand what you are saying, but I think it will be more intuitive and convenient for the user if hiding the “split details” layer will be treated internally as the procedure you suggested - a clone of the original image will be created just above the “split details” layer and then the output will be predictable. The clone of the original image doesn’t need to be shown to the user, but it should be there for the result to be as expected by the user. I believe that this will be more straightforward and will save the need to do the cloning manually. Alternatively, you can create the clone of the original layer when the “split details” is created, but keep it hidden as long as the “split details” is shown, and vice versa (when the “split details” is hidden, the cloned layer will be shown - kind of mutually exclusive layers. And of course the user is not supposed to see the cloned layer at all). I wonder how the GIMP plugin works…

A more general question - do you maintain a list of implemented/planned feature set on the blog or somewhere else? It could help new users who aren’t sure what’s available and what isn’t. I ran into the blog post about the clone stamp accidentally while actually searching for something else. And I found this tutorial on wavelet decomposition while googling “photoflow healing brush” :slight_smile: (it contains the text or the healing brush to clone details from one place to another. The term healing in this quote is actually inaccurate).

Thanks again!

No, it’s me who is typing too many things in parallel… Ctrl+Alt+Left click is indeed the correct mouse gesture. Sorry!!!

1 Like

I think that this would be quite difficult to implement, and also represent some sort of “exceptional case” that is handled differently from the rest…

Another, much simpler possibility would be to add an option in the “split details” tool for outputting the original image instead of the residual. What do you think?

Do you mean a checkbox like ‘pass-through’? this sounds good too.

In general I think that this is actually a case of a true exceptional ‘hide’ operation, because when the user wants to hide the “split details” layer the purpose is to hide only the blurred residual layer and not to disable the generation of the upper scales. If the intention was to avoid the generation of the upper layers then the user would have hidden the whole group of layers. But anyway, the idea of adding an option for outputting the original image gives the same functionality.

The code for outputting the original image instead of the residual one has been pushed to github: [tools/split details] added option to output the original image inste… · aferrero2707/PhotoFlow@0641fb0 · GitHub

I have also added a new preset that combines the various wavelet detail levels with the original image at decreasing opacity, to obtain a nice sharpening effect: PhotoFlow/wavelet-sharpening-5.pfp at stable · aferrero2707/PhotoFlow · GitHub

1 Like