FerrumPix: Photo/RAW-Editor, Viewer, Gallery, Immich and Nextcloud Client in one App

Hi everyone,

FerrumPix is a desktop photo application for Linux, Windows and macOS: a library with a viewer, a fairly extensive editor with AI functions,Immich and Nextcloud support.

My motivation behind it:

Most tools in this space tend to specialize in one area. A library app is great at organizing photos but offers little in the way of editing. A RAW converter is great for tone and color work, but stays purely parametric and never touches the pixels themselves. A pixel editor can do almost anything to an individual image, but usually has no library. And Immich and Nextcloud are great as server-side solutions, but ultimately remain browser-based, without an editor or local file management.

FerrumPix tries to bridge that gap: browse, rate, and tag your photos, then open one in an editor that supports both non-destructive adjustments and actual pixel editing. Your own Immich server sits in the same navigation tree as your local folders.The app is aimed more at hobby photographers than at professional workflows, and it really doesn’t care whether you throw RAW files at it or JPGs from your phone.

It’s built with Avalonia UI and .NET 10. The whole thing started as a personal project: an application that looks and works exactly the way I always wished one would. It’s free and open source for anyone who can make use of it.

For transparency: yes, I use AI as part of my development workflow. That said, a project like this still involves a huge amount of hands-on work, architecture, debugging, and decision-making. I’m putting a lot of time into it, along with plenty of my own ideas and a lot of passion for the project.

Current status:

The current version is 0.9.32. The core areas are far enough along that I use the app daily myself; the focus now is on stabilization, UX and performance rather than new features.

I’d be glad to hear any feedback.

8 Likes

Welcome to the forum , I did enjoy using your app…loved the sleek UI and how it appears to be a blend of Lightroom and a light version of Photoshop. It is a little sluggish in applying the changes when dragging the sliders but I have no doubt that you will address it in the upcoming updates. Thank you for also disclosing the use of AI coding.

1 Like

Hi and Thank you for the great feedback! I’m thrilled that you like the UI and the Lightroom/Photoshop feel.You are completely right about the slider performance. Optimization is high on my priority list, and I am already working on making the image processing smoother for the upcoming updates.

Hello @bitpainter75, congratulations with your app, it looks great and very complete.

I played a bit with the AppImage and have some remarks.

  • I can edit a photo by changing the sliders with my Wacom pen. But in the Gallery view I am unable to change from list to grid view for example. Same for the other buttons like Favorites and Folders. I had to connect a mouse to use those buttons. Please repair!
  • I played a bit with the auto-mask tool. At first sight it’s quite difficult to control (make it bigger, smaller, delete unwanted mask parts), but perhaps I need to investigate more.
  • Color > White balance, the value for Temperature is 0, shouldn’t that be a Kelvin value instead?
  • The Dutch translation is grosso modo correct. The last filter is called Verouderd (veraltet), but that Dutch word reads as Depreciated. Should be Old photo or something.
  • Section Sharpen, Blur, Diepteonscherpte (should be Scherptediepte). On my soon to be replaced very old pc, this filter takes quite some time and I can’t seem to stop/cancel the process.
  • Can’t export to TIFF.
  • Is there a History panel somewhere?

OK, I’m a bit allergic for AI stuff, but your program looks very good and is very complete. So kudos for your work!

Forgot, funny effect.

Thank you for the feedback!

About the “funny effect” image: could you tell me the exact steps that produced it? In particular, was it the editor preview or the exported JPEG and did you use Crop before Warp/Grid Warp?

I found one concrete issue behind the crop/warp behaviour: after applying a crop, the Grid Warp tool was still using the coordinates of the original image, while only the cropped area was visible. That made the grid appear too far towards the centre. I am correcting that.

I also corrected the Dutch wording around Old photo and Depth of field, and I am adding a way to cancel a long-running depth-blur operation.

The Wacom report is also useful. Sliders and normal buttons take different input paths, so it is quite possible that pen input reaches one but not the other.

TIFF export and a visible History panel are both sensible requests as well. Thank you again for taking the time to test the AppImage.

No I can’t, I was just playing with the Distort - Warp tool if I remember well. I did that just in the editor, then saved as JPG. No crop.

About the Wacom pen, if I remember well this is the first time that an application is only half-responding. I’ll have a look at the Wacom settings on my pc.

About TIFF export: your README states that TIFF export is possible! :upside_down_face:

Quick follow up: the new version, 0.9.34, should make this noticeably better.

The picture now redraws while you drag instead of waiting until you let go, and
the processing behind the sliders got a good deal faster. It is not instant, but
it should feel quite different from what you tried.

TIFF export: that is my mistake, not yours. The README claimed it and the
application cannot do it. I have taken the line out. Sorry for sending you
looking for something that was never there. It is on my list.

The pen: 0.9.34 gets a setting for this, under Settings, General, called
Drawing tablet. With it on, buttons and menu entries act the moment the pen
touches down instead of when you lift it.

Hello, TIFF no problem.

I downloaded the latest AppImage and the Wacom pen works now, apart from some glitches: sometimes clicking any button minimizes the app and sometimes sliders stay “glued” to the pen: when I hover over them and others in the same tool, values change at random. A right-click solves both problems. So let’s say that the Wacom problem is solved.

I spent some more time with your app and I start to like it more and more. The LUT/cubes work fine. I managed to transfer a CTL script from ART (film density) to a cube file and the results are OK.

Regards, Paul.

Hello Paul,

good to hear the pen works now, and thanks for describing the two glitches so precisely.

Regards,
Patrick

Oh forgot some Screenshots in the inital Post :cold_sweat:





2 Likes

that looks really nice

1 Like

With the latest Update there is a history-tab in the layers panel and the Wacom glitches should also be fixed.

Ah, the Wacom glitches with the sliders seem to be gone now - except for one: clicking a button after editing some time still minimizes the app window, a right-click on the pen solves that.

Thanks for the history panel. I see the editing steps I do, one after another. But when I open another photo and go back to the first one, the history panel only says Original, the steps I did are gone.

In your README you write that the editing steps are stored in a small sidecar next to the RAW. So I placed a RAW on my Desktop, opened it in FerrumPix, set Exposure to max and saved as JPG. I don’t see a sidecar on my desktop, even not a hidden one.

When I save as FPX (that keeps adjustments and layers editable when you open it again, according to the Readme), I get a bearbeitet.fpx zip-file on my desktop, the recipe.json file in it shows indeed the exposure set to max.

As you will understand by now, I don’t understand your sidecar concept. With ART and RawTherapee the sidecar with all the edits is placed next to the raw and when I reopen that one, the edits I did are still there. So apparently, I am missing something. Of course that can happen with new software, I’m just learning! :upside_down_face:

Thanks for your helpful feedback!

About the sidecar: you are not missing anything. The README was misleading there, and I have corrected it.

FerrumPix does not write anything into your photo folder automatically. A sidecar is created only when you use Save on a RAW or Photoshop file. Since FerrumPix does not write back into those formats, Save stores the editing recipe next to the original as something like yourfile.cr2.fpxmp, while leaving the RAW itself untouched.

Save As works differently: it creates exactly the file you asked for. So if you open a RAW, set Exposure to maximum, and choose Save As > JPEG, you get a JPEG with the edits baked in, but no sidecar. If instead you press Save, FerrumPix creates the .fpxmp sidecar, and reopening the RAW will restore the saved adjustments.

The History panel is session-based. It mirrors the undo/redo stack, which currently lives only in memory. So while the image stays open, you see the individual editing steps. Once you close it, FerrumPix can restore the saved result when you reopen the image, but not the individual steps that led to that result. That distinction was not explained clearly in the README either, and I have updated that as well.

Regarding the window minimizing after some time: I have not been able to reproduce or locate that one yet. There is only one place in FerrumPix that intentionally minimizes the window: the minimize button itself. So somehow an input event seems to be reaching it when it should not.

The fact that a right-click with the pen clears the problem does sound like a pen press that never received its corresponding release event. That is in the same general area as the Wacom issue fixed this past days, but I do not want to claim it is the same bug without evidence.

And thanks again for testing this so carefully.

OK, confirmed. I set saturation to minus 100, do Save and I see the sidecar with a line saying sat -100. Works. The thumbnail stays colored though, but a doubleclick opens the photo desaturated.

Save as: clear now.
Same for History panel.
Wacom: I can live with that little glitch, don(t know where that comes from.

You asked on Github to test the Mac versions.
This window shows up when I try to open the Apple Intel version. “Ferrumpix is corrupted and can’t be openend. You should send it to the Trash.”

Apple, might be the “unsigned” part…

Yes see in the Latest Release Notes:

The ARM64 and macOS builds are untested. If you try one, please let me know whether it works.

The macOS builds are unsigned, so Gatekeeper may say the app is “damaged” or “can’t be
opened”. That does not mean the ZIP is broken. Please try this:

  1. Download the right build: arm64 for Apple Silicon (M1, M2, M3, M4), x64 for Intel Macs.
  2. Unzip it.
  3. Move FerrumPix to Applications.
  4. Open Terminal and run:
xattr -dr com.apple.quarantine /Applications/FerrumPix.app
codesign --force --deep --sign - /Applications/FerrumPix.app
  1. Then start it with:
open /Applications/FerrumPix.app

Hello, I saw the instructions for how to get it work on Apple Intel, just now – AND… It Works ! :upside_down_face: