PhotoFlow got a GUI relooking!

I’ve been working on rewriting the GUI layout of PhotoFlow for a while now, with the goal of making the application easier and more user friendly.

Finally the new code is stable enough for being released!
Here is how the new GUI looks like:

You can check the announcement and some brief description of the new GUI widgets here.

At the time of writing, the new version is only available as source code from the github repository: GitHub - aferrero2707/PhotoFlow: A fully non-destructive photo retouching program providing a complete layer-based workflow including RAW image development.
Updated Linux, Windows and OSX packages will follow very soon.

Any feedback is very much appreciated as usual. Thanks for looking!

2 Likes

I’m truly impressed by the amount of work you’ve already done on PhotoFlow.
The project has started one year ago, right ? That’s amazing!

2 Likes

Thanks David! Actually the project is more like 2 years old, still I’m really happy of the speed at which it is progressing… particularly since I’m devoting for it 1 hour of spare time per day or so. Wish I could have more time, but real life has its limits :wink:

1 Like

UPDATE: packages for Ubuntu Linux and derivates are already available from Dariusz Duma’s PPA.

Thanks Dariusz!

By the way, I’ve also found the first small issues:anguished:

@David_Tschumperle
Hi again, David!

I have some bad news concerning the stability of G’MIC under OS X, at least for what concerns its use inside PhotoFlow… I just got a machine with OS X 10.10.4, and suddenly the crashes reappeared.

In particular, several G’MIC filters that worked fine in PhotoFlow 0.1.6 and OS X 10.9 (for example “deblur_richardsonlucy”) now crash when 0.1.6 is compiled under OS X 10.10.4.
Others, like “gradient_norm”, still work fine, but this might be just a question of chance…

I have no further insight for the moment, however I plan to compile GIMP and the G’MIC plugin on my new system and see if things are stable or not… more news ASAP!

Ha thanks. Not sure it is bad news :), at least this is coherent with what Karsten noticed too.
And the more machines with a crash, the more chances we have to find the bugs. Of course, I’ll be very very interested to any clues on that MacOSX-specific bug. We have been trying to find what’s happening for years now, so any new information is good to get.
Good luck :smile:

What I’m hearing is that we need to raise some funds to get you a machine with OSX on it? :slight_smile:

Actually, he needs two machines, a brand new and an older one :wink:

No, what we really need is people working on MacOSX having knowledge in C++ programming / debugging that are willing to spend some time tracking this G’MIC “bug”. It seems to be a very rare resource by the way :smile:

Just to be precise: I’ve already worked with Karsten on this bug for several years now. He was the first to detect the issue, but unfortunately we were not able to fix it together. It seems to be a quite complicated bug to track. It happens only when running multi-threaded filters. Valgrind reports wrong memory access when running on Mac.
Of course, on Linux (and Windows), I’ve already done hundreds of tests to make the code as clean as possible concerning memory access (valgrind and g++ with option -fsanitize=address helps a lot for this), and so far I didn’t get any troubles. I don’t have a Mac myself to do further investigations, so I can only suggest Karsten to do things (that usualy do not work :slight_smile: ).

So this must be something with a very specific behavior on MacOSX that does not happen on Linux or Windows. Andrea thought it might be related to the scanf function that may be not re-entrant on MacOSX, but apparently it is something else (and according to Andrea, it happens only in newer version of OSX). A very odd bug, and probably not something so easy to get fixed.

Actually, I still think that the non-reentrant implementation of sscanf under OSX is one of the problems (by the way, AFAIK nowhere in the C specs is mentioned that the scan family of functions should be guaranteed to be reentrant). But it is probably not the only one. Maybe there is an issue with memory allocation as well? No idea yet.

By the way, VIPS is a good example of a library that does multi-threaded image processing under OS X without any issues. I’ll get in touch with its author, John Cupitt, to see if he has some good advice to give us.

At least now you have two persons in the list of “people working on MacOSX having knowledge in C++ programming / debugging that are willing to spend some time tracking this G’MIC bug:wink:

I only wish I could find an equivalent of DDD under OS X for visual debugging… if you have any suggestion, just let me know.

1 Like

Hi David!

I still had not much time for investigating the G’MIC crashes, however I now have at least a sort of “crash pattern”, showing which filters have issues when run inside photoflow.

Here is what I found:

  • Dream smoothing → CRASHES
  • Richardson-Lucy sharpening → CRASHES
  • Gradient norm → CRASHES

Smooth filters:

  • anisotropic → OK
  • diffusion → OK
  • mean-curvature → CRASHES
  • median → OK
  • patch-based → OK
  • selective gaussian → CRASHES
  • total variation → CRASHES
  • wavelets → CRASHES
  • guided → OK

Maybe this gives you some ideas?