parent
c76f34ffec
commit
ab0553ccf4
|
|
@ -1,3 +1,6 @@
|
|||
### v2.0.1 - 2024 Mar.07
|
||||
- Support **ADetailer**
|
||||
|
||||
### v2.0.0 - 2024 Mar.05
|
||||
- Improved Logics
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ Refer to the parameters and sample images below and play around with the values.
|
|||
#### Advanced Settings
|
||||
- **Process Hires. fix:** By default, this Extension only functions during the **txt2img** phase, so that **Hires. fix** may "fix" the artifacts introduced during **txt2img**. Enable this to process **Hires. fix** phase too.
|
||||
- This option does not affect **img2img**
|
||||
- **Process ADetailer:** Enable to process **[ADetailer](https://github.com/Bing-su/adetailer)** phase too.
|
||||
- Will usually cause a square of inconsistent colors
|
||||
|
||||
#### Noise Settings
|
||||
> let `x` denote the Tensor ; let `y` denote the operations
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import gradio as gr
|
|||
import random
|
||||
|
||||
|
||||
VERSION = 'v2.0.0'
|
||||
VERSION = 'v2.0.1'
|
||||
|
||||
|
||||
style_manager = StyleManager()
|
||||
|
|
@ -73,7 +73,9 @@ class VectorscopeCC(scripts.Script):
|
|||
refresh_btn.click(fn=lambda _: gr.update(choices=style_manager.list_style()), outputs=style_choice)
|
||||
|
||||
with gr.Accordion("Advanced Settings", open=False):
|
||||
with gr.Row():
|
||||
doHR = gr.Checkbox(label="Process Hires. fix")
|
||||
doAD = gr.Checkbox(label="Process Adetailer")
|
||||
method = gr.Radio(["Straight", "Straight Abs.", "Cross", "Cross Abs.", "Ones", "N.Random", "U.Random", "Multi-Res", "Multi-Res Abs."], label="Noise Settings", value="Straight Abs.")
|
||||
scaling = gr.Radio(["Flat", "Cos", "Sin", "1 - Cos", "1 - Sin"], label="Scaling Settings", value="Flat")
|
||||
|
||||
|
|
@ -91,6 +93,7 @@ class VectorscopeCC(scripts.Script):
|
|||
gr.update(value=const.COLOR.default),
|
||||
gr.update(value=const.COLOR.default),
|
||||
gr.update(value=False),
|
||||
gr.update(value=False),
|
||||
gr.update(value='Straight Abs.'),
|
||||
gr.update(value='Flat')
|
||||
]
|
||||
|
|
@ -105,7 +108,7 @@ class VectorscopeCC(scripts.Script):
|
|||
gr.update(value=round(random.uniform(const.COLOR.minimum, const.COLOR.maximum), 2))
|
||||
]
|
||||
|
||||
reset_btn.click(fn=on_reset, inputs=[], outputs=[latent, bri, con, sat, r, g, b, doHR, method, scaling]).then(None, [r, g, b], None, _js=f'(r, g, b) => {{ VectorscopeCC.updateCursor(r, g, b, {m}); }}')
|
||||
reset_btn.click(fn=on_reset, inputs=[], outputs=[latent, bri, con, sat, r, g, b, doHR, doAD, method, scaling]).then(None, [r, g, b], None, _js=f'(r, g, b) => {{ VectorscopeCC.updateCursor(r, g, b, {m}); }}')
|
||||
random_btn.click(fn=on_random, inputs=[], outputs=[bri, con, sat, r, g, b]).then(None, [r, g, b], None, _js=f'(r, g, b) => {{ VectorscopeCC.updateCursor(r, g, b, {m}); }}')
|
||||
|
||||
self.paste_field_names = []
|
||||
|
|
@ -120,6 +123,7 @@ class VectorscopeCC(scripts.Script):
|
|||
(b, "Vec CC B"),
|
||||
(method, "Vec CC Noise"),
|
||||
(doHR, "Vec CC Proc HrF"),
|
||||
(doAD, "Vec CC Proc Ade"),
|
||||
(scaling, "Vec CC Scaling"),
|
||||
]
|
||||
|
||||
|
|
@ -127,9 +131,9 @@ class VectorscopeCC(scripts.Script):
|
|||
comp.do_not_save_to_config = True
|
||||
self.paste_field_names.append(name)
|
||||
|
||||
return [enable, latent, bri, con, sat, r, g, b, doHR, method, scaling]
|
||||
return [enable, latent, bri, con, sat, r, g, b, doHR, doAD, method, scaling]
|
||||
|
||||
def process(self, p, enable:bool, latent:bool, bri:float, con:float, sat:float, r:float, g:float, b:float, doHR:bool, method:str, scaling:str):
|
||||
def process(self, p, enable:bool, latent:bool, bri:float, con:float, sat:float, r:float, g:float, b:float, doHR:bool, doAD:bool, method:str, scaling:str):
|
||||
if 'Enable' in self.xyzCache.keys():
|
||||
enable = (self.xyzCache['Enable'].lower().strip() == "true")
|
||||
|
||||
|
|
@ -218,6 +222,7 @@ class VectorscopeCC(scripts.Script):
|
|||
p.extra_generation_params['Vec CC B'] = b
|
||||
p.extra_generation_params['Vec CC Noise'] = method
|
||||
p.extra_generation_params['Vec CC Proc HrF'] = doHR
|
||||
p.extra_generation_params['Vec CC Proc Ade'] = doAD
|
||||
p.extra_generation_params['Vec CC Scaling'] = scaling
|
||||
p.extra_generation_params['Vec CC Version'] = VERSION
|
||||
|
||||
|
|
@ -241,6 +246,7 @@ class VectorscopeCC(scripts.Script):
|
|||
'b': b,
|
||||
'method': method,
|
||||
'doHR': doHR,
|
||||
'doAD': doAD,
|
||||
'scaling': scaling,
|
||||
'step': steps
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,6 +80,9 @@ def cc_callback(self, d):
|
|||
if getattr(self.p, "is_hr_pass", False) and not self.vec_cc["doHR"]:
|
||||
return original_callback(self, d)
|
||||
|
||||
if getattr(self.p, "_ad_inner", False) and not self.vec_cc["doAD"]:
|
||||
return original_callback(self, d)
|
||||
|
||||
is_xl: bool = self.p.sd_model.is_sdxl
|
||||
|
||||
mode = str(self.vec_cc["mode"])
|
||||
|
|
|
|||
Loading…
Reference in New Issue