rawspeed icon indicating copy to clipboard operation
rawspeed copied to clipboard

OM Digital Solutions OM-1 support

Open kmilos opened this issue 2 years ago • 12 comments

Addresses https://github.com/darktable-org/darktable/issues/11258

@LebedevRI This is a stub only, I have not verified the CFA pattern nor the crop.

Also, I have left the short maker name/ID as "OM", but that is up for debate: "OMDS", full "OM Digital Solutions"... even keep "Olympus"?

kmilos avatar Mar 09 '22 13:03 kmilos

Codecov Report

Merging #348 (2f8849d) into develop (1a1b723) will decrease coverage by 0.00%. The diff coverage is 66.66%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #348      +/-   ##
===========================================
- Coverage    60.47%   60.47%   -0.01%     
===========================================
  Files          207      207              
  Lines        12628    12630       +2     
  Branches      1761     1762       +1     
===========================================
+ Hits          7637     7638       +1     
- Misses        4859     4860       +1     
  Partials       132      132              
Flag Coverage Δ
integration 47.94% <66.66%> (+<0.01%) :arrow_up:
rpu_u 47.94% <66.66%> (+<0.01%) :arrow_up:
unittests 22.56% <0.00%> (-0.01%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/librawspeed/tiff/TiffIFD.cpp 84.37% <50.00%> (-0.44%) :arrow_down:
src/librawspeed/decoders/OrfDecoder.cpp 65.06% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 1a1b723...2f8849d. Read the comment docs.

codecov[bot] avatar Mar 09 '22 15:03 codecov[bot]

Also, I have left the short maker name/ID as "OM", but that is up for debate: "OMDS", full "OM Digital Solutions"... even keep "Olympus"?

Perhaps <ID make="" should be "OM System", as is in MakerNote header?

sarunasb avatar Mar 15 '22 19:03 sarunasb

@LebedevRI @kmilos @TurboGit Is there anything I can help with to move this forward?

sarunasb avatar Mar 24 '22 16:03 sarunasb

What is required to close this out and get OM-1 support in darktable?

algreen05 avatar Apr 10 '22 16:04 algreen05

What is required to close this out and get OM-1 support in darktable?

Not sure why the hold-up with this, but if you would be willing to compile from source, you could use my branches

https://github.com/sarunasb/darktable/tree/om-1
https://github.com/sarunasb/rawspeed/tree/om-system

They support OM-1 RAW, including noise profiles and white balance presets. rawspeed om-1 is a clone of kmilos.om-1 with "OM" changed to "OM System".

sarunasb avatar Apr 22 '22 18:04 sarunasb

What is required to close this out and get OM-1 support in darktable?

Not sure why the hold-up with this, but if you would be willing to compile from source, you could use my branches

https://github.com/sarunasb/darktable/tree/om-1
https://github.com/sarunasb/rawspeed/tree/om-system

They support OM-1 RAW, including noise profiles and white balance presets. rawspeed om-1 is a clone of kmilos.om-1 with "OM" changed to "OM System".

Thank you for this helpful suggestion. I am not familiar with cloning branches. I currently pull from:

git pull --recurse-submodules https://github.com/darktable-org/darktable.git

How would I change this command to pull/clone one of your branches?

algreen05 avatar Apr 22 '22 21:04 algreen05

Thank you for this helpful suggestion. I am not familiar with cloning branches. I currently pull from:

git pull --recurse-submodules https://github.com/darktable-org/darktable.git

How would I change this command to pull/clone one of your branches?

You can get my fork of darktable and then switch to its om-1 branch like this:

git clone --recurse-submodules https://github.com/sarunasb/darktable.git
git checkout om-1

This above should also pull my fork of rawspeed submodule. Then just follow standard build instructions. Please be aware that this derives from darktable's develop branch! Before invoking the newly compiled darktable, please make sure you have backups of your ~/.config/darktable. Follow Using → Test/unstable version of instructions, i.e. do

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

sarunasb avatar Apr 23 '22 14:04 sarunasb

This seems to be taking a very long time to close out.

algreen05 avatar May 17 '22 09:05 algreen05

What is needed to complete OM-1 support in Darktable?

algreen05 avatar May 29 '22 08:05 algreen05

@sarunasb thanks for your efforts. I just tried out your fork and branch "om-1" and built it (3.9.0+1754~g3cf3ad4e2-dirty), but it does not read ORF-files from my OM-1 camera. This is my output when trying to open an image:

[rawspeed] (20220625_0001.ORF) virtual std::unique_ptr<rawspeed::RawDecoder> rawspeed::RawParser::getDecoder(const rawspeed::CameraMetaData*), line 91: No decoder found. Sorry.
[temperature] failed to read camera white balance information from `20220625_0001.ORF'!
[dt_imageio_export_with_flags] mipmap allocation for `unused' failed
[temperature] failed to read camera white balance information from `20220625_0001.ORF'!
[temperature] `OM Digital Solutions OM-1' color matrix not found for image
[temperature] failed to read camera white balance information from `20220625_0001.ORF'!
[temperature] failed to read camera white balance information from `20220625_0001.ORF'!
[colorin] could not find requested profile `standard color matrix'!

I'd be glad to help out if I can.

pacoispaco avatar Jun 25 '22 11:06 pacoispaco

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

After this, rawspeed should be in a branch with OM System support:

grep OM-1 src/external/rawspeed/data/cameras.xml
   <Camera make="OM Digital Solutions" model="OM-1">
      <ID make="OM System" model="OM-1">OM Digital Solutions OM-1</ID>

sarunasb avatar Jun 25 '22 16:06 sarunasb

@sarunasb Thanks for the help. It works fine now. I can import, view and edit OM-1 ORF-files.

I don't know what i missed in my first attempt to build your fork and the OM-1 branch.

Needless to say, it would be very nice if @kmilos and @sarunasb contribution and pull request would be accepted, so all users could have access to this feature.

pacoispaco avatar Jun 26 '22 09:06 pacoispaco

Thank you for this helpful suggestion. I am not familiar with cloning branches. I currently pull from: git pull --recurse-submodules https://github.com/darktable-org/darktable.git How would I change this command to pull/clone one of your branches?

You can get my fork of darktable and then switch to its om-1 branch like this:

git clone --recurse-submodules https://github.com/sarunasb/darktable.git
git checkout om-1

This above should also pull my fork of rawspeed submodule. Then just follow standard build instructions. Please be aware that this derives from darktable's develop branch! Before invoking the newly compiled darktable, please make sure you have backups of your ~/.config/darktable. Follow Using → Test/unstable version of instructions, i.e. do

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

Thank you very much for this. Yet, I get the exact same error with your darktable version than with mine (official 4.0.1 in Fedora 36): "Image xxxx is not available"... "darktable could not load"....

This is what I did (I needed to add cmake in sudoers):

sudo dnf builddep darktable   (<==== 101 PACKAGES INSTALLED, NO PROBLEM)
git clone --recurse-submodules https://github.com/sarunasb/darktable.git
cd darktable
git checkout om-1
./build.sh --prefix /opt/darktable --build-type Release --install   (<==== BUILT WITHOUT PROBLEM)
chown -R me.mygroup /opt/darktable  (<==== AS ROOT)
/opt/darktable/bin/darktable --configdir "~/.config/darktable-test" ~/nosync/art/Dated_-221022-C_90217.orf
 

I also tried with a folder instead of an ORF, and just got 100 skulls.

Afterwards, I tried your other guide https://github.com/darktable-org/darktable/issues/11258#issuecomment-1179588323 Now, darktable opens the image without errors.... but as a completely white image.

What am I doing wrong?

EDIT

I just realized the problem: the RAW black-white point for some reason was way off. I can now open the image normally.

Thanks!

luisfl avatar Oct 22 '22 19:10 luisfl

Well, I bought a copy of CaptureOne because I needed OM-1 support and don’t want to wait a year for open source. Now that I use Capture One I realise how much time it used to take me to get the same results in Darktable. Time is the only luxury we all have. Free is not free if it costs so much time.

On 22 Oct 2022, at 20:34, luisfl @.***> wrote:

Thank you for this helpful suggestion. I am not familiar with cloning branches. I currently pull from: git pull --recurse-submodules https://github.com/darktable-org/darktable.git https://github.com/darktable-org/darktable.git How would I change this command to pull/clone one of your branches?

You can get my fork of darktable and then switch to its om-1 branch like this:

git clone --recurse-submodules https://github.com/sarunasb/darktable.git git checkout om-1 This above should also pull my fork of rawspeed submodule. Then just follow standard build instructions. Please be aware that this derives from darktable's develop branch! Before invoking the newly compiled darktable, please make sure you have backups of your ~/.config/darktable. Follow Using → Test/unstable version of instructions, i.e. do

/opt/darktable/bin/darktable --configdir "~/.config/darktable-test" Thank you very much for this. Yet, I get the exact same error with your darktable version than with mine is (4.0.1): "Image xxxx is not available"... "darktable could not load"....

This is what I did:

git clone --recurse-submodules https://github.com/sarunasb/darktable.git cd darktable (I THINK YOU FORGOT THIS?) git checkout om-1 ./build.sh --prefix /opt/darktable --build-type Release --install (I needed to add cmake in sudoers) (BUILT WITHOUT PROBLEM) chown -R me.mygroup /opt/darktable /opt/darktable/bin/darktable --configdir "~/.config/darktable-test" ~/nosync/art/Dated_-221022-C_90217.orf I also tried with a folder instead of an ORF, and just got 100 skulls.

Thanks!

— Reply to this email directly, view it on GitHub https://github.com/darktable-org/rawspeed/pull/348#issuecomment-1287892396, or unsubscribe https://github.com/notifications/unsubscribe-auth/AW7D5YQYE66EVJOIQ6BP2B3WEQ6UXANCNFSM5QJQZSJQ. You are receiving this because you commented.

algreen05 avatar Oct 23 '22 15:10 algreen05

Time is the only luxury we all have. Free is not free if it costs so much time.

You just show how much you don't understand what a free software is. If it does not fit your need, fine, do not use it but please stop posting non sense here. Thanks.

TurboGit avatar Oct 23 '22 16:10 TurboGit

LOL. You can ignore opinions you don’t like but you can’t stop people from having them.

On 23 Oct 2022, at 17:48, Pascal Obry @.***> wrote:

Time is the only luxury we all have. Free is not free if it costs so much time.

You just show how much you don't understand what a free software is. If it does not fit your need, fine, do not use it but please stop posting non sense here. Thanks.

— Reply to this email directly, view it on GitHub https://github.com/darktable-org/rawspeed/pull/348#issuecomment-1288152676, or unsubscribe https://github.com/notifications/unsubscribe-auth/AW7D5YQM6RWSWUUNALIXSC3WEVT67ANCNFSM5QJQZSJQ. You are receiving this because you commented.

algreen05 avatar Oct 23 '22 16:10 algreen05

Have you thoughts just a moment how many times all devs are putting for free on the project? And you come here to say that you feel spending too much time learning. That's really a miserable view!

TurboGit avatar Oct 23 '22 17:10 TurboGit