darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.09k stars 1.11k forks source link

OM System OM-1 #11258

Closed sarunasb closed 1 year ago

sarunasb commented 2 years ago

Please add support for OM-1. Default 20Mpx and three hi-res mode (25, 50 and 80Mpx) RAW sampes uploaded to raw.pixl.us.

Nilvus commented 2 years ago

Why post 4 issues? One issue per camera is enough. And which mark you post here? Please update this issue by adding all wanted things from your 3 other issues and update title with mark you post. Thanks

sarunasb commented 2 years ago

And which mark you post here?

If mark is necessary, then it would be I. However it is not part of the model name and we don't know if there ever will be next marks of this model.

Nilvus commented 2 years ago

Seems that I made some confusion with E-M1 one. Sorry. didn't know that Olympus release this new model. Thanks for your update. I let people who update cameras for darktable to check your samples.

algreen05 commented 2 years ago

I tested OM-1 support today in the latest git code and it does not work. The camera is not recognized.

Nilvus commented 2 years ago

That's why this issue is opened @algreen05

algreen05 commented 2 years ago

Great. What is needed to close it?

algreen05 commented 2 years ago

I have tested OM-1 Support in Darktable-Dev 716. Lens Correction has the OM-1 Camera model and can recognize the camera in JPG files. But Darktable is unable to read the OM-1 RAW .ORF files.

Nilvus commented 2 years ago

I have tested OM-1 Support in Darktable-Dev 716. Lens Correction has the OM-1 Camera model and can recognize the camera in JPG files. But Darktable is unable to read the OM-1 RAW .ORF files.

So good to read that: https://www.darktable.org/2012/10/whats-involved-with-adding-support-for-new-cameras/ And remember that this is a free software made by people in their free time. So support will be added when someone will do it.

algreen05 commented 2 years ago

Time is the only luxury we all possess and it isn't free.

sarunasb commented 2 years ago

These together add full support for OM-1. Tested on thousands of images in darktable.

  1. #357 (rawspeed)
  2. 11790 (white balance presets)

  3. 11791 (noise profiles)

sarunasb commented 2 years ago

Here is a branch with OM-1 support based on darktable release 4.0.0 tag.

git clone https://github.com/sarunasb/darktable.git
cd darktable
git checkout release-4.0.0-om1
git submodule init
git submodule update
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
make -j
sudo make install
/opt/darktable/bin/darktable --version
this is darktable 4.0.om1
...
sauravpandit commented 1 year ago

Can someone guide me how I can use it in windows11. I am also not able to edit photos taken by OM-1

luisfl commented 1 year ago

Here is a branch with OM-1 support based on darktable release 4.0.0 tag.

git clone https://github.com/sarunasb/darktable.git
cd darktable
git checkout release-4.0.0-om1
git submodule init
git submodule update
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
make -j
sudo make install
/opt/darktable/bin/darktable --version
this is darktable 4.0.om1
...

I am playing with your custom build, and it seems to me that the highlight reconstruction does not work properly when "clip highlights" is selected: the clipping zones are replaced with tint patches instead of white. The problem is not in the highlight recovery module, but in the color calibration module. I am dealing with this by disabling the color calibration module and tweaking more the white balance.

Maybe the color calibration module should come before the highlight reconstruction in the pipeline?

Thanks, L.

sarunasb commented 1 year ago

@luisfl

I am playing with your custom build, and it seems to me that the highlight reconstruction does not work properly when "clip highlights" is selected

I don't think this is related to -om1. Highlight recovery module behaves the same in 4.0.1, with no om1 support.

luisfl commented 1 year ago

@luisfl

I am playing with your custom build, and it seems to me that the highlight reconstruction does not work properly when "clip highlights" is selected

I don't think this is related to -om1. Highlight recovery module behaves the same in 4.0.1, with no om1 support.

Indeed, you are right. Darktable highlight recovery is not working properly even in the official 4.0.1 build. In fact, none of the 4 methods work properly. Compare the result with RawTherapee:

MyScreenshot_221104_143346 MyScreenshot_221104_143537

luisfl commented 1 year ago

Here is a branch with OM-1 support based on darktable release 4.0.0 tag.

git clone https://github.com/sarunasb/darktable.git
cd darktable
git checkout release-4.0.0-om1
git submodule init
git submodule update
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
make -j
sudo make install
/opt/darktable/bin/darktable --version
this is darktable 4.0.om1
...

I've been using your build with my OM-1 based on DT 4.0. Do you plan to release a build based on the newly released 4.2? It would be great since it seems that the highlight recovery bugs have been addressed, at least to some extent.

Thanks!!!! L.

sarunasb commented 1 year ago

Do you plan to release a build based on the newly released 4.2?

Yes, I do, maybe in a couple of days.

esm7 commented 1 year ago

Is there any feedback somewhere from the Darktable maintainers about why this hasn't been merged yet? It's been tested by so many users by now... I've been using it for months, and thousands of photos.

sarunasb commented 1 year ago

rawspeed submodule has only one maintainer. He couldn't yet devote time to it… :(

sarunasb commented 1 year ago

I've been using your build with my OM-1 based on DT 4.0. Do you plan to release a build based on the newly released 4.2? It would be great since it seems that the highlight recovery bugs have been addressed, at least to some extent.

I just made a branch starting with darktable 4.2 release tag. It should automatically pull the right rawspeed submodule with OM System and OM-1 support. (WB presets and noise profiles for OM-1 are added to JSON files within the main darktable tree.)

To get the source code:

git clone https://github.com/sarunasb/darktable.git
cd darktable
git checkout 4.2-om
git submodule init
git submodule update

To compile on Ubuntu I do:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
make -j
sudo make install

Running /opt/darktable/bin/darktable --version should give:

this is darktable 4.2.om1
…

In case your previous darktable version was earlier than 4.2, then running this will upgrade database and possibly config. One can run this newly compiled 4.2.om1 something like this to preserve the existing DB and config:

/opt/darktable/bin/darktable --configdir "~/.config/darktable-test"
luisfl commented 1 year ago

I've been using your build with my OM-1 based on DT 4.0. Do you plan to release a build based on the newly released 4.2? It would be great since it seems that the highlight recovery bugs have been addressed, at least to some extent.

I just made a branch starting with darktable 4.2 release tag. It should automatically pull the right rawspeed submodule with OM System and OM-1 support. (WB presets and noise profiles for OM-1 are added to JSON files within the main darktable tree.)

To get the source code:

git clone https://github.com/sarunasb/darktable.git
cd darktable
git checkout 4.2-om
git submodule init
git submodule update

To compile on Ubuntu I do:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
make -j
sudo make install

Running /opt/darktable/bin/darktable --version should give:

this is darktable 4.2.om1
…

In case your previous darktable version was earlier than 4.2, then running this will upgrade database and possibly config. One can run this newly compiled 4.2.om1 something like this to preserve the existing DB and config:

/opt/darktable/bin/darktable --configdir "~/.config/darktable-test"

I just compiled and installed your new 4.2 version in Fedora 36 Šarūnas, and it seems to be working great.

Nice 2023 and THANKS A LOT!!!!!!!!!!!!!

L.

dadu007 commented 1 year ago

Could some kind soul dumb it down for this lowly Windows user? I see someone here has support for the new OM-1 working on the Linux version of Darktable. Is there an expected date (or current way) to add support for that camera in the Windows version of Darktable? Github is a strange place to me; I previously created an account to get builds of software to run a closed-loop insulin pump for my son. (I had very detailed instructions on another site that only showed how to grab the build from Github.) All that to say, be kind. :-) Newb to Nth newbieness.

lintujuh commented 1 year ago

There is a ready-build Windows package available, check the post in pixls.us https://discuss.pixls.us/t/om-1-support-in-darktable/30980/55

dadu007 commented 1 year ago

There is a ready-build Windows package available, check the post in pixls.us https://discuss.pixls.us/t/om-1-support-in-darktable/30980/55 Thanks so much! I never would have found that. I downloaded and it's working my OM-1 files on Windows 10. Much appreciated!

Nilvus commented 1 year ago

I close. Rawspeed support added. Remains noise profiles (another issue opened) and PR opened and to update for WB.

TurboGit commented 1 year ago

Just a little note, this has been added in rawspeed but the sub-module has not yet been updated so at the moment it is still not supported on darktable.

kmilos commented 1 year ago

Would be great to merge this into rawspeed stable and backport for 4.2.1 😉 @LebedevRI @TurboGit

Nilvus commented 1 year ago

Hmm, forget that step. This will be done quickly I think so we can let this one opened. Will try to remember that next time!

lintujuh commented 1 year ago

I have build dt from the latest master, and I'm not having OM-1 support. I have rebuilt everything from scratch, without success. Have I done something wrong, or should I wait for the submodule to be updated?

Nilvus commented 1 year ago

@lintujuh: you have the answer just 3 comments above.

sarunasb commented 1 year ago
cd src/external/rawspeed
git checkout develop

This will have OM-1. Not that I can explain it :)

kanwarplaha commented 1 year ago

The path .../darktable/src/external/rawspeed shows as failed. Also, https://github.com/sarunasb/rawspeed.git returns 404. So cannot build darktable with OM-1 support anymore:

darktable build script

Building directory:  $HOME/Work/Apps/desktop/darktable/build
Installation prefix: /opt/darktable
Build type:          RelWithDebInfo
Build generator:     Unix Makefiles
Build tasks:         12

-- Building SSE2-optimized codepaths: ON
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=varargs
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=varargs - Success
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=varargs
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=varargs - Success
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member - Success
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member - Success
-- Looking for external programs
-- Found perl
-- Found intltool-merge
-- Found desktop-file-validate
-- Found LLVM 15.0.7
-- Found clang compiler - /usr/bin/clang-15
-- Found clang opencl-c.h header in /usr/lib/clang/15.0.7/include
-- Will be able to test-compile OpenCL programs. Nice.
-- Missing jsonschema, problems in noiseprofiles.json might go unnoticed
-- Found xsltproc
-- Found xmllint
-- Found exiftool
-- All external programs found
-- Found Gettext: /usr/bin/msgmerge (found version "0.21.1") 
-- Found msgfmt to convert .po file. Translation enabled
CMake Error at src/external/CMakeLists.txt:2 (add_subdirectory):
  The source directory

    $HOME/Work/Apps/desktop/darktable/src/external/libxcf

  does not contain a CMakeLists.txt file.

CMake Error at src/external/CMakeLists.txt:20 (message):
  RawSpeed submodule not found.  You probably want to run:

  $ git submodule init

  and then

  $ git submodule update

-- Configuring incomplete, errors occurred!
See also "$HOME/Work/Apps/desktop/darktable/build/CMakeFiles/CMakeOutput.log".
See also "$HOME/Work/Apps/desktop/darktable/build/CMakeFiles/CMakeError.log".
❯ git submodule init
❯ git submodule update
Cloning into '$HOME/Work/Apps/desktop/darktable/src/external/rawspeed'...
fatal: clone of 'https://github.com/sarunasb/rawspeed.git' into submodule path '$HOME/Work/Apps/desktop/darktable/src/external/rawspeed' failed
Failed to clone 'src/external/rawspeed'. Retry scheduled
Cloning into '$HOME/Work/Apps/desktop/darktable/src/external/rawspeed'...
fatal: clone of 'https://github.com/sarunasb/rawspeed.git' into submodule path '$HOME/Work/Apps/desktop/darktable/src/external/rawspeed' failed
Failed to clone 'src/external/rawspeed' a second time, aborting

So, i tried commenting out rawspeed from .gitmodules. I got the following error:

-- Found msgfmt to convert .po file. Translation enabled
CMake Error at src/external/CMakeLists.txt:2 (add_subdirectory):
  The source directory

    $HOME/Work/Apps/desktop/darktable/src/external/libxcf

  does not contain a CMakeLists.txt file.

CMake Error at src/external/CMakeLists.txt:20 (message):
  RawSpeed submodule not found.  You probably want to run:

  $ git submodule init

  and then

  $ git submodule update

-- Configuring incomplete, errors occurred!

Does the 4.2-om or 4.2.om1 not build anymore?

sarunasb commented 1 year ago

So, i tried commenting out rawspeed from .gitmodules.

Does the 4.2-om or 4.2.om1 not build anymore?

It should still build, those there is no need to use my branch of rawspeed anymore, as OM support has been merged into darktable-org/rawspeed.

kanwarplaha commented 1 year ago

I didn't pull rawspeed branch (or submodule) but follow these steps:

$ git clone https://github.com/sarunasb/darktable.git
Cloning into 'darktable'...
remote: Enumerating objects: 257102, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 257102 (delta 5), reused 10 (delta 5), pack-reused 257091
Receiving objects: 100% (257102/257102), 1.13 GiB | 3.20 MiB/s, done.
Resolving deltas: 100% (203472/203472), done.
$ cd darktable
$ git checkout 4.2-om
branch '4.2-om' set up to track 'origin/4.2-om'.
Switched to a new branch '4.2-om'
$ git submodule init
Submodule 'src/external/LibRaw' (https://github.com/LibRaw/LibRaw.git) registered for path 'src/external/LibRaw'
Submodule 'src/external/OpenCL' (https://github.com/KhronosGroup/OpenCL-Headers.git) registered for path 'src/external/OpenCL'
Submodule 'src/external/libxcf' (https://github.com/houz/libxcf.git) registered for path 'src/external/libxcf'
Submodule 'src/external/rawspeed' (https://github.com/darktable-org/rawspeed.git) registered for path 'src/external/rawspeed'
Submodule 'src/external/whereami' (https://github.com/gpakosz/whereami) registered for path 'src/external/whereami'
Submodule 'src/tests/integration' (https://github.com/darktable-org/darktable-tests.git) registered for path 'src/tests/integration'
kmilos commented 1 year ago

You can just check out master now.

This is not a support forum, but a tool for development. Please head over to discuss.pixls.us for community support.

sarunasb commented 1 year ago

Full support for OM has been merged into darktable main. One can just follow build instructions there.