latent correction hints

Signed-off-by: vladmandic <mandic00@live.com>
This commit is contained in:
vladmandic
2026-03-22 11:27:36 +01:00
parent b2b4e13bab
commit e87fcd1bc5
3 changed files with 17 additions and 18 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
- Release **Enso**
- Update **ROCm**
- Tips **Color Grading**
- Tips **Latent Corrections**
- Regen **Localization**
## Internal
+9 -10
View File
@@ -163,7 +163,6 @@
{"id":"","label":"Batch size","localized":"","hint":"How many image to create in a single batch (increases generation performance at cost of higher VRAM usage)","ui":"txt2img"},
{"id":"","label":"Beta schedule","localized":"","hint":"Defines how beta (noise strength per step) grows. Options:<br>- default: the model default<br>- linear: evenly decays noise per step<br>- scaled: squared version of linear, used only by Stable Diffusion<br>- cosine: smoother decay, often better results with fewer steps<br>- sigmoid: sharp transition, experimental","ui":"txt2img"},
{"id":"","label":"Base shift","localized":"","hint":"Minimum shift value for low resolutions when using dynamic shifting.","ui":"txt2img"},
{"id":"","label":"Brightness","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Block","localized":"","hint":"","ui":"script_kohya_hires_fix"},
{"id":"","label":"Block size","localized":"","hint":"","ui":"script_nudenet"},
{"id":"","label":"Banned words","localized":"","hint":"","ui":"script_nudenet"},
@@ -235,8 +234,6 @@
{"id":"","label":"CLIP Analysis","localized":"","hint":"","ui":"caption"},
{"id":"","label":"Context","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Correction mode","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Color","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Center","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Color grading","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Crop to portrait","localized":"","hint":"Crop input image to portrait-only before using it as IP adapter input","ui":"txt2img"},
{"id":"","label":"Concept Tokens","localized":"","hint":"","ui":"script_consistory"},
@@ -649,9 +646,6 @@
{"id":"","label":"HiDiffusion","localized":"","hint":"HiDiffusion allows creation of high-resolution images using your standard models without duplicates/distortions and improved performance","ui":"settings_advanced"},
{"id":"","label":"Height","localized":"","hint":"Image height","ui":"txt2img"},
{"id":"","label":"HiRes steps","localized":"","hint":"Number of sampling steps for upscaled picture. If 0, uses same as for original","ui":"txt2img"},
{"id":"","label":"HDR clamp","localized":"","hint":"Adjusts the level of nonsensical details by pruning values that deviate significantly from the distribution mean. It is particularly useful for enhancing generation at higher guidance scales, identifying outliers early in the process and applying mathematical adjustments based on the Range (Boundary) and Threshold settings. Think of it as setting the range within which you want your image values to be, and adjusting the threshold determines which values should be brought back into that range","ui":"txt2img"},
{"id":"","label":"HDR maximize","localized":"","hint":"Calculates a 'normalization factor' by dividing the maximum tensor value by the specified range multiplied by 4. This factor is then used to shift the channels within the given boundary, ensuring maximum dynamic range for subsequent processing. The objective is to optimize dynamic range for external applications like Photoshop, particularly for adjusting levels, contrast, and brightness","ui":"txt2img"},
{"id":"","label":"HDR range","localized":"","hint":"","ui":"script_hdr"},
{"id":"","label":"Hue","localized":"","hint":"","ui":"script_lut_color_grading"},
{"id":"","label":"HQ init latents","localized":"","hint":"","ui":"script_instantir"},
{"id":"","label":"Height after","localized":"","hint":"","ui":"control"},
@@ -758,6 +752,15 @@
],
"l":
[
{"id":"","label":"Latent brightness","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Latent center","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Latent clamp","localized":"","hint":"Adjusts the level of nonsensical details by pruning values that deviate significantly from the distribution mean. It is particularly useful for enhancing generation at higher guidance scales, identifying outliers early in the process and applying mathematical adjustments based on the Range (Boundary) and Threshold settings. Think of it as setting the range within which you want your image values to be, and adjusting the threshold determines which values should be brought back into that range","ui":"txt2img"},
{"id":"","label":"Latent color","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Latent max range","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Latent maximize","localized":"","hint":"Calculates a 'normalization factor' by dividing the maximum tensor value by the specified range multiplied by 4. This factor is then used to shift the channels within the given boundary, ensuring maximum dynamic range for subsequent processing. The objective is to optimize dynamic range for external applications like Photoshop, particularly for adjusting levels, contrast, and brightness","ui":"txt2img"},
{"id":"","label":"Latent range","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Latent sharpen","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Latent threshold","localized":"","hint":"","ui":"txt2img"},
{"id":"prompt_enhance_load","label":"Load model","localized":"","hint":"","ui":"script_prompt_enhance"},
{"id":"prompt_enhance_custom_load","label":"Load custom model","localized":"","hint":"Load a custom model with the specified configuration","ui":"script_prompt_enhance"},
{"id":"control_mask_remove","label":"LaMa Remove","localized":"","hint":"","ui":"control"},
@@ -871,7 +874,6 @@
{"id":"","label":"Max overlap","localized":"","hint":"Maximum overlap between two detected items before one is discarded","ui":"txt2img"},
{"id":"","label":"Min size","localized":"","hint":"Minimum size of detected object as percentage of overal image","ui":"txt2img"},
{"id":"","label":"Max size","localized":"","hint":"Maximum size of detected object as percentage of overal image","ui":"txt2img"},
{"id":"","label":"Max Range","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Momentum","localized":"","hint":"","ui":"script_apg"},
{"id":"","label":"Mode x-axis","localized":"","hint":"","ui":"script_asymmetric_tiling"},
{"id":"","label":"Mode y-axis","localized":"","hint":"","ui":"script_asymmetric_tiling"},
@@ -1196,7 +1198,6 @@
{"id":"","label":"Refine negative prompt","localized":"","hint":"Negative prompt used for both second encoder in base model (if it exists) and for refiner pass (if enabled)","ui":"txt2img"},
{"id":"","label":"Renoise","localized":"","hint":"Apply additional noise during detailing","ui":"txt2img"},
{"id":"","label":"Renoise end","localized":"","hint":"Final step when renoise is applied","ui":"txt2img"},
{"id":"","label":"Range","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Repeat x-axis","localized":"","hint":"","ui":"script_asymmetric_tiling"},
{"id":"","label":"Repeat y-axis","localized":"","hint":"","ui":"script_asymmetric_tiling"},
{"id":"","label":"ReSwapper Model","localized":"","hint":"","ui":"script_face"},
@@ -1307,7 +1308,6 @@
{"id":"","label":"SEG config","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Strength","localized":"","hint":"Denoising strength of during image operation controls how much of original image is allowed to change during generate","ui":"txt2img"},
{"id":"","label":"Sort detections","localized":"","hint":"Sort detected areas by from left to right instead of detection score","ui":"txt2img"},
{"id":"","label":"Sharpen","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Subject","localized":"","hint":"","ui":"script_consistory"},
{"id":"","label":"Same latent","localized":"","hint":"","ui":"script_consistory"},
{"id":"","label":"Share queries","localized":"","hint":"","ui":"script_consistory"},
@@ -1441,7 +1441,6 @@
{"id":"","label":"Timesteps override","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"thresholding","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Texture tiling","localized":"","hint":"Apply seamless tiling to generated image so it can be used as a texture","ui":"txt2img"},
{"id":"","label":"Threshold","localized":"","hint":"","ui":"txt2img"},
{"id":"","label":"Trigger word","localized":"","hint":"","ui":"script_face"},
{"id":"","label":"Temperature","localized":"","hint":"","ui":"script_flux_prompt_enhance_(legacy)"},
{"id":"","label":"Timestep","localized":"","hint":"","ui":"script_kohya_hires_fix"},
+7 -7
View File
@@ -172,15 +172,15 @@ def create_latent_inputs(tab):
hdr_sharpen = gr.Slider(minimum=-4.0, maximum=4.0, step=0.05, value=0, label="Latent sharpen", elem_id=f"{tab}_hdr_sharpen")
hdr_color = gr.Slider(minimum=0.0, maximum=16.0, step=0.1, value=0.0, label="Latent color", elem_id=f"{tab}_hdr_color")
with gr.Row(elem_id=f"{tab}_hdr_clamp_row"):
hdr_clamp = gr.Checkbox(label="Clamp", value=False, elem_id=f"{tab}_hdr_clamp")
hdr_boundary = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label="Range", elem_id=f"{tab}_hdr_boundary")
hdr_threshold = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=0.95, label="Threshold", elem_id=f"{tab}_hdr_threshold")
hdr_clamp = gr.Checkbox(label="Latent clamp", value=False, elem_id=f"{tab}_hdr_clamp")
hdr_boundary = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label="Latent range", elem_id=f"{tab}_hdr_boundary")
hdr_threshold = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=0.95, label="Latent threshold", elem_id=f"{tab}_hdr_threshold")
with gr.Row(elem_id=f"{tab}_hdr_max_row"):
hdr_maximize = gr.Checkbox(label="Maximize", value=False, elem_id=f"{tab}_hdr_maximize")
hdr_max_center = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=0.6, label="Center", elem_id=f"{tab}_hdr_max_center")
hdr_max_boundary = gr.Slider(minimum=0.5, maximum=2.0, step=0.1, value=1.0, label="Max range", elem_id=f"{tab}_hdr_max_boundary")
hdr_maximize = gr.Checkbox(label="Latent maximize", value=False, elem_id=f"{tab}_hdr_maximize")
hdr_max_center = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=0.6, label="Latent center", elem_id=f"{tab}_hdr_max_center")
hdr_max_boundary = gr.Slider(minimum=0.5, maximum=2.0, step=0.1, value=1.0, label="Latent max range", elem_id=f"{tab}_hdr_max_boundary")
with gr.Row(elem_id=f"{tab}_hdr_color_row"):
hdr_color_picker = gr.ColorPicker(label="Tint color", show_label=True, container=False, value=None, elem_id=f"{tab}_hdr_color_picker")
hdr_color_picker = gr.ColorPicker(label="Latent tint", show_label=True, container=False, value=None, elem_id=f"{tab}_hdr_color_picker")
hdr_tint_ratio = gr.Slider(label="Tint strength", minimum=-4.0, maximum=4.0, step=0.05, value=0.0, elem_id=f"{tab}_hdr_tint_ratio")
return hdr_mode, hdr_brightness, hdr_color, hdr_sharpen, hdr_clamp, hdr_boundary, hdr_threshold, hdr_maximize, hdr_max_center, hdr_max_boundary, hdr_color_picker, hdr_tint_ratio, hdr_apply_hires