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


Hello Patrick

When using the “Noise” tool, the image briefly looks worse before it settles into the final result, which makes it hard to see what effect it’s having. This happens when adjusting for both luminance noise and color noise. I’ve attached a screen grab of it happening while moving the slider.

Thanks!

… as a follow-up, “Sharpness” does the same thing.

Hello, where did you read that? I haven’t seen any mention of that here on pixls.us.

2 Likes

Thanks for taking the time to write all of that. Those are fair questions, especially if you’re thinking about moving a large photo collection away from Lightroom.

On the first point: FerrumPix will stay free and open source. I don’t have plans to turn it into a subscription product or put the useful parts behind a paywall.

It’s a hobby project for me, not a company. People who want to support the work can do so through Ko-fi, but that’s completely optional.

My main goal right now is much simpler: get FerrumPix to a solid 1.0. And honestly, the people testing it and giving feedback here are a big part of that. A lot of what has improved over the last weeks came directly from people finding things I would never have run into on my own hardware or with my own photos.

Can I promise what FerrumPix will look like in ten years? No, and I don’t think it would be honest to pretend otherwise. But the fact that the source is open is important here. Even if I stopped working on it one day, the code doesn’t disappear with me.

On portability: your original photos stay where they are. FerrumPix doesn’t require you to move them into some private library format.

Ratings, keywords and similar metadata can be read from and written to XMP in a fairly portable way, so those are the things I’d expect to move between applications reasonably well.

The actual RAW development settings are different. FerrumPix stores those in its own .fpxmp sidecars. Other RAW editors won’t understand FerrumPix-specific values such as its curve, masks, color grading or local adjustments, just as FerrumPix can’t reproduce another RAW editor’s processing simply from its internal adjustment values. So the photos and much of the descriptive metadata are portable, but the exact developed look is application-specific.

That’s also one reason I prefer keeping the originals untouched and the edits beside them rather than hiding everything inside a database.

As for GPUs: a discrete GPU is not required for normal FerrumPix use. Browsing, cataloguing, RAW development, normal adjustments, layers, masks, retouching and the regular denoise tools all work without one.

The GPU mainly matters for the learned/AI models such as AI denoise, upscaling, depth estimation, object selection/removal and similar features. Those can run on the CPU as well on supported platforms, but naturally they’re slower there.

On a modern Intel or AMD laptop I wouldn’t rule FerrumPix out at all. For the normal photo workflow, the iGPU isn’t the deciding factor. If the AI tools are a major part of your workflow, then stronger GPU support becomes more important.

And yes, development has been moving very quickly lately. I don’t expect to keep adding features at this exact pace forever. At some point the work has to shift more toward polishing, testing and stability which is exactly where I want things to go on the way to 1.0.

6 Likes

Hi everyone,

another FerrumPix follow-up 0.9.60 bring quite a few improvements around layers, retouching, RAW workflow and general performance.

Layers & editor

  • Almost any supported image can now become a layer : RAW, PSD, FerrumPix projects, HEIC, JPEG XL and SVG can be dragged in from the filmstrip or file manager, inserted through the tool panel, or added from the filmstrip menu.
  • RAW files are developed before becoming a layer, including their existing edits. PSD and FerrumPix projects come in as their finished image.
  • 16-bit and 32-bit PSD files, as well as large PSB files, now open with their actual layers instead of being flattened.
  • Several layer operations such as filling, rasterizing, merging and turning selections into layers are now significantly faster.

New image brushes

The eraser tool now also contains four brushes that work directly on image content:

  • Dodge and Burn , with separate targeting for shadows, midtones and highlights
  • Sponge to add or remove saturation
  • Replace Color , which changes color while keeping brightness and texture

They work on both the main photo and selected image layers.

Better selections

  • A new Refine edge button can make the edge of a selection or mask follow the actual image within a narrow band.

Perspective & lens correction

  • Perspective correction now has a Fill automatically option that keeps the image filling the frame while you adjust it.
  • RAW files can optionally have their outermost sensor border removed, useful for cameras where those rows can appear as colored lines.
  • Lens identification has been improved considerably, especially for Sigma, Tamron and Tokina lenses on Canon, Sony, Fujifilm and Nikon bodies.
  • FerrumPix is also less likely to apply the wrong lens profile when focal length or aperture do not match.

Faster browsing and editing

  • JPEG XL, HEIC, AVIF, TIFF and PSD now open much faster and use less memory.
  • Opening a photo from the viewer in the editor can reuse the already loaded image instead of reading it again.
  • Returning from the editor to the viewer no longer reloads the picture unnecessarily.
  • The first switch to the editor and several previously noticeable first-use pauses have been reduced.

Retouching & tools

  • Clone Stamp, Healing Brush and Smudge now have a Hardness control.
  • Brush size and hardness are remembered separately for each tool.
  • Straightening can now be done by simply drawing a line along something that should be horizontal or vertical.
  • Angle entry is more precise, down to a hundredth of a degree.

Film negatives

There were also several improvements here:

  • Negative conversion now measures the image again after cropping, so film borders, sprocket holes or scanner holders no longer influence the result after they have been cropped away.
  • Black scanner borders are ignored more reliably.
  • Automatic enhancement now looks at the converted positive instead of the negative.
  • Black-and-white DNG scans from VueScan now open correctly.

Histograms & settings

  • Histogram, waveform and RGB parade now describe the image as it is actually displayed , including RAW edits, rather than reading the original file again.
  • Settings now have a search field that works across names, descriptions and tooltips.

There are also a lot of smaller fixes around Save As, catalog entries on Windows, gallery overlays and camera support.

Thanks again to everyone testing FerrumPix and reporting the odd edge cases.

1 Like

Wow what a list…
Impressive

I haven’t had a chance to try it but if you had a raw histogram essentially before and now it’s processed data…you might want to allow the raw one as an option to allow users to look at that but as I said maybe I am not correctly interpreting your comments as I haven’t tested or looked at how it was before vs now…

Quite the feature update…nice work…

FerrumPix just passed 700 GitHub stars :tada:

That’s pretty wild for a project that’s still this young.

Thanks to everyone who has tried it, reported bugs, shared ideas, tested new builds or simply followed along. A lot of the progress over the last weeks came directly from that feedback.

Onwards to 1.0. :slightly_smiling_face:

4 Likes

Congrats! But what does that mean?

Hello Patrick,

Using FerrumPix v0.9.62-2, there’s still a problem with the lens info under the thumbs.

The Sigma 2.8/10-20 (its name) does not show up in the thumbnail and focal length is reported as 15mm, while it was 10mm. The Exif panel shows the right value, and the name of the lens.

Same story with the Sigma 2.8/17-50. No lens info on the thumb and focal length is 25mm, while the exif panel says 17mm. Lens name is shown there as well.

EDIT. For a photo with my Nikon 1.8/50, the thumb shows the right lens name, but 75mm focal length.

Hi Paul,
please check this again with v0.9.62-3

Thanks, Patrick

Thanks for taking the time to write all of that. Those are fair questions, especially if you’re thinking about moving a large photo collection away from Lightroom.

Thanks for your thorough response. And congrats on completing another very significant release.

Has anyone else approached you about contributing beyond testing and feedback? Do you see this growing to be a community project?

I also have a question about the catalog database in settings. I can see the ability to define watched folders and various other settings.

I assume the database drives the ‘all favorites’ and other searches (which function like smart collections/albums on other suites), saving the software from having to scour the whole hard drive constantly. What is added to the database? Only what’s in the watched folders? Other image files the app comes in contact with?

At the risk of not duplicating many of Lightroom’s shortcomings, could this be used to build a collections/albums feature?

FerrumPix has replaced some of my uses for DigiKam. It opens quicker, and looks nicer when browsing directories full of JPEGs.

That’s all I’m using it for at the moment. It works well for that, though! Thank you!

1 Like

Hi,

So far, most of the outside contribution has been testing, feedback, bug reports and suggestions rather than people actively contributing code. I’m not against FerrumPix growing into more of a community project at all. The source is open, and if people want to contribute code, translations, documentation or other work, I’d certainly welcome that. I’m just not trying to force that transition before it happens naturally.

About the catalog: yes, the database is what makes things like favourites, saved searches, people, metadata filters and similar views fast. FerrumPix doesn’t have to rescan every file each time.

The folders you add as watched folders are indexed recursively in the background, so their metadata becomes part of the catalog even if you never opened those folders manually in the gallery. FerrumPix also keeps track of folders and photos it has encountered outside those watched roots, so the catalog isn’t strictly limited to watched folders. The watched folders are really the part you’re explicitly telling FerrumPix to keep indexed and up to date.

The catalog stores things like file path, dimensions, capture date, camera/lens/exposure metadata, ratings, labels, keywords, people and the information needed for searching and filtering. The original files still stay where they are.

And yes, structurally that absolutely could be used for a proper collections/albums feature. Saved searches already cover the “smart collection” side to some extent, because they can dynamically show photos matching metadata or other criteria.

What’s missing is the other half: a simple manual collection where you can just say “these 37 photos belong together” regardless of which folders they live in. That would fit the existing catalog quite naturally and wouldn’t require moving or duplicating the actual files.

I’m trying not to add too much more before 1.0 now, but I agree that this would be a useful direction afterwards.

Patrick

Checked with v09.62-4.

Thumbs: Nikkor 1.8/50 well recognized, as well as the focal length.
The Sigmas: no lens info, focal length correct.
The manual Sigma 2.8/50 Macro (no cpu): no lens info (normal), focal length 80mm. (ART also thinks this is a 80mm lens).

1 Like

Thanks a lot for testing this!

Good to hear the Nikkor 50/1.8 now shows up with its name and focal length.

About the Sigmas: FerrumPix does read the lens ID from the file, but it only puts a name to it when that ID is in its list of third party lenses. Your Sigmas aren’t on that list yet, and I’d rather show nothing than guess the maker from focal length and aperture. If you could send me one NEF per Sigma lens and tell me which lens each one is (exact name, e.g. “Sigma 50mm F1.4 DG HSM Art”), I can have a look at adding them.

About the manual 50/2.8 Macro: a lens without a CPU doesn’t tell the camera anything, so the 80mm really is written into the file by the camera. My guess is that it comes from the camera’s “Non-CPU lens data” menu, where an 80mm lens is probably still stored. If you set that entry to 50mm f/2.8 before shooting with the Macro, the files should come out right.

Perfect guess!!

Edit. The 80mm was there because I assigned that (long ago) to my Mamiya Sekor 2.8/80mm. :upside_down_face:

1 Like

Hello Patrick, after you put the Sigmas on your list (4 days ago), everything worked well for the 10-20 and 17-50.

And today you wrote:

But why then the Exif panel shows the right lens? Don’t understand.
In another folder with photos taken in Marseille 2023, the lens info on the thumbs disappeared as well. It was there before!

I’ll check this for the next release.

1 Like

You’re right. my last reply was wrong. Your 10-20 and 17-50 have been on the list since 0.9.59-3, which is why the Exif panel shows them.

The difference is where the two places get their information. The Exif panel reads the file every time. The line under the thumbnail comes from FerrumPix’s catalog, which only rereads a photo when the file itself changes. So photos that were catalogued before the Sigmas were added kept the old, empty lens entry.

The next version rereads every catalog entry once when you open a folder, so the lens names should come back under the thumbnails then.

The Marseille folder I can’t explain yet, since lens info that was already there shouldn’t disappear. Could you send me one NEF from that folder, and tell me whether the Exif panel shows the lens for it?

Found some untranslated German terms. I use FerrumPix in English.

  • Gallery, rightclick on thumb :

Rename > Neuen Namen eingeben
Convert > In anderes Format konvertieren (1 Dateien) + Konvertieren on button

  • Settings

Window buttons > Systemvorgabe

  • Editor

Watermark > Abst. X + Y
Shapes and symbols > all the tooltips are in German : Rechteck etc.