colorcalibration also for manual wb#20304
colorcalibration also for manual wb#20304kofa73 wants to merge 10 commits intodarktable-org:masterfrom
Conversation
|
Did you intend to include cmixer_orig.c.txt in the PR? |
See the end of the description:
|
6631dc3 to
be0ad7a
Compare
|
@ralfbrown : extra files removed, thank for your patience |
ce74cf6 to
daae18d
Compare
daae18d to
5474b61
Compare
|
A first complete code reading and remembering your comments before; generally i think this is a minor but very good improvement and will certainly help with some issues. Also it make the intention more clear and fixes some common misunderstandings. I spotted some places like this: Could you explain if/why this is nevessary or is it just code-style? |
|
The key is the line: correction[k] = chr->D65coeffs[k] / chr->wb_coeffs[k];This used to be something like (below is one concrete example): chr->D65coeffs[0] / chr->as_shot[0]The new denominator comes from typedef struct dt_iop_temperature_params_t
{
float red; // $MIN: 0.0 $MAX: 8.0
float green; // $MIN: 0.0 $MAX: 8.0
float blue; // $MIN: 0.0 $MAX: 8.0
float various; // $MIN: 0.0 $MAX: 8.0
int preset;
} dt_iop_temperature_params_t;One option would be to restrict the values to If I misunderstood the question, please let me know. |
5474b61 to
6d612e0
Compare
fa618ac to
6156826
Compare
152cb16 to
b529102
Compare
b529102 to
994a97c
Compare
994a97c to
5217b8c
Compare
…eckbox; populate dev->chroma->late_correction based on checkbox-driven late_correction flag for 'legacy' modes (DT_IOP_TEMP_AS_SHOT, DT_IOP_TEMP_SPOT, DT_IOP_TEMP_USER)
…rything is purple.
…coeffs into find_temperature_from_wb_coeffs, find_temperature_from_as_shot_coeffs; added handling to channelmixerrgb.c + altered logic for 'late correction' check
…alidate wb_coeffs for find_temperature_from_wb_coeffs as well as in find_temperature_from_as_shot_coeffs; fix copy-pasted comment in channelmixerrgb.c#gui_changed
…UMINANT_CAMERA was added
… comment maintenance
217d52f to
3e8cb65
Compare
|
Any updates? There have been no new commits for a while, just resolving conflicts. |
|
@kofa73 : This gets under the radar and I had many things to do for the AI integration. The discussion on pixl.us was difficult and my motivation was quite down for some time... I'm still a simple human :) I'll get back to this for 5.6. |
|
That's OK. I only asked to know if there's interest in this, so if another conflict comes, should I update it or just drop it. I know it's really not important, I'm not sure it actually brings any benefit. It was just always weird to me what was so special about one specific set of multipliers, read from the EXIF. Plus, we'd have two equivalent settings (as shot + the new checkbox = as shot to reference), so a UI design change may be needed. I'm not sure it's for 5.6. |
Addresses #19873
temperature.cto explicitly control thelate_correctionflag in 'user' / 'manual' modeslate_correctionis always off in 'camera reference' mode, always on in 'as-shot to reference')chr->as_shotwithchr->wb_coeffsinhighlights.c,colorin.c,opposed.candsegbased.cilluminants.h:DT_ILLUMINANT_FROM_WB, plus handling in conditionals, similar toDT_ILLUMINANT_CAMERA, but relying ondev->chroma->wb_coeffsfind_temperature_from_raw_coeffs:find_temperature_from_as_shot_coeffsfind_temperature_from_wb_coeffs, to allow directly using coefficients fromtemperature.c, instead of always going through ratios relative to the D65 valueswb_coeffstoilluminant_to_xyfor absolute coefficients fromtemperature.c; renamed paramcustom_wbtocorrection_ratiosto express what it represents; passed tofind_temperature_from_wb_coeffsinDT_ILLUMINANT_FROM_WBmodechannelmixerrgb.c:_dev_is_D65_chromano longer needsas_shotmultipliers inlate_correctionmode_get_white_balance_coeffto_get_d65_correction_ratiosfind_temperature_from_wb_coeffsto handleDT_ILLUMINANT_FROM_WBDraft for now, to allow discussion (and I haven't tested much, but wanted to make the changes visible to others;plus, I need to clean up some temp files)