Skip to content

feat: add false color enhancement feature.#329

Open
WB-tommy wants to merge 3 commits into
ilia3101:masterfrom
WB-tommy:master
Open

feat: add false color enhancement feature.#329
WB-tommy wants to merge 3 commits into
ilia3101:masterfrom
WB-tommy:master

Conversation

@WB-tommy

@WB-tommy WB-tommy commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

RawTherapee has the feature that attenuate false color artifacts on bilinear tab. It will be good for cameras which are uses line- skip instead of hardware binning(e.g. EOSM).
It takes quite a long time on processing(EOSM's 3x3 video live view frame change 20fps to 5fps and exporting speed increased by 3-6times.) but give a little bit of increment on overall image quality. Please review the code and result.
If sample footage for testing this feature, I would share one of my footages took 3x3 with EOSM.

RawTherapee has the feature that attenuate false color artifacts
on bilinear tab. It will be good for cameras which are uses line-
skip instead of hardware binning(e.g. EOSM).
It takes quite a long time on processing(EOSM's 3x3 video live
view frame change 20fps to 5fps and exporting speed increased by
3-6times.) but give a little bit of increment on overall image
quality. Please review the code and result.
If sample footage for testing this feature, I would share one of
my footages took 3x3 with EOSM.
@masc4ii

masc4ii commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Hi @WB-tommy ! Thanks for the PR. Nice work. The results are stunning for many of my old 5D2 clips. And it is not that slow here on my M1. When artifacts get fixed I still get realtime preview (or close to, 22fps) for FHD clips.

Some remarks:

  • I don't get the point why the Border feature is needed. That makes trouble and is kind of unnecessary complexity... MLVApp isn't made for any resolution change in most modules, classes etc...: the viewer lacks, the export makes problems, and so on. I would suggest to do resizing and cropping in the NLE after MLVApp export. It was the recommendation over all the years and I don't see a point to change it... all NLEs can do this so much better...
  • I am not 100% sure, if the other 2 options work as intended: For some clips I get more false colors than it removes, especially on contrast edges. These edges get blue, orange or pink lines. Is this normal? Do you get the same with your clips?
  • The sliders have a very different look and feel than all other sliders. That is okay at this stage for testing. Before merging we should adapt it. Don't worry... I can do this. But the other 2 remarks before are more important.

Edit: one more:

  • False color slider on a 10bit clips changes the entire clip color a lot.

@WB-tommy

WB-tommy commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author
  1. I added border and iteration(LMMSE and DCB) slider and option because RawTherapee has it. I have almost complete zero understanding on a resizing policy. I try to replicate the feature. In RawTherapee tooltips said iterations will reduce artifacts and improve SNR. I've never seen improvements on my eye but I believe someone who has well-trained eyes will find improvements.(This happens because of my less experienced video capturing skills.) If it should be deleted, I will delete it. Please tell me.
  2. Yes, I think pink or blue or orange or green lines on edges is trade off for false color enhancement. I uploaded the footage I used for testing and some pictures that can compare results that I used when testing. I tested with LMMSE and DCB mostly.
    footage: https://drive.google.com/file/d/1RweblYHR5A7zX15kV3Els35kcBZ7wOG9/view?usp=sharing
    images

P.S I did not test 10bit clips that's my fault. I have very a few 10bits clips that recorded with line-skipped sensor data. I would fix that and make pull request again. I would test 10 bit and dual iso footage. I forgot that options.

have a pinky screen error on image except 14bit footage while
false color enhancement is applied. This is caused by wb applying.
@WB-tommy

WB-tommy commented Jul 11, 2026

Copy link
Copy Markdown
Contributor Author

May I ask footages that gets blue and green edges. If you get green edges on LMMSE, I have the same problem and RawTherapee also has the same problem. However blue edges are something I didn't see with my footages.

P.S. I fixed malfunction on below 14bits clip.

False Color correction feature create more cyan(pinky) lines
on edges of high contrast or reconstructed highlight area.
Also, removed border slider.
@WB-tommy

WB-tommy commented Jul 12, 2026

Copy link
Copy Markdown
Contributor Author

Fix cyan pinky border problem. It appears usually where borders of between dark area and very bright area.
Moreover, I removed border slider and functions.

@masc4ii

masc4ii commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Oh yes. That now looks really good. Nice!
I found some changes in the code... I think there is a better way. I'll comment it.

Edit... hoa... or I'll try to describe here, because it is all over...:

  • The options shouldn't be brought as individual variables / parameters to the functions. There are structures: mlv_object, processing_object, etc. ... . Whereever the new variables are needed - here it has to be integrated.

If it's no problem for you, I'd pick the functionality itself into a new branch and build the other parts according to how things were made. I just need time for it...

Have you also played a bit around with the iterations slider? For me the ideal settings seems to be the setting which was hardcoded before. I am not sure, but I think I got those hardcoded numbers from the RawTherapee teams code.
For LMMSE: 0 is really bad, and 2+ I get more new artifacts then it solves. So 1 is ideal mostly.
For DCB: 2 seems to be ideal. Below there are the artifacts I know very well from Resolve and >2 I don't see any difference. Do you mean we really need the slider?

The false color slider is magic. This one is really great. And I think this is the one which definitively should be added as good as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants