For bored developers: Canon Powershot G1

Hi there!

There’s an old, forgotten camera from 2001: the Canon PowerShot G1. Back then it was pretty popular, often described as a prosumer model, a relatively compact one with full manual controls, good optics (F2.0) and of course RAW capability. Because of its capabilities and target audience, I think many people have valuable RAWs from it - which would certainly benefit from RT’s modern, advanced algorithms. Actually, such old RAWs have the greatest need for them!

However, this camera has a big problem: its sensor is different. It’s not GRGB, it’s CMYG. And while dcraw has no problems with it, RT crashes upon opening. Actually, few third party software support any non-GRGB RAWs.

I don’t know how difficult it is to add support for such a camera - if there’s a bored developer who takes the challenge, we, G1 owners, are going to be very happy.

Here’s a CC sample to start with:
http://filebin.net/g3qilyofor
But this file is only suitable for testing! When I took this shot (under pretty suboptimal conditions, just for experimenting), my camera had been IR-converted long ago, so I resorted to an external hot mirror, resulting in somewhat different colors and a “nice” reddish hot spot.
But: once support is implemented and only calibration is left, if nobody else contributes a CC shot made with an unmodified camera, I’ll get one ($15 nowadays, cheaper than the time needed to put the hot mirror back) and do it for you.

dcraw can open it.

LibRaw doesn’t seem to be able to, though.

I think modern demosaicing algorithms assume that both green channels are the same color, which is the problem here.

At least I’ll try to fix the crash when opening G1 file in RT :wink:

By the way, this camera is the reason, I have CRW format disabled in RT file browser’s preferences. Older versions of RawTherapee used to crash opening folders, containing such photos. At least this doesn’t happen any more.

I don’t intend to code support for this old camera. Before I would do this I would try to code better support for my old D1x files ;-). But there are are some issues when trying to open a raw file of the G1 (crash, endless loop) which I want to solve…

1 Like

If that’s the problem, then VNG4 should work in theory. UFRaw uses that algorithm for such RAWs. It’s also present in RT. But there’s no way to select it because of the crash - a preset file could do the job, but this setting affects preview only in 1:1 zoom, which is not stored in the preset file, so this workaround seems to be hopeless.

You can look into darktable which supports that camera. I can’t remember what demosaicing is offered for it though.

My priorities for making changes to RT code are:

  1. Fix crash bugs
  2. Fix non-crash bugs (artifacts)
  3. make speedups
  4. help other devs making new tools
  5. improve handling of my old D1x files
  6. improve handling of other old files (e.g. Canon G1 raw)

So, for G1 (currently and in near future) darktable will be the way to go… :slight_smile:

Can I plead for the fix for manual lenses and .LCPs to go into (2) please :slight_smile:
(Issue #2895, LCPs not actioned for “unknown” lenses). Andrew

I fixed the crash bug and the freeze bug when opening files from G1 or other cameras with GMCY cfa. They still come out wrong though. @RawConvert: I’ll have a look at #2895 now

Hey thanks, that’s great. With any luck I’ll soon be able to straighten this bridge out…!

I just pushed the changes to master. Should work now.

Many thanks Ingo. I’ll look out for a new version on the Downloads page.