[RESEARCH] DIGIC focus peaking

Started by a1ex, August 28, 2012, 11:12:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

a1ex

If you like fast zebras, it may be possible to get focus peaking with a similar method - with DIGIC registers.

We have 4 scenarios for focus peaking:

- movie recording: we can only use C0F14xxx (display device), since these registers do not affect recording.
- photo mode (1x) or movie mode standby: we can also use registers that adjust image sharpness.
- zoom mode (5x, 10x): same as photo mode, but some registers may be different.
- playback mode: C0F14xxx (display device) or any custom image processing algorithm (not real-time).

The method of using sharpness registers looks very promising, at least for photo mode, so here are my findings on this:

- c0f2116c controls picture style sharpness: 0 = none, ffff0000 = max. It affects most of the other sharpness controls, so set a positive sharpness in picture style menu or in this register.
- c0f0f280 looks like a high-pass filter, but amplifies noise a lot. c0f2135c does some noise reduction and can be used here.
- c0f23164 enhances edges from bright areas, and looks great for peaking as long as the image is exposed to the right. If this could be configured to enhance edges from midtones, it's probably what we are looking for.
- c0f0f29c (cartoon look) enhances most edges, but it's too strong and adds a lot of noise. Doesn't work in zoom mode.
- other registers that seem to enhance edges or alter sharpness: c0f0f17c, c0f23140, c0f2314c, c0f2313c, c0f23134, c0f23128, c0f23124, c0f2311c, c0f23118, c0f230bc.

You can already try these things with some older binaries, or by compiling digic poke yourself, see  http://magiclantern.wikia.com/wiki/Register_Map/Brute_Force

If you notice other registers that can be used for focus peaking, please let me know.

discocalculi

I've just started scracthing on it after your reports on c0f231xx, but it looks like for instance:

c0f2310c looks like slightly sharper diagonal patterns/outer contours (I was shooting at a white screen macbook)
c0f23110 interfers a lot more in the diagonal and outer contours than c0f2310c
c0f23114 slightly less interference than for instance c0f2310c, c0f2310. (for example when poking <<8 )
c0f23118 (for example when poking <<8 )

c0f23120 outer contour
c0f23124
c0f23128 (<<8 )
c0f2312c  (<<8 )
c0f23134 (<<8 )
c0f23140 (<<8 )
c0f23160  (<<8 )
c0f23168 (<<8 )
c0f2316c (<<8 )

... more to come...

discocalculi



a1ex

Went back to my notes and got it working:

https://bitbucket.org/hudson/magic-lantern/commits/227bf037ae1f5441b04c3552551b4dffb24c9de3

It's only sensitive to vertical edges, but it's done in the display device (just like fast zebras). So, it's instant and has nearly zero impact on CPU usage.

If you want different display modes, more contrast or whatever, you have to find them (see previous posts). I don't know how to program the display device, I'm only tweaking some existing settings / filters.

dude

That s great- focus peaking is one of the most important things from ML, especially on the MK III.

I am excited!

nanomad

EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

arrinkiiii


SteveScout

Cool, thanks for the amazin work. Is there already a build existing where we could try this out together with recording raw?

Nachelsoul

Thanks A1ex for this invaluable feature. What a great imagination you have to find that!!!!!!

ilguercio

So, do you reckon there is more around C0F14140 that could be found?
I think 1% builds for the 6D include Digic Poke so i would be fine with finding the addresses.
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

1%

You can look. This is working on everything I've tried so far.

oddname

That digic-magic works wonders on raw-filming =D
Great find indeed.