Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
S
stable-diffusion-webui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
stable-diffusion-webui
Commits
9ef41df6
Commit
9ef41df6
authored
Jan 14, 2023
by
Josh R
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add inpaint masking controls to orderable section that the settings can order
parent
ce9827a7
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
29 deletions
+30
-29
shared.py
modules/shared.py
+1
-0
ui.py
modules/ui.py
+29
-29
No files found.
modules/shared.py
View file @
9ef41df6
...
...
@@ -116,6 +116,7 @@ restricted_opts = {
}
ui_reorder_categories
=
[
"masking"
,
"sampler"
,
"dimensions"
,
"cfg"
,
...
...
modules/ui.py
View file @
9ef41df6
...
...
@@ -867,35 +867,6 @@ def create_ui():
outputs
=
[],
)
with
FormGroup
(
elem_id
=
"inpaint_controls"
,
visible
=
False
)
as
inpaint_controls
:
with
FormRow
():
mask_blur
=
gr
.
Slider
(
label
=
'Mask blur'
,
minimum
=
0
,
maximum
=
64
,
step
=
1
,
value
=
4
,
elem_id
=
"img2img_mask_blur"
)
mask_alpha
=
gr
.
Slider
(
label
=
"Mask transparency"
,
visible
=
False
,
elem_id
=
"img2img_mask_alpha"
)
with
FormRow
():
inpainting_mask_invert
=
gr
.
Radio
(
label
=
'Mask mode'
,
choices
=
[
'Inpaint masked'
,
'Inpaint not masked'
],
value
=
'Inpaint masked'
,
type
=
"index"
,
elem_id
=
"img2img_mask_mode"
)
with
FormRow
():
inpainting_fill
=
gr
.
Radio
(
label
=
'Masked content'
,
choices
=
[
'fill'
,
'original'
,
'latent noise'
,
'latent nothing'
],
value
=
'original'
,
type
=
"index"
,
elem_id
=
"img2img_inpainting_fill"
)
with
FormRow
():
with
gr
.
Column
():
inpaint_full_res
=
gr
.
Radio
(
label
=
"Inpaint area"
,
choices
=
[
"Whole picture"
,
"Only masked"
],
type
=
"index"
,
value
=
"Whole picture"
,
elem_id
=
"img2img_inpaint_full_res"
)
with
gr
.
Column
(
scale
=
4
):
inpaint_full_res_padding
=
gr
.
Slider
(
label
=
'Only masked padding, pixels'
,
minimum
=
0
,
maximum
=
256
,
step
=
4
,
value
=
32
,
elem_id
=
"img2img_inpaint_full_res_padding"
)
def
select_img2img_tab
(
tab
):
return
gr
.
update
(
visible
=
tab
in
[
2
,
3
,
4
]),
gr
.
update
(
visible
=
tab
==
3
),
for
i
,
elem
in
enumerate
([
tab_img2img
,
tab_sketch
,
tab_inpaint
,
tab_inpaint_color
,
tab_inpaint_upload
,
tab_batch
]):
elem
.
select
(
fn
=
lambda
tab
=
i
:
select_img2img_tab
(
tab
),
inputs
=
[],
outputs
=
[
inpaint_controls
,
mask_alpha
],
)
with
FormRow
():
resize_mode
=
gr
.
Radio
(
label
=
"Resize mode"
,
elem_id
=
"resize_mode"
,
choices
=
[
"Just resize"
,
"Crop and resize"
,
"Resize and fill"
,
"Just resize (latent upscale)"
],
type
=
"index"
,
value
=
"Just resize"
)
...
...
@@ -937,6 +908,35 @@ def create_ui():
with
FormGroup
(
elem_id
=
"img2img_script_container"
):
custom_inputs
=
modules
.
scripts
.
scripts_img2img
.
setup_ui
()
elif
category
==
"masking"
:
with
FormGroup
(
elem_id
=
"inpaint_controls"
,
visible
=
False
)
as
inpaint_controls
:
with
FormRow
():
mask_blur
=
gr
.
Slider
(
label
=
'Mask blur'
,
minimum
=
0
,
maximum
=
64
,
step
=
1
,
value
=
4
,
elem_id
=
"img2img_mask_blur"
)
mask_alpha
=
gr
.
Slider
(
label
=
"Mask transparency"
,
visible
=
False
,
elem_id
=
"img2img_mask_alpha"
)
with
FormRow
():
inpainting_mask_invert
=
gr
.
Radio
(
label
=
'Mask mode'
,
choices
=
[
'Inpaint masked'
,
'Inpaint not masked'
],
value
=
'Inpaint masked'
,
type
=
"index"
,
elem_id
=
"img2img_mask_mode"
)
with
FormRow
():
inpainting_fill
=
gr
.
Radio
(
label
=
'Masked content'
,
choices
=
[
'fill'
,
'original'
,
'latent noise'
,
'latent nothing'
],
value
=
'original'
,
type
=
"index"
,
elem_id
=
"img2img_inpainting_fill"
)
with
FormRow
():
with
gr
.
Column
():
inpaint_full_res
=
gr
.
Radio
(
label
=
"Inpaint area"
,
choices
=
[
"Whole picture"
,
"Only masked"
],
type
=
"index"
,
value
=
"Whole picture"
,
elem_id
=
"img2img_inpaint_full_res"
)
with
gr
.
Column
(
scale
=
4
):
inpaint_full_res_padding
=
gr
.
Slider
(
label
=
'Only masked padding, pixels'
,
minimum
=
0
,
maximum
=
256
,
step
=
4
,
value
=
32
,
elem_id
=
"img2img_inpaint_full_res_padding"
)
def
select_img2img_tab
(
tab
):
return
gr
.
update
(
visible
=
tab
in
[
2
,
3
,
4
]),
gr
.
update
(
visible
=
tab
==
3
),
for
i
,
elem
in
enumerate
([
tab_img2img
,
tab_sketch
,
tab_inpaint
,
tab_inpaint_color
,
tab_inpaint_upload
,
tab_batch
]):
elem
.
select
(
fn
=
lambda
tab
=
i
:
select_img2img_tab
(
tab
),
inputs
=
[],
outputs
=
[
inpaint_controls
,
mask_alpha
],
)
img2img_gallery
,
generation_info
,
html_info
,
html_log
=
create_output_panel
(
"img2img"
,
opts
.
outdir_img2img_samples
)
parameters_copypaste
.
bind_buttons
({
"img2img"
:
img2img_paste
},
None
,
img2img_prompt
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment