darktable-org / darktable-org/rawspeed

Porting IIQ Support from RawTherapee for CCDs

Open
#886 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
456
Forks
147
PR merge metrics
No merged PRs in 30d

Description

Is there an existing issue for this?
  • I checked and did not find my issue in the already reported ones
Describe the bug

Hi everyone,

currently, darktable handles IIQ files from older CCD Phase One backs wrong. Luckily, all necessary reverse-engineering has been done by the @LibRaw team (thank you to Alexey Danilchenko), the implementation can be found in the following files in their source:

Help would be greatly appreciated, I am not skilled enough to implement it myself. The format is the same (Phase One IIQ), the transformations are the same, it’s “just” about making it output in a format that darktable understands.

As to what is happening. The older generation CCD backs from Phase One have multiple read-out circuits for getting a signal off the sensor. Problem is, due to manufacturing tolerances, they have different black-levels, leaving different fixed noise patterns in the final image, some fine lines are even visible in a correctly exposed picture. Adobe DNG converter and @LibRaw both correctly fix these problems. The attached images are both made with the lens-cap on and raised by +10 EV each. The IQ180 is a beloved camera and still frequently used to this day in high-end advertising and scientific imaging, so thank you from every user for fixing this, in advance!

If you need files or anything else, please just say the word! Thanks.

Steps to reproduce
  1. Load IIQ
  2. Problem persists even after denoise(profiled)
Expected behavior

No response

Logfile | Screenshot | Screencast

No response

Commit

No response

Where did you obtain darktable from?

Flatpak

darktable version

5.2.1

What OS are you using?

Linux

What is the version of your OS?

Pop!_OS 22.04 LTS

Describe your system

No response

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

RTX3080 10GB, nvidia-driver-575

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

This issue may be connected to the following older ones: #169 #168 #167 #166

Image
Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading load_mfbacks.cpp and mediumformat.cpp in the linked RawTherapee/LibRaw source, then locate the corresponding Phase One IIQ decoding path in rawspeed. Port the CCD-specific transformations so older Phase One backs decode correctly and their fixed noise patterns are removed; compare the result with the attached lens-cap images.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.