implement #33
parent
0329658686
commit
558fb2e826
|
|
@ -1,3 +1,6 @@
|
||||||
|
### v2.3.1 - 2024 Nov.04
|
||||||
|
- Implement **Range** Settings
|
||||||
|
|
||||||
### v2.3.0 - 2024 Sep.20
|
### v2.3.0 - 2024 Sep.20
|
||||||
- Refactor
|
- Refactor
|
||||||
|
|
||||||
|
|
|
||||||
11
README.md
11
README.md
|
|
@ -138,7 +138,7 @@ Hires upscale: 2, Hires steps: 16, Hires upscaler: 2xNomosUni_esrgan_multijpg
|
||||||
<ul>
|
<ul>
|
||||||
<li><b>eg.</b>
|
<li><b>eg.</b>
|
||||||
The <a href="https://raw.githubusercontent.com/sandner-art/Photomatix/refs/heads/main/PX-Vectorscope-CC-Styles/styles.json">Photomatix</a>
|
The <a href="https://raw.githubusercontent.com/sandner-art/Photomatix/refs/heads/main/PX-Vectorscope-CC-Styles/styles.json">Photomatix</a>
|
||||||
Styles <i>(right click on the link, click <code>Save link as</code>, then save the <code>.json</code> file into the
|
Styles <i>(right click on the link, click <code>Save link as</code>, then save the <code>.json</code> file into the
|
||||||
<b>sd-webui-vectorscope-cc</b> extension folder)</i>
|
<b>sd-webui-vectorscope-cc</b> extension folder)</i>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
@ -228,6 +228,13 @@ Hires upscale: 1.5, Hires steps: 12, Hires upscaler: 2xNomosUni_esrgan_multijpg
|
||||||
- **Reset:** Reset all `Basic` and `Advanced` parameters to the default values
|
- **Reset:** Reset all `Basic` and `Advanced` parameters to the default values
|
||||||
- **Randomize:** Randomize the `Brightness`, `Contrast`, `Saturation`, `R`, `G`, `B` parameters
|
- **Randomize:** Randomize the `Brightness`, `Contrast`, `Saturation`, `R`, `G`, `B` parameters
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
> The following settings are in the **Vectorscope CC** section under the **Stable Diffusion** category of the **Settings** tab
|
||||||
|
|
||||||
|
- Append the parameters to the infotext
|
||||||
|
- Disable `do_not_save_to_config` to use the Webui **Defaults** functionality
|
||||||
|
- Set the `minimum` and `maximum` range for each parameter
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
- [X] Extension Released!
|
- [X] Extension Released!
|
||||||
- [X] Add Support for **X/Y/Z Plot**
|
- [X] Add Support for **X/Y/Z Plot**
|
||||||
|
|
@ -323,7 +330,7 @@ In the **Script** `Dropdown` at the bottom, there is now a new **`High Dynamic R
|
||||||
- This script will generate multiple images *("Brackets")* of varying brightness, then merge them into 1 HDR image
|
- This script will generate multiple images *("Brackets")* of varying brightness, then merge them into 1 HDR image
|
||||||
- **(Recommended)** Use a deterministic sampler and high enough steps. `Euler` *(**not** `Euler a`)* works well in my experience
|
- **(Recommended)** Use a deterministic sampler and high enough steps. `Euler` *(**not** `Euler a`)* works well in my experience
|
||||||
|
|
||||||
#### Settings
|
#### Options
|
||||||
- **Brackets:** The numer of images to generate
|
- **Brackets:** The numer of images to generate
|
||||||
- **Gaps:** The brightness difference between each image
|
- **Gaps:** The brightness difference between each image
|
||||||
- **Automatically Merge:** When enabled, this will merge the images using an `OpenCV` algorithm and save to the `HDR` folder in the `outputs` folder
|
- **Automatically Merge:** When enabled, this will merge the images using an `OpenCV` algorithm and save to the `HDR` folder in the `outputs` folder
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
from modules.shared import opts
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12,7 +13,37 @@ class Param:
|
||||||
return round(random.uniform(self.minimum, self.maximum), 2)
|
return round(random.uniform(self.minimum, self.maximum), 2)
|
||||||
|
|
||||||
|
|
||||||
Brightness = Param(-5.0, 5.0, 0.0)
|
Brightness: Param = None
|
||||||
Contrast = Param(-5.0, 5.0, 0.0)
|
Contrast: Param = None
|
||||||
Saturation = Param(0.25, 1.75, 1.0)
|
Saturation: Param = None
|
||||||
Color = Param(-4.0, 4.0, 0.0)
|
Color: Param = None
|
||||||
|
|
||||||
|
|
||||||
|
def init():
|
||||||
|
global Brightness
|
||||||
|
Brightness = Param(
|
||||||
|
getattr(opts, "cc_brightness_min", -5.0),
|
||||||
|
getattr(opts, "cc_brightness_max", 5.0),
|
||||||
|
0.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
global Contrast
|
||||||
|
Contrast = Param(
|
||||||
|
getattr(opts, "cc_contrast_min", -5.0),
|
||||||
|
getattr(opts, "cc_contrast_max", 5.0),
|
||||||
|
0.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
global Saturation
|
||||||
|
Saturation = Param(
|
||||||
|
getattr(opts, "cc_saturation_min", 0.25),
|
||||||
|
getattr(opts, "cc_saturation_max", 1.75),
|
||||||
|
1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
global Color
|
||||||
|
Color = Param(
|
||||||
|
getattr(opts, "cc_color_min", -4.0),
|
||||||
|
getattr(opts, "cc_color_max", 4.0),
|
||||||
|
0.0,
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
from modules.shared import OptionInfo, opts
|
from modules.shared import OptionInfo, opts
|
||||||
from modules import scripts
|
from modules import scripts
|
||||||
from json import load, dump
|
from json import load, dump
|
||||||
|
from gradio import Slider
|
||||||
import os
|
import os
|
||||||
|
|
||||||
section = ("cc", "Vectorscope CC")
|
section = ("cc", "Vectorscope CC")
|
||||||
|
|
@ -11,7 +12,7 @@ def settings():
|
||||||
"cc_metadata",
|
"cc_metadata",
|
||||||
OptionInfo(
|
OptionInfo(
|
||||||
True,
|
True,
|
||||||
"Append Vectorscope CC parameters to generation information",
|
"Append Vectorscope CC parameters to generation infotext",
|
||||||
section=section,
|
section=section,
|
||||||
category_id="sd",
|
category_id="sd",
|
||||||
),
|
),
|
||||||
|
|
@ -26,12 +27,42 @@ def settings():
|
||||||
category_id="sd",
|
category_id="sd",
|
||||||
onchange=reset_ui_config,
|
onchange=reset_ui_config,
|
||||||
)
|
)
|
||||||
.needs_reload_ui()
|
.info("uncheck this option if you wish to use the built-in Defaults function")
|
||||||
.info(
|
.info("enable again if the extension is not working correctly after an update")
|
||||||
"uncheck this option if you wish to use the built-in Defaults function) (enable this option again if the extension is not functioning correctly after an update"
|
.needs_reload_ui(),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
for lbl, minVal, maxVal in [
|
||||||
|
("Brightness", (-5.0, 0.0), (0.0, 5.0)),
|
||||||
|
("Contrast", (-5.0, 0.0), (0.0, 5.0)),
|
||||||
|
("Saturation", (0.25, 1.0), (1.0, 1.75)),
|
||||||
|
("Color", (-4.0, 0.0), (0.0, 4.0)),
|
||||||
|
]:
|
||||||
|
|
||||||
|
opts.add_option(
|
||||||
|
f"cc_{lbl.lower()}_min",
|
||||||
|
OptionInfo(
|
||||||
|
minVal[0],
|
||||||
|
f"{lbl} - Min",
|
||||||
|
Slider,
|
||||||
|
{"step": 0.05, "minimum": minVal[0], "maximum": minVal[1]},
|
||||||
|
section=section,
|
||||||
|
category_id="sd",
|
||||||
|
).needs_reload_ui(),
|
||||||
|
)
|
||||||
|
|
||||||
|
opts.add_option(
|
||||||
|
f"cc_{lbl.lower()}_max",
|
||||||
|
OptionInfo(
|
||||||
|
maxVal[1],
|
||||||
|
f"{lbl} - Max",
|
||||||
|
Slider,
|
||||||
|
{"step": 0.05, "minimum": maxVal[0], "maximum": maxVal[1]},
|
||||||
|
section=section,
|
||||||
|
category_id="sd",
|
||||||
|
).needs_reload_ui(),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def reset_ui_config():
|
def reset_ui_config():
|
||||||
extension = "cc.py"
|
extension = "cc.py"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
from modules.sd_samplers_kdiffusion import KDiffusionSampler
|
from modules.sd_samplers_kdiffusion import KDiffusionSampler
|
||||||
from modules import shared, scripts
|
from modules.shared import opts
|
||||||
|
from modules import scripts
|
||||||
|
|
||||||
from lib_cc.colorpicker import create_colorpicker
|
from lib_cc.colorpicker import create_colorpicker
|
||||||
from lib_cc.callback import hook_callbacks
|
from lib_cc.callback import hook_callbacks
|
||||||
|
|
@ -11,12 +12,13 @@ from random import seed
|
||||||
import gradio as gr
|
import gradio as gr
|
||||||
|
|
||||||
|
|
||||||
VERSION = "2.3.0"
|
VERSION = "2.3.1"
|
||||||
|
|
||||||
|
|
||||||
style_manager = StyleManager()
|
style_manager = StyleManager()
|
||||||
style_manager.load_styles()
|
style_manager.load_styles()
|
||||||
hook_callbacks()
|
hook_callbacks()
|
||||||
|
const.init()
|
||||||
|
|
||||||
|
|
||||||
class VectorscopeCC(scripts.Script):
|
class VectorscopeCC(scripts.Script):
|
||||||
|
|
@ -125,7 +127,7 @@ class VectorscopeCC(scripts.Script):
|
||||||
)
|
)
|
||||||
delete_btn = gr.Button(value="Delete Style", scale=2)
|
delete_btn = gr.Button(value="Delete Style", scale=2)
|
||||||
|
|
||||||
if getattr(shared.opts, "cc_no_defaults", True):
|
if getattr(opts, "cc_no_defaults", True):
|
||||||
style_choice.do_not_save_to_config = True
|
style_choice.do_not_save_to_config = True
|
||||||
|
|
||||||
[
|
[
|
||||||
|
|
@ -280,7 +282,7 @@ class VectorscopeCC(scripts.Script):
|
||||||
]
|
]
|
||||||
|
|
||||||
for comp, name in self.infotext_fields:
|
for comp, name in self.infotext_fields:
|
||||||
if getattr(shared.opts, "cc_no_defaults", True):
|
if getattr(opts, "cc_no_defaults", True):
|
||||||
comp.do_not_save_to_config = True
|
comp.do_not_save_to_config = True
|
||||||
self.paste_field_names.append(name)
|
self.paste_field_names.append(name)
|
||||||
|
|
||||||
|
|
@ -366,7 +368,7 @@ class VectorscopeCC(scripts.Script):
|
||||||
print(f"> G: {g}")
|
print(f"> G: {g}")
|
||||||
print(f"> B: {b}\n")
|
print(f"> B: {b}\n")
|
||||||
|
|
||||||
if getattr(shared.opts, "cc_metadata", True):
|
if getattr(opts, "cc_metadata", True):
|
||||||
p.extra_generation_params.update(
|
p.extra_generation_params.update(
|
||||||
{
|
{
|
||||||
"Vec CC Enabled": enable,
|
"Vec CC Enabled": enable,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue