OM-1 Support in Darktable

Thanks very much for your reply :slight_smile: :slight_smile:

my result from

apt policy liblcms2-dev

liblcms2-dev:
Installed: (none)
Candidate: 2.12~rc1-2build2
Version table:
2.12~rc1-2build2 500
500 AARNet Mirror jammy/main amd64 Packages

Is there another repository I could/should try ?

Any help appreciated :slight_smile: :slight_smile:

apt policy liblcms2-2, as you may have some ā€˜xiotaā€™ source configured for some software package, which provides conflicting version of liblcms.

This really has nothing to do with OM System support. You may just want to make sure that standard darktable can be built on your system, then 4.2-om branch will compile as well.

Thanks very much for this information:) You are correct I do appear have some ā€˜xiotaā€™ software installed which seems to be because I upgraded from ubuntu 20.04 to 22.04 rather than doing a totally fresh install.

grep -i xio /var/lib/dpkg/status
Version: 0.7.0-20220426.105500-0xiota0~ubuntu22.04
Version: 2.13.1-0xiota0~ubuntu20.04
Version: 2.13.1-0xiota0~ubuntu20.04

Trying to remove `liblcms2ā€™ was a major disaster but at least I now have a graphical system back!!

I will wait a while until I have some spare time and a completely backed up system before retrying

@sugarbravo thanks for these directions, I initially had some build dependency issues, but I got your branch to build successfully and run (the version is 4.2om1 in the top left by the darktable logo). However, when try to open a raw OM-5 file in darkroom I get the following error:

Hereā€™s the log from the terminal:

$ /opt/darktable/bin/darktable
RawSpeed:Unable to find camera in database: 'OM Digital Solutions' 'OM-5' ''
Please consider providing samples on <https://raw.pixls.us/>, thanks!
[rawspeed] (P1070052.ORF) bool rawspeed::RawDecoder::checkCameraSupported(const rawspeed::CameraMetaData*, const string&, const string&, const string&), line 170: Camera 'OM Digital Solutions' 'OM-5', mode '' not supported, and not allowed to guess. Sorry.
[temperature] failed to read camera white balance information from `P1070052.ORF'!
[temperature] `OM Digital Solutions OM-5' color matrix not found for image
[temperature] failed to read camera white balance information from `P1070052.ORF'!
[temperature] failed to read camera white balance information from `P1070052.ORF'!
[lens correction] camera/lens not found
[colorin] could not find requested profile `standard color matrix'!

For context, this is on Ubuntu 22.04 and I also installed exiv2 from source from the 0.27-maintenance branch per @kmilosā€™s comment above.

Any ideas on how to troubleshoot this?

rename them *.cr3ā€¦they will openā€¦its a hack but it makes DT use Libraw and it should open your filesā€¦ if you canā€™t get all your builds to work you could at least do this for a work aroundā€¦

Check whether there is OM-5 present in src/external/rawspeed/data/cameras.xml.

Also, as mentioned, only base support for OM-5 was added, no WB presets or noise profiles. Since OM-5 seems to be essentially an E-M5III clone, at least sensor-wise, sensor noise characteristics could be the same. Probably WB presets too, if firmware wasnā€™t tweaked by OMDS for that. Thankfully, in darktable 4.2 both noise profiles and WB presets can be added as JSON data without the to recompile. So those data structures can just be copied from E-M5III for OM-5. Ideally however they should be derived from RAW files from OM-5.

An easier approach might be to let src/common/imageio_libraw.c to process not only .cr3, but any supported RAWs. :slight_smile:

1 Like

There was no OM-5 entry in src/external/rawspeed/data/cameras.xml. I tried adding the entry from this OM-5 PR to cameras.xml, but that didnā€™t fix the error. Iā€™m guessing I might need to rebuild darktable for it to take effect?

Also, is there a way to copy the EM5-III or EM1-III noise profiles and WB presets to the OM-5? if I remember correctly, the EM5-III, EM1-III, and OM-5 all use the same sensor, but the OM-5 and EM1-III use a different (more powerful) image processor than the EM5-III. If thatā€™s the case then using the EM1-III data might be the way to go.

EDIT: Not sure where to confirm the sensor, but from B&H specs I can confirm that the EM5-III uses the Truepic VIII image processor while EM1-III and OM-5 use Truepic IX.

@priort this new om-1 build is not letting me import any CR3 files. Not sure why. However, I did use this hack with my stock darktable 4.2 install and it let me open the the CR3 files. The results can be a bit all over the place, though (image previews donā€™t show up in lighttable until you open a file in darkroom, etc.).

I rebuilt darktable with the added OM-5 entry mentioned above and I can now open the raw .ORF files :tada:

Some of the images appear completely white when I open them and I have to reset the raw black/white point module to fix that. Iā€™m guessing that has to do with the lack of WB presets.

FYI @sugarbravo - exiv2 0.27.6 with OM System support has been tagged and released (and is on the way to various repositories, including MSYS2).

2 Likes

Good news!

Hi,

The submodules get over my head. iā€™d like get the two @sugarbravo 's PRs merged with the current master, as Iā€™d like to test the multiple presets feature.

What are the git commands I need to issue to get the Add white balance presets for OM System OM-1 camera by sarunasb Ā· Pull Request #13059 Ā· darktable-org/darktable Ā· GitHub and https://github.com/darktable-org/rawspeed/pull/357 merged into my master branch.

It might be easier to let Libraw to process ORFā€¦ no need to wait for rawspeed updateā€¦ Works with some test files. Just made om-libraw branch to play with this.

git clone -b om-libraw https://github.com/sarunasb/darktable.git

Changes in darktable source:

diff --git a/src/common/imageio_libraw.c b/src/common/imageio_libraw.c
index 60a48934b..f8edfcca6 100644
--- a/src/common/imageio_libraw.c
+++ b/src/common/imageio_libraw.c
@@ -208,7 +208,7 @@ const model_map_t modelMap[] = {
 
 static gboolean _supported_image(const gchar *filename)
 {
-  const char *extensions_whitelist[] = { "cr3", NULL };
+  const char *extensions_whitelist[] = { "cr3", "orf", NULL };
   char *ext = g_strrstr(filename, ".");
   if(!ext) return FALSE;
   ext++;
diff --git a/src/common/imageio_rawspeed.cc b/src/common/imageio_rawspeed.cc
index c2274dbcf..02939132f 100644
--- a/src/common/imageio_rawspeed.cc
+++ b/src/common/imageio_rawspeed.cc
@@ -120,7 +120,7 @@ uint32_t dt_rawspeed_crop_dcraw_filters(uint32_t filters, uint32_t crop_x, uint3
 // as this issues lot of error message on the console.
 static gboolean _ignore_image(const gchar *filename)
 {
-  const char *extensions_whitelist[] = { "cr3", NULL };
+  const char *extensions_whitelist[] = { "cr3", "orf", NULL };
   char *ext = g_strrstr(filename, ".");
   if(!ext) return FALSE;
   ext++;

Would it not be a good idea to use libraw instead of rawspeed for all of the RAW file types? If I understand well from other threads, maintaining rawspeed depends on only one person. Libraw is used by more programs and is better maintained.

1 Like

Iā€™d like to get your patches into current master. Your repo is cloned from 4.2, and I cannot (donā€™t know how to) merge it with current master to get a version based on 4.3.

Well, Sarunasā€™ patches have been finally merged in rawspeed, hopefully the darktable patches will follow.

2 Likes

I have exiv2 0.27.6 in my UCRT Windows build environment, but when I develop the images from OM-1, only part of the geotags get copied to the JPG. How can I check that I have the correct exiv2 version also in the Windows side?

Iā€™m only dreaming of owning an om-1, but i just noticed om-1 support in the 4.2.1 patch notes. So i hope for you all that all the things are now merged in and more easily available.

3 Likes

Iā€™m new to the OM-1 - having owned it for only a few months, but it has won me over in many ways, and your dream is very much worth making real if you have even the slightest chance to do so.

4 Likes

Thank you to all the devs who pulled together the support for OM Systems OM-1 camera. My editing genes are finally happy!

1 Like

It would mean giving up my older Sony full frame and my smaller entry level Olympus EM10.
Sort of like it to get back to one body and one lens ecosystem. I love the features.
Iā€™m still happily surprised, comparing the quality of my 16MP EM10 against my 24MP full frame Sony.

But still there is something holding me back to be paying a lot to get rid of full frame. Something between my ears, I think. I currently have a trade in deal that gives 1150 euro for my older Sony body and a few lenses, but that means I still have to pay 1000 to get the OM-1. Paying 1000,- to ā€˜downgradeā€™ to m4/3 feels wrong.

But I know how happy I am with the quite old EM10, and the IQ only went up on the Olympus cameras. And the eye-detection and autofocus on my older full frame is far from great. I actually get more ā€˜hitsā€™ with my contrast-detect EM10.

That got me thinking, if it just had a modern phase-detect with something of a nice subject selection, the ā€˜photography experienceā€™ for me would jump up quite a bit.

To get the same in the Sony ecosystem, I would have to get a A7 mark3 or mark4. A mark3 goes for the same price as an OM-1. But then I canā€™t trade in my Sony lenses, so I would have to pay quite a bit more.

Maybe I should look at a second hand EM-1 Mark3, they go 1150,- around here. But I canā€™t directly trade in then, sigh.

Still thinking about it, though :).