Well I think that adding yellow to the red is a bad idea. After a little bit of research it seems that it should be something like this:
RED-Add cyan
Green-Add magenta
Blue-Add yellow
source=avisource()
rgb= source.ConvertToRGB()
red=rgb.showred().overlay(source.blankclip(color=$00FFFF),mask=rgb.showred(),mode="chroma",opacity=.5)
green=rgb.showgreen().overlay(source.blankclip(color=$FF00FF),mask=rgb.showgreen(),mode="chroma",opacity=.9)
blue=rgb.showblue().overlay(source.blankclip(color=$FFFF00),mask=rgb.showblue(),mode="chroma",opacity=.1)
newrgb=mergergb(red,green,blue)
mix=source.overlay(newrgb,mode="chroma",opacity=1.0)return(mix)
This seems to work a lot better imo. The opacity for each channel has to be tweaked scene by scene still. Is anybody still pursuing this?
EDIT: Forgot to add tweak to the last variable so you might wanna do that and tweak it up really high. Somewhere between 3 and 5.