Auto-Photoshop-StableDiffus.../server/python_server/global_state.py

155 lines
4.3 KiB
Python

#code copied from controlnet repo global_state.py
preprocessor_filters = {
"All": "none",
"Canny": "canny",
"Depth": "depth_midas",
"Normal": "normal_bae",
"OpenPose": "openpose_full",
"MLSD": "mlsd",
"Lineart": "lineart_standard (from white bg & black line)",
"SoftEdge": "softedge_pidinet",
"Scribble": "scribble_pidinet",
"Seg": "seg_ofade20k",
"Shuffle": "shuffle",
"Tile": "tile_resample",
"Inpaint": "inpaint_only",
"IP2P": "none",
"Reference": "reference_only",
"T2IA": "none",
}
cn_preprocessor_modules = ["none",
"canny",
"depth",
"depth_leres",
"depth_leres++",
"hed",
"hed_safe",
"mediapipe_face",
"mlsd",
"normal_map",
"openpose",
"openpose_hand",
"openpose_face",
"openpose_faceonly",
"openpose_full",
"clip_vision",
"color",
"pidinet",
"pidinet_safe",
"pidinet_sketch",
"pidinet_scribble",
"scribble_xdog",
"scribble_hed",
"segmentation",
"threshold",
"depth_zoe",
"normal_bae",
"oneformer_coco",
"oneformer_ade20k",
"lineart",
"lineart_coarse",
"lineart_anime",
"lineart_standard",
"shuffle",
"tile_resample",
"invert",
"lineart_anime_denoise",
"reference_only",
"reference_adain",
"reference_adain+attn",
"inpaint",
"inpaint_only",
"inpaint_only+lama",
"tile_colorfix",
"tile_colorfix+sharp",
]
preprocessor_aliases = {
"invert": "invert (from white bg & black line)",
"lineart_standard": "lineart_standard (from white bg & black line)",
"lineart": "lineart_realistic",
"color": "t2ia_color_grid",
"clip_vision": "t2ia_style_clipvision",
"pidinet_sketch": "t2ia_sketch_pidi",
"depth": "depth_midas",
"normal_map": "normal_midas",
"hed": "softedge_hed",
"hed_safe": "softedge_hedsafe",
"pidinet": "softedge_pidinet",
"pidinet_safe": "softedge_pidisafe",
"segmentation": "seg_ufade20k",
"oneformer_coco": "seg_ofcoco",
"oneformer_ade20k": "seg_ofade20k",
"pidinet_scribble": "scribble_pidinet",
"inpaint": "inpaint_global_harmonious",
}
def filter_selected_helper(k,preprocessor_list,model_list):
if 'None' not in model_list:
model_list = ['None'] + model_list
ui_preprocessor_keys = ['none', preprocessor_aliases['invert']]
ui_preprocessor_keys += sorted([preprocessor_aliases.get(k, k)
for k in preprocessor_list
if preprocessor_aliases.get(k, k) not in ui_preprocessor_keys])
preprocessor_list = ui_preprocessor_keys
# print("preprocessor_list sorted: ",preprocessor_list)
model_list = list(model_list)
# print("list(model_list): ",model_list)
# print("k:",k,k.lower())
default_option = preprocessor_filters[k]
pattern = k.lower()
# model_list = list(cn_models.keys())
if pattern == "all":
return [
preprocessor_list,
model_list,
'none', #default option
"None" #default model
]
filtered_preprocessor_list = [
x
for x in preprocessor_list
if pattern in x.lower() or x.lower() == "none"
]
if pattern in ["canny", "lineart", "scribble", "mlsd"]:
filtered_preprocessor_list += [
x for x in preprocessor_list if "invert" in x.lower()
]
##Debug start
# for model in model_list:
# print("model: ",model)
# if pattern in model.lower():
# print('add to filtered')
# print("pattern:",pattern, "in model.lower():",model.lower())
# else:
# print("pattern:",pattern, "not in model.lower():",model.lower())
##Debug end
filtered_model_list = [
x for x in model_list if pattern in x.lower() or x.lower() == "none"
]
if default_option not in filtered_preprocessor_list:
default_option = filtered_preprocessor_list[0]
if len(filtered_model_list) == 1:
default_model = "None"
filtered_model_list = model_list
else:
default_model = filtered_model_list[1]
for x in filtered_model_list:
if "11" in x.split("[")[0]:
default_model = x
break
return [filtered_preprocessor_list,filtered_model_list, default_option,default_model]