diff --git a/app.py b/app.py index 38ce1ad453087e3f77a6559822f3ce7b3073e654..7c91cc6d5a08cc92d18827475c667d1438424907 100644 --- a/app.py +++ b/app.py @@ -38,6 +38,7 @@ from utils.misc import (get_filename, pause, convert_ratio_to_dimensions) #insta from utils.image_utils import ( change_color, open_image, + build_prerendered_images_by_quality, upscale_image, lerp_imagemath, shrink_and_paste_on_blank, @@ -48,7 +49,8 @@ from utils.image_utils import ( crop_and_resize_image, convert_to_rgba_png, resize_image_with_aspect_ratio, - build_prerendered_images_by_quality + build_prerendered_images_by_quality, + get_image_from_dict ) from utils.hex_grid import ( @@ -83,14 +85,13 @@ PIPELINE_CLASSES = { "FluxControlPipeline": FluxControlPipeline } -import spaces - from utils.version_info import ( versions_html, #initialize_cuda, #release_torch_resources, #get_torch_info ) +import spaces input_image_palette = [] current_prerendered_image = gr.State("./images/images/Beeuty-1.png") @@ -304,7 +305,7 @@ class Condition(object): # def generate_image(pipe, generate_params, progress=gr.Progress(track_tqdm=True)): # return pipe(**generate_params) -#@spaces.GPU(duration=140, progress=gr.Progress(track_tqdm=True)) +@spaces.GPU(duration=140, progress=gr.Progress(track_tqdm=True)) def generate_image_lowmem( text, neg_prompt=None, @@ -603,7 +604,7 @@ def generate_ai_image_local ( #gc.collect() return None -#@spaces.GPU(duration=140,progress=gr.Progress(track_tqdm=True)) +@spaces.GPU(duration=140,progress=gr.Progress(track_tqdm=True)) def generate_input_image_click(map_option, prompt_textbox_value, negative_prompt_textbox_value, model_textbox_value, randomize_seed=True, seed=None, use_conditioned_image=False, strength=0.5, image_format="16:9", scale_factor=(8/3), progress=gr.Progress(track_tqdm=True)): if randomize_seed: seed = random.randint(0, constants.MAX_SEED) @@ -789,6 +790,7 @@ def create_3d_obj(rgb_image, raw_depth, image_path, depth=10, z_scale=200): o3d.io.write_triangle_mesh(gltf_path, mesh_crop, write_triangle_uvs=True) return gltf_path +@spaces.GPU() def depth_process_image(image_path, resized_width=800, z_scale=208): """ Processes the input image to generate a depth map and a 3D mesh reconstruction. @@ -863,7 +865,7 @@ def generate_depth_button_click(depth_image_source, resize_width, z_scale, input return generate_depth_and_3d(image_path, resize_width, z_scale) - +@spaces.GPU() def getVersions(): return versions_html() @@ -1034,7 +1036,7 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty') with gr.Row(): with gr.Column(): map_options = gr.Dropdown( - label="Map Options", + label="Map Options*", choices=list(constants.PROMPTS.keys()), value="Alien Landscape", elem_classes="solid", @@ -1051,9 +1053,9 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty') maximum=constants.MAX_SEED, step=1, value=0, - scale=0 + scale=0, randomize=True, elem_id="rnd_seed" ) - randomize_seed = gr.Checkbox(label="Randomize seed", value=True, scale=0, interactive=True) + randomize_seed = gr.Checkbox(label="Randomize seed", value=False, scale=0, interactive=True) prompt_textbox = gr.Textbox( label="Prompt", visible=False, @@ -1084,20 +1086,20 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty') "Generate AI Image", elem_id="generate_input_image", elem_classes="solid" - ) + ) with gr.Column(scale=2): with gr.Accordion("Template Image Styles", open = False): with gr.Row(): with gr.Column(scale=2): # Gallery from PRE_RENDERED_IMAGES GOES HERE - prerendered_image_gallery = gr.Gallery(label="Image Gallery", show_label=True, value=build_prerendered_images_by_quality(1), elem_id="gallery", elem_classes="solid", type="filepath", columns=[3], rows=[3], preview=False ,object_fit="contain", height="auto", format="png",allow_preview=False) + prerendered_image_gallery = gr.Gallery(label="Image Gallery", show_label=True, value=build_prerendered_images_by_quality(3,'thumbnail'), elem_id="gallery", elem_classes="solid", type="filepath", columns=[3], rows=[3], preview=False ,object_fit="contain", height="auto", format="png",allow_preview=False) with gr.Column(): - image_guidance_stength = gr.Slider(label="Image Guidance Strength (prompt percentage)", minimum=0, maximum=1.0, value=0.8, step=0.01, interactive=True) + image_guidance_stength = gr.Slider(label="Image Guidance Strength (prompt percentage)", minimum=0, maximum=1.0, value=0.85, step=0.01, interactive=True) replace_input_image_button = gr.Button( "Replace Input Image", elem_id="prerendered_replace_input_image_button", elem_classes="solid" - ) + ) generate_input_image_from_gallery = gr.Button( "Generate AI Image from Gallery", elem_id="generate_input_image_from_gallery", @@ -1295,10 +1297,8 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty') scroll_to_output=True ) - hexaGrid.queue(default_concurrency_limit=1,max_size=12,api_open=False) - hexaGrid.launch(allowed_paths=["assets","/","./assets","images","./images", "./images/prerendered"], favicon_path="./assets/favicon.ico", max_file_size="10mb") - if __name__ == "__main__": + constants.load_env_vars(constants.dotenv_path) logging.basicConfig( format="[%(levelname)s] %(asctime)s %(message)s", level=logging.INFO ) @@ -1313,4 +1313,6 @@ if __name__ == "__main__": # setup_runtime_env() #main(os.getenv("DEBUG") == "1") #main() + hexaGrid.queue(default_concurrency_limit=1,max_size=12,api_open=False) + hexaGrid.launch(allowed_paths=["assets","/","./assets","images","./images", "./images/prerendered"], favicon_path="./assets/favicon.ico", max_file_size="10mb") diff --git a/images/prerendered/th/BurntCity.png b/images/prerendered/th/BurntCity.png new file mode 100644 index 0000000000000000000000000000000000000000..ab52c03c8b8fc08c81ac55558859ce6add031793 --- /dev/null +++ b/images/prerendered/th/BurntCity.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15250640d3b7fa1906329a55d36666b1be7a317ece2aa82971d0cb1f7524036e +size 123860 diff --git a/images/prerendered/th/CONQ_Caustic_Valley.png b/images/prerendered/th/CONQ_Caustic_Valley.png new file mode 100644 index 0000000000000000000000000000000000000000..91a770331a50a61fbb12b089d40c74b6ea69df9e --- /dev/null +++ b/images/prerendered/th/CONQ_Caustic_Valley.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff0d9973bb78e1c3f6cb861d62685523d6689226546df9fbcf154b5a8ba80a38 +size 150851 diff --git a/images/prerendered/th/CONQ_Frozen_City.png b/images/prerendered/th/CONQ_Frozen_City.png new file mode 100644 index 0000000000000000000000000000000000000000..81d97cedc8c990427f7bdc5614143289393252c2 --- /dev/null +++ b/images/prerendered/th/CONQ_Frozen_City.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7be3b98d5ff7fbff7a62684956d07269544f9d42ed494b222eac3ead74acc838 +size 153239 diff --git a/images/prerendered/th/CONQ_Hellebore_Springs.png b/images/prerendered/th/CONQ_Hellebore_Springs.png new file mode 100644 index 0000000000000000000000000000000000000000..4e78ad28a2cf031c01961632fec29f1cc26edc0b --- /dev/null +++ b/images/prerendered/th/CONQ_Hellebore_Springs.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad4db361c05bb4740a332289b0b4004a696c2e80e7cc3718141137d5a6a02c9 +size 121594 diff --git a/images/prerendered/th/CONQ_Terra_Therma.png b/images/prerendered/th/CONQ_Terra_Therma.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b24f14fb29b4df6c6565b8d4a0aa504daa3be6 --- /dev/null +++ b/images/prerendered/th/CONQ_Terra_Therma.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4f4bcaf20c7e0c849aea2059f9866efdbbe41ef93cfba32ce31ab0b56ce8503 +size 166690 diff --git a/images/prerendered/th/CONQ_Viridian_Bog.png b/images/prerendered/th/CONQ_Viridian_Bog.png new file mode 100644 index 0000000000000000000000000000000000000000..0c52234754150a030c344c03b59d99763fd83661 --- /dev/null +++ b/images/prerendered/th/CONQ_Viridian_Bog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:607be3f687a1af1e287aae59ea175ebfaef2879d7269c8274aefd5a8038a05c1 +size 123024 diff --git a/images/prerendered/th/Firefly_alien_canyons_1.png b/images/prerendered/th/Firefly_alien_canyons_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4351197e6db0e9287db7d0440a6b0c3960339880 --- /dev/null +++ b/images/prerendered/th/Firefly_alien_canyons_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c94dc7666ccec1c1f4a22d8fcb782c65ecbf35e515d382fbcc8e8d029c5f20a2 +size 96639 diff --git a/images/prerendered/th/Firefly_alien_canyons_2.png b/images/prerendered/th/Firefly_alien_canyons_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b8007ce56614bfa53687538e017dfb73a7a9354e --- /dev/null +++ b/images/prerendered/th/Firefly_alien_canyons_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4da35c3f89481118f1b443d088f3244ebfc0d5cb471970363a8552f43e0a848 +size 112363 diff --git a/images/prerendered/th/Firefly_alien_dry_canyons_1.png b/images/prerendered/th/Firefly_alien_dry_canyons_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d48a36684bf98e4e87ab2509dbc11ae1d7ba36c0 --- /dev/null +++ b/images/prerendered/th/Firefly_alien_dry_canyons_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6f8475316a7e7123ebf77dab2b2fe15828b16bf7e36abc8bc35780ac3f0c9b8 +size 106796 diff --git a/images/prerendered/th/Firefly_alien_dry_canyons_2.png b/images/prerendered/th/Firefly_alien_dry_canyons_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9017eace383597999fbe910c2815585f06486bdf --- /dev/null +++ b/images/prerendered/th/Firefly_alien_dry_canyons_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797a17c5742603c4f39bad730b8b72952a8a86df06640f86b71679280b25972c +size 105722 diff --git a/images/prerendered/th/Firefly_alien_map_1.png b/images/prerendered/th/Firefly_alien_map_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb0c8b478f84356d9555eb9d36104ff579ebe5c --- /dev/null +++ b/images/prerendered/th/Firefly_alien_map_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caa33cbd52ed4a09e77db9179747896ef2736043e389a7fc7496c44a4c9b83e7 +size 107363 diff --git a/images/prerendered/th/Firefly_hpg_terrain_1.png b/images/prerendered/th/Firefly_hpg_terrain_1.png new file mode 100644 index 0000000000000000000000000000000000000000..97da8558fad7c9c937de7fe3bba508418fb124d7 --- /dev/null +++ b/images/prerendered/th/Firefly_hpg_terrain_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e41cff8c35071e778908717a832dfe3cd90448fd1808cb9b38a7ef643bf7468b +size 154732 diff --git a/images/prerendered/th/Firefly_hpg_terrain_2.png b/images/prerendered/th/Firefly_hpg_terrain_2.png new file mode 100644 index 0000000000000000000000000000000000000000..33525c9dfaea961ee7c303e8b54924be0e5737e4 --- /dev/null +++ b/images/prerendered/th/Firefly_hpg_terrain_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fa43efd23a7832bda93f27513067aa135604731e302c426a17314c2ff9b5274 +size 192481 diff --git a/images/prerendered/th/Firefly_river_dry_1.png b/images/prerendered/th/Firefly_river_dry_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff48a91d64214cd3688cde3f6a26699776bcc1a --- /dev/null +++ b/images/prerendered/th/Firefly_river_dry_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f21c7ae2606ace8282c92d605be6236f848b5412306acbe9705951eec43eb8a3 +size 108643 diff --git a/images/prerendered/th/Firefly_river_running_1.png b/images/prerendered/th/Firefly_river_running_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ba52ae4a4f33ed7f5371d426530334417961e2 --- /dev/null +++ b/images/prerendered/th/Firefly_river_running_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fc88b624d8e4e64db681a451a2c1a58cfa897fa2ace5eefd0d1e4696b5a219f +size 111475 diff --git a/images/prerendered/th/Firefly_topographical_alien_desert_1.png b/images/prerendered/th/Firefly_topographical_alien_desert_1.png new file mode 100644 index 0000000000000000000000000000000000000000..88cb39f5ab2c2d15d71780a2fe93c65090c44b4c --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_alien_desert_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b48f02ec205293756abab3965614f81187e68b4da2ee4c2a7b3a297551b9d58d +size 110209 diff --git a/images/prerendered/th/Firefly_topographical_canyon_1.png b/images/prerendered/th/Firefly_topographical_canyon_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a6b86bee2a7fce6661252c60b7c60265277e1d --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_canyon_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db29ea5f8b2baf7e7f8ff45cccd89b7ccbe910f00aa1f3bb042249af6e2fd550 +size 108723 diff --git a/images/prerendered/th/Firefly_topographical_height_map_1.png b/images/prerendered/th/Firefly_topographical_height_map_1.png new file mode 100644 index 0000000000000000000000000000000000000000..656104b9578b9986fee11e0e37d6c98255a78e9c --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_height_map_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4d2c1cfc081ad5716cb7784fd725da2914fa2ee9becde41ee30f34fa7cb5608 +size 88960 diff --git a/images/prerendered/th/Firefly_topographical_height_map_2.png b/images/prerendered/th/Firefly_topographical_height_map_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0101df090ae93564105cec0394a89780a43d0b6 --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_height_map_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aff130572436a77be5acba5dbc5806bcb3d3c9584bd6e9b7708ddf61b1706c60 +size 92185 diff --git a/images/prerendered/th/Firefly_topographical_height_map_3.png b/images/prerendered/th/Firefly_topographical_height_map_3.png new file mode 100644 index 0000000000000000000000000000000000000000..616548db167ac6fb41c0bd4baed57af667db0ecd --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_height_map_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc43d5069b2d192054410d0efba2189218be8b2745165627e86b55a454f0efd7 +size 90084 diff --git a/images/prerendered/th/Firefly_topographical_height_map_5.png b/images/prerendered/th/Firefly_topographical_height_map_5.png new file mode 100644 index 0000000000000000000000000000000000000000..86bf457470d32e5026504db3055bcb7df42abdf1 --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_height_map_5.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aee403bc7748ee32e29e0abf106fb3b52078be6cf9416e04a5f28cc38387d97d +size 105756 diff --git a/images/prerendered/th/Firefly_topographical_height_map_6.png b/images/prerendered/th/Firefly_topographical_height_map_6.png new file mode 100644 index 0000000000000000000000000000000000000000..22be963d329bfb0124d62785aca5f925618658b5 --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_height_map_6.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:949925ef7c688b05d25dd64559561755141a26cbf16cc2b8ae8c853c96c70e5d +size 109647 diff --git a/images/prerendered/th/Firefly_topographical_marble_1.png b/images/prerendered/th/Firefly_topographical_marble_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2171eccde7cd4e5dd67284b3be15961ddac54f95 --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_marble_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88700c8ab316677c3d4201cadd05b80b425ab4ad8ee47364b8e04769fb54475e +size 122931 diff --git a/images/prerendered/th/Firefly_topographical_moon_1.png b/images/prerendered/th/Firefly_topographical_moon_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dead6e1eb97febb2e1d49cb94fd33db52199f260 --- /dev/null +++ b/images/prerendered/th/Firefly_topographical_moon_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4709bd8290066c19ff0de550b752470667adc918431bfe1d4ee3f02f9b49c9a1 +size 108084 diff --git a/images/prerendered/th/Genison.png b/images/prerendered/th/Genison.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7e1cff595c511cf0a6912120dc774d23eee6e9 --- /dev/null +++ b/images/prerendered/th/Genison.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a28bb5a6c27dd518ddfa8277d40b2c8897627c29f270123ed23cf1a2d46c427 +size 145189 diff --git a/images/prerendered/th/Hex_gen_map.PNG b/images/prerendered/th/Hex_gen_map.PNG new file mode 100644 index 0000000000000000000000000000000000000000..ac79c95d0adca6eba3437fbad948495be91081e9 --- /dev/null +++ b/images/prerendered/th/Hex_gen_map.PNG @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a03ada9951e5df9b7a8e3876d7ae080f1555624991f6b24eca575beb0e9eeecd +size 132725 diff --git a/images/prerendered/th/alien_orb_land_1.png b/images/prerendered/th/alien_orb_land_1.png new file mode 100644 index 0000000000000000000000000000000000000000..534efdff0be6b8c5e052fc6d50ba268c53f5a31f --- /dev/null +++ b/images/prerendered/th/alien_orb_land_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11275d5ad7b1161d282a68d526e2ee17e92db654365316d74bb4faf753b4a0ce +size 193970 diff --git a/images/prerendered/th/alien_prarie_1.png b/images/prerendered/th/alien_prarie_1.png new file mode 100644 index 0000000000000000000000000000000000000000..49ca57fdf608ad65e32a7e57278d9856454ea01c --- /dev/null +++ b/images/prerendered/th/alien_prarie_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92d8d24dccb39dcd87222c52a8adb51f59e8d074c980c982451e2a332ca1ff1d +size 168129 diff --git a/images/prerendered/th/alien_world_1.png b/images/prerendered/th/alien_world_1.png new file mode 100644 index 0000000000000000000000000000000000000000..952d4d2e5309c9634fb9aee0d7ed9f4b1d0ee641 --- /dev/null +++ b/images/prerendered/th/alien_world_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6e9ee30989c9c215e895cb99283ba550c7422d1a7e96cd8bf0036c397671986 +size 101761 diff --git a/images/prerendered/th/alien_world_2.png b/images/prerendered/th/alien_world_2.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb44b7ae193fe67d37b59a64fbfe09fb66694b9 --- /dev/null +++ b/images/prerendered/th/alien_world_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b94d63dd6995c84bc9e6bb202ecb7148b73c1b08020930defd5a017502d9fc20 +size 109849 diff --git a/images/prerendered/th/alien_world_3.png b/images/prerendered/th/alien_world_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b331ef13318a43b45225ee56e8a887db078de951 --- /dev/null +++ b/images/prerendered/th/alien_world_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41e4e52e386554461a5e48edb1f0c6685785bb519dfead891176b537e5dc567a +size 107951 diff --git a/images/prerendered/th/alien_world_4.png b/images/prerendered/th/alien_world_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f8eb759e109dc34007fb2df0dca9bbeb49b02d --- /dev/null +++ b/images/prerendered/th/alien_world_4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95a7581538b0595c3c93c5d3bd394bbc9119729fc5dc9f034b80286ec961832a +size 108966 diff --git a/images/prerendered/th/alien_world_5.png b/images/prerendered/th/alien_world_5.png new file mode 100644 index 0000000000000000000000000000000000000000..a11d95c34bdbd6bfefaa0656f440ce2e659f4821 --- /dev/null +++ b/images/prerendered/th/alien_world_5.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ff81f048811ce4099c817b21412076604d4ded4fa8e9abf1d7daf2d7b62fc10 +size 108804 diff --git a/images/prerendered/th/canyon_water_1.png b/images/prerendered/th/canyon_water_1.png new file mode 100644 index 0000000000000000000000000000000000000000..097aac9bdc9fcc6028feb9f7c3aa9efc3ff68836 --- /dev/null +++ b/images/prerendered/th/canyon_water_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae8cee2ea821eba2b99760c005f94a92e549c5143f57c1d5434dd66d6b7c25a3 +size 190488 diff --git a/images/prerendered/th/cute3dkawaii.PNG b/images/prerendered/th/cute3dkawaii.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e85fdf4149f729d8ee769758553c49c0ae16f641 --- /dev/null +++ b/images/prerendered/th/cute3dkawaii.PNG @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57c63bf783093b57235047fde2d17789fd13d17487029823ff3fac7aa0a84b19 +size 102996 diff --git a/images/prerendered/th/dark_dirt_elevations_1.png b/images/prerendered/th/dark_dirt_elevations_1.png new file mode 100644 index 0000000000000000000000000000000000000000..de627eb104d65fb09dc46f824f25909d413d0bf0 --- /dev/null +++ b/images/prerendered/th/dark_dirt_elevations_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:832b5a3b6efbf5a3d29e4e1818871f1c21ff4de7959454ba4e9a819bd5f7b990 +size 184770 diff --git a/images/prerendered/th/donald_park.png b/images/prerendered/th/donald_park.png new file mode 100644 index 0000000000000000000000000000000000000000..13d02f14119dbebc1df69edc2583689214b95a2b --- /dev/null +++ b/images/prerendered/th/donald_park.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4313dfdc2537b31fb2877cf783bb0b11f957bbd9be1a8da13b53680ba1a5084 +size 202229 diff --git a/images/prerendered/th/elevated_peninsula_1.png b/images/prerendered/th/elevated_peninsula_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd3a7c759f95733aed7b45bf07b94528a9913f7 --- /dev/null +++ b/images/prerendered/th/elevated_peninsula_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2560ef9d161e3fe7c8c3afdef95d33e82d517a2fe6606498e257c33ac5907de8 +size 130643 diff --git a/images/prerendered/th/fractal_islands.png b/images/prerendered/th/fractal_islands.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b35c25ca37db99a2210d53efa6f16ce7ac17ab --- /dev/null +++ b/images/prerendered/th/fractal_islands.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa412eefde22496c2b067c1e6552870285ccfe5fcd26214120b5d85231d13e72 +size 143163 diff --git a/images/prerendered/th/green_farming_alien_world_1.png b/images/prerendered/th/green_farming_alien_world_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f92137379d54bedf0729d38c557675aae6f47bbf --- /dev/null +++ b/images/prerendered/th/green_farming_alien_world_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:061f90226252e1836f903fdac6f440d5db74773d60ba383fa06c75ad7ad151c8 +size 108532 diff --git a/images/prerendered/th/green_farming_alien_world_2.png b/images/prerendered/th/green_farming_alien_world_2.png new file mode 100644 index 0000000000000000000000000000000000000000..017a7bb1570c34381e57005e6e9682e50b97b638 --- /dev/null +++ b/images/prerendered/th/green_farming_alien_world_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8924f69c9e3d0254e5cecfe3ad7b70952b27f1fac4c0544ed13165f8d1d4c38f +size 110304 diff --git a/images/prerendered/th/grey_barren_alien_world_1.png b/images/prerendered/th/grey_barren_alien_world_1.png new file mode 100644 index 0000000000000000000000000000000000000000..13eb3bd3d407264af2db3b09458e58ec0c6983c0 --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e26b2b25c14fdcc23b23048e70b442d435eba65776e41fae81565254e15dadcb +size 105732 diff --git a/images/prerendered/th/grey_barren_alien_world_2.png b/images/prerendered/th/grey_barren_alien_world_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf8b65a2c1283d005bb9c97b31fbe40e21116de --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:528a1198c3230d00258fc76bdb891621f48121cc93ea8d4d9e0fed9d8e73ae71 +size 109245 diff --git a/images/prerendered/th/grey_barren_alien_world_3.png b/images/prerendered/th/grey_barren_alien_world_3.png new file mode 100644 index 0000000000000000000000000000000000000000..db9f5ff85969613aee101ee191c6f1cbaf7d21a4 --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f4be89dff3151db54a3109cdb206cd23073edc9581dd143f946a2832e9172e8 +size 103877 diff --git a/images/prerendered/th/grey_barren_alien_world_4.png b/images/prerendered/th/grey_barren_alien_world_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f2b58255876fb28ec79e73acb4603ba690b495 --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ade1516c212d4fbbbe7b68e18e1dd2ce0124f41a8e100e55e819afc0cbf2374f +size 104323 diff --git a/images/prerendered/th/grey_barren_alien_world_5.png b/images/prerendered/th/grey_barren_alien_world_5.png new file mode 100644 index 0000000000000000000000000000000000000000..4ad6e6e543d0ef28e233d91d5c4162a13ef5e5ad --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_5.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6701c2d889cf3fbad882a33060a7c9f450bcce7ec5978578d0280b67f7d1bf7 +size 103363 diff --git a/images/prerendered/th/grey_barren_alien_world_6.png b/images/prerendered/th/grey_barren_alien_world_6.png new file mode 100644 index 0000000000000000000000000000000000000000..86f813dacc4f741cdf5b8aa558f289affa161098 --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_6.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e235dee195187c7c7566d0b2fb0e2f9e3838e3e7d5402333944d8432363ab9b +size 106303 diff --git a/images/prerendered/th/grey_barren_alien_world_7.png b/images/prerendered/th/grey_barren_alien_world_7.png new file mode 100644 index 0000000000000000000000000000000000000000..ec13c0f90066767c8dd9333d49fd1579cceb6143 --- /dev/null +++ b/images/prerendered/th/grey_barren_alien_world_7.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee2cdb49e34e04e6daef49be633121f8fb37362b2b062de47c9392ae22190948 +size 94768 diff --git a/images/prerendered/th/grey_waterless_alien_world_map.png b/images/prerendered/th/grey_waterless_alien_world_map.png new file mode 100644 index 0000000000000000000000000000000000000000..c040cabfbd48939d31aabce4ce8d2ae6e02738fb --- /dev/null +++ b/images/prerendered/th/grey_waterless_alien_world_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55830e8383a344722327c2ca7b589f662cb307e60d4dfe83ff8727cb744fc93a +size 96242 diff --git a/images/prerendered/th/grid_1.png b/images/prerendered/th/grid_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e4a7e8ee7112f5874a28436f2c90065f535e0c --- /dev/null +++ b/images/prerendered/th/grid_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5c32e4e21bc3f37ec05fc614f8555f8f090815596e95c9e8c4ad44a2f76cd62 +size 48694 diff --git a/images/prerendered/th/hex_grass_dirty.png b/images/prerendered/th/hex_grass_dirty.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fd5b773e305e4b6c07d73facfe678959747ff0 --- /dev/null +++ b/images/prerendered/th/hex_grass_dirty.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:894430d648b5146a31c5b86c9ca75a80fa91e1123376a2a45a9dd861984c19f1 +size 154887 diff --git a/images/prerendered/th/hex_military_industrial_alien_world_map.png b/images/prerendered/th/hex_military_industrial_alien_world_map.png new file mode 100644 index 0000000000000000000000000000000000000000..b75a7a7654848f2a5b2c0673e2bdbc63e2cd8936 --- /dev/null +++ b/images/prerendered/th/hex_military_industrial_alien_world_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed890f94eab31307d7d954e0f3275f7e75bb69c4abbe60fb59af264d8471a31a +size 106730 diff --git a/images/prerendered/th/hex_mixed_elevations_battlefield_1.png b/images/prerendered/th/hex_mixed_elevations_battlefield_1.png new file mode 100644 index 0000000000000000000000000000000000000000..de93e92ec88ca947a7ad41b9b64d194e025ce11c --- /dev/null +++ b/images/prerendered/th/hex_mixed_elevations_battlefield_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc8db3e7680dd4697001e8380f345821ff541c762cd82eea61781696a926d817 +size 125872 diff --git a/images/prerendered/th/hex_mixed_elevations_battlefield_2.png b/images/prerendered/th/hex_mixed_elevations_battlefield_2.png new file mode 100644 index 0000000000000000000000000000000000000000..42ecd66c3e1ecd609ef1383bdd50e67140f92646 --- /dev/null +++ b/images/prerendered/th/hex_mixed_elevations_battlefield_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aa1314b387c957db07e2250dc4213e52a105c1b9d57a4e19dda0304af57cc7e +size 128104 diff --git a/images/prerendered/th/hex_tree_territory.png b/images/prerendered/th/hex_tree_territory.png new file mode 100644 index 0000000000000000000000000000000000000000..9da6f81f3739622b7a930fd526a854fdbd80a439 --- /dev/null +++ b/images/prerendered/th/hex_tree_territory.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae3a7cee7cfd23ea0a7840d8088278dafe6edf03f59dc2983ea5b16f3ddc66f6 +size 125295 diff --git a/images/prerendered/th/lake_city.png b/images/prerendered/th/lake_city.png new file mode 100644 index 0000000000000000000000000000000000000000..fe91f05cd005e923cefd97b4e0e660d093d4e638 --- /dev/null +++ b/images/prerendered/th/lake_city.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c56e94949d642acbe91f4828e0260a1f28c666175f3045e6fc1c2b0405493ac +size 131285 diff --git a/images/prerendered/th/mickey_lagoon.png b/images/prerendered/th/mickey_lagoon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b8fe047df236d291aca5723d3dd87d0ea9b06e3 --- /dev/null +++ b/images/prerendered/th/mickey_lagoon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01e0b9774ad458cf51a70b4d3f047f9cebd04d81c60a992215a78bdef0fd07b3 +size 157052 diff --git a/images/prerendered/th/mixed_elevations_battlefield_3.png b/images/prerendered/th/mixed_elevations_battlefield_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d28542def7651e2ae3b111cd6157e91a4b898599 --- /dev/null +++ b/images/prerendered/th/mixed_elevations_battlefield_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7dd615aa6a651927816418d3597e892a14f907763690ddc7eac0bf9c3fbc3b8 +size 120120 diff --git a/images/prerendered/th/n6W9Hc.png b/images/prerendered/th/n6W9Hc.png new file mode 100644 index 0000000000000000000000000000000000000000..52dd5acda918f8f6833c431017fe75719d50a2dd --- /dev/null +++ b/images/prerendered/th/n6W9Hc.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:504650fc778a30f9b0a8fd63e00a47c35b8302e4bc70edc0c4993bf3be55a4bf +size 201488 diff --git a/images/prerendered/th/oasis_mixed_elevations_1.png b/images/prerendered/th/oasis_mixed_elevations_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf06bad480fbb77007294104906e4a5936ea7c1 --- /dev/null +++ b/images/prerendered/th/oasis_mixed_elevations_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8307ad8b2b1a11a5774ad6af7366d30eac7dad5bfba1e50cf827bbd8c6a50a9 +size 119071 diff --git a/images/prerendered/th/pic526383.png b/images/prerendered/th/pic526383.png new file mode 100644 index 0000000000000000000000000000000000000000..e035dff364ed9eb214ec0762b32d30ca54f0eb7b --- /dev/null +++ b/images/prerendered/th/pic526383.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f942bd8cdd76a76a0514862fcdcd1f62b284471340957ef59939c893c15cf8f4 +size 120164 diff --git a/images/prerendered/th/pinecone_islands.png b/images/prerendered/th/pinecone_islands.png new file mode 100644 index 0000000000000000000000000000000000000000..bb858a42d5ef0d0672ec28af39fbaa2b8cdb536f --- /dev/null +++ b/images/prerendered/th/pinecone_islands.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0819233f3c2552da337bd7ab3f2677c6aadc5c9ea1e61edf3673ac1f11dccdd0 +size 151682 diff --git a/images/prerendered/th/purple_pines.png b/images/prerendered/th/purple_pines.png new file mode 100644 index 0000000000000000000000000000000000000000..b03f9c5ac421397a65d50333351bb9bb1e6d6938 --- /dev/null +++ b/images/prerendered/th/purple_pines.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d109d1575fb8436bc052f6f25b1fbcf9506f1ffc048b8f080f5b83cc4ffd97c +size 136095 diff --git a/images/prerendered/th/red_volcanic_alien_1.png b/images/prerendered/th/red_volcanic_alien_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3498c56f47d3ab25f2772554ae3ca25e0c3b6f43 --- /dev/null +++ b/images/prerendered/th/red_volcanic_alien_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:822649e14145ce025b6fed8a41857de1579c0cdf5b22a825bc257ad5a0bddc10 +size 114139 diff --git a/images/prerendered/th/red_volcanic_alien_2.png b/images/prerendered/th/red_volcanic_alien_2.png new file mode 100644 index 0000000000000000000000000000000000000000..690cee299ee9dd6ce31111b8e717d1998f1db41e --- /dev/null +++ b/images/prerendered/th/red_volcanic_alien_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f52a6b0cc22ae9b047ec787de5a3423d2ddf63442633626b90fa04cf70a7c6 +size 104276 diff --git a/images/prerendered/th/red_volcanic_alien_3.png b/images/prerendered/th/red_volcanic_alien_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8a112227502a0d80521b5e02353335a4f724ffc0 --- /dev/null +++ b/images/prerendered/th/red_volcanic_alien_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bccad2827960995603e9a6dec102b9b8baba669776bb106a8b707789729e4d21 +size 108435 diff --git a/images/prerendered/th/red_volcanic_alien_4.png b/images/prerendered/th/red_volcanic_alien_4.png new file mode 100644 index 0000000000000000000000000000000000000000..07dc1ec2dfcd5ef01a7aba5069d5f103f5ce9d5f --- /dev/null +++ b/images/prerendered/th/red_volcanic_alien_4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc333731cf65d2768c5f3f84d0138c1e61bea0a014bdc81735c5ecb2f6a41b62 +size 106536 diff --git a/images/prerendered/th/roadway_1.png b/images/prerendered/th/roadway_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0f93dab22e1e533c5c31f1660d0f0efdc66fc7 --- /dev/null +++ b/images/prerendered/th/roadway_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ba782e38662d2730d959bc43498cdbb27c2f23277298ea3d645301ecf1b65fa +size 114955 diff --git a/images/prerendered/th/snowy_lake.png b/images/prerendered/th/snowy_lake.png new file mode 100644 index 0000000000000000000000000000000000000000..79ae42f88cf67fa35352ab81b6fed64057d9b49c --- /dev/null +++ b/images/prerendered/th/snowy_lake.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:351c9ce4faf0445efa4b1a76a5b3f857d3239e892cbd2ad6885a4d7cac2c483f +size 141638 diff --git a/images/prerendered/th/snowy_rolling_hills_1.png b/images/prerendered/th/snowy_rolling_hills_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c5944b614e1e524857ad92a4a538d5deea95be6c --- /dev/null +++ b/images/prerendered/th/snowy_rolling_hills_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c504936e4cc3d153a5aa2cc9a82567c51e629a17b9d902b1b7454c00732e0c13 +size 175295 diff --git a/images/prerendered/th/volcanic_alien_world_map.png b/images/prerendered/th/volcanic_alien_world_map.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4207061366ea6cea0f35049cf8279dacb8ceec --- /dev/null +++ b/images/prerendered/th/volcanic_alien_world_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07b5a8edf1ac80371c404efefe19b9758271fd48b9b54359e0cbc735a1161149 +size 113455 diff --git a/images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png b/images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a4cd7ed50c8ee90640c2203ffacfd5aaa02ded --- /dev/null +++ b/images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4e4eb9121336cf75ee8519d4d4b3988a91695ae0fe6be45b46f1b28734bf58c +size 106012 diff --git a/utils/constants.py b/utils/constants.py index 1366d08d39af50c44c738fda8e584fb88fc187f9..a82c50bca3cf72803be945e66f9f9c8bed391b58 100644 --- a/utils/constants.py +++ b/utils/constants.py @@ -7,21 +7,21 @@ from dotenv import load_dotenv import numpy as np #Set the environment variables -os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:256,expandable_segments:True" -os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0' +#os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:256,expandable_segments:True" +#os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0' #os.environ["TF_CPP_MIN_LOG_LEVEL"] = '2' -os.environ['CUDA_MODULE_LOADING']='LAZY' -os.environ['USE_FLASH_ATTENTION'] = '1' -os.environ['XFORMERS_FORCE_DISABLE_TRITON']= '1' +#os.environ['CUDA_MODULE_LOADING']='LAZY' +#os.environ['USE_FLASH_ATTENTION'] = '1' +#os.environ['XFORMERS_FORCE_DISABLE_TRITON']= '1' #os.environ['XFORMERS_FORCE_DISABLE_TORCHSCRIPT']= '1' #os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" -os.environ["PYTORCH_NVML_BASED_CUDA_CHECK"] = "1" -os.environ["CUDA_VISIBLE_DEVICES"] = "0" -os.environ["NVIDIA_VISIBLE_DEVICES"] = "0" -os.environ["ZEROGPU_VERSION"] = "2" -os.environ["ZEROGPU_V2"] = "true" -os.environ["ZERO_GPU_V2"] = "true" -os.environ["ZERO_GPU_PATCH_TORCH_DEVICE"]='1' +#os.environ["PYTORCH_NVML_BASED_CUDA_CHECK"] = "1" +#os.environ["CUDA_VISIBLE_DEVICES"] = "0" +#os.environ["NVIDIA_VISIBLE_DEVICES"] = "0" +#os.environ["ZEROGPU_VERSION"] = "2" +#os.environ["ZEROGPU_V2"] = "true" +#os.environ["ZERO_GPU_V2"] = "true" +#os.environ["ZERO_GPU_PATCH_TORCH_DEVICE"]='1' IS_SHARED_SPACE = "Surn/HexaGrid" in os.environ.get('SPACE_ID', '') @@ -29,6 +29,26 @@ IS_SHARED_SPACE = "Surn/HexaGrid" in os.environ.get('SPACE_ID', '') dotenv_path = Path(__file__).parent.parent / '.env' load_dotenv(dotenv_path) +# Function to load env vars from .env and create Python variables +def load_env_vars(env_path): + try: + with open(env_path, 'r') as file: + for line in file: + # Skip empty lines or comments + line = line.strip() + if line and not line.startswith('#'): + # Split on the first '=' only + if '=' in line: + key, value = line.split('=', 1) + key = key.strip() + value = value.strip() + # Dynamically create a Python variable with the key name + globals()[key] = value + # Also update os.environ (optional, for consistency) + os.environ[key] = value + except FileNotFoundError: + print(f"Warning: .env file not found at {env_path}") + # Set the temporary folder location #os.environ['TEMP'] = r'e:\\TMP' #os.environ['TMPDIR'] = r'e:\\TMP' @@ -41,12 +61,15 @@ if not HF_API_TOKEN: default_lut_example_img = "./LUT/daisy.jpg" MAX_SEED = np.iinfo(np.int32).max TARGET_SIZE = (2688,1536) +#TMPDIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tmp') +#os.makedirs(TMP_DIR, exist_ok=True) + PROMPTS = { - "BorderBlack": "Top-down view of a hexagon-based alien map with black borders. Features rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial hexes on edges are black.", - "Earth": "Top-down view of a world map with rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial edge hexes are black. Overhead view.", - "Beeuty": "Top-down view of a table map with honeycomb_shapes, lakes, dense forests, magical flora, and hex_grids. Map for tabletop gaming with clarity and strategic elements. Colors: yellow, green, purple, brown. Partial hexes on edges are black.", - "Scifi City": "Top-down view of a futuristic urban battlefield map with lakes, forests, ruined buildings, and city streets. Emphasizes clarity and strategy for tabletop games. Colors: teal, dark green, violet, brown. Partial edge hexes are black. Viewed from above.", + "BorderBlack": "Top-down view, from above. of a hexagon-based alien map with black borders. Features rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial hexes on edges are black.", + "Earth": "Top-down view of a world map with rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial edge hexes are black. from above.", + "Beeuty": "Top-down view of a table map with honeycomb_shapes, lakes, dense forests, magical flora, and hex_grids. Map for tabletop gaming with clarity and strategic elements. Colors: yellow, green, purple, brown. Partial hexes on edges are black. Viewed from above.", + "Scifi City": "Top-down view of a futuristic urban_battlefield_map with lakes, forests, ruined_buildings, and city streets. Emphasizes clarity and strategy for tabletop games. Colors: teal, dark green, violet, brown. Partial edge hexes are black. Viewed from above.", "Alien Landscape": "Top-down view of a barren alien world map made from hexagon pieces. Features light blue rivers, brown mountains, red volcanoes, and white snow at top and bottom. Colors: light blue, green, tan, brown. Partial hexes on edges are black.", "Alien World": "Top-down view of an alien world map built from hexagon pieces. Includes rivers, mountains, volcanoes, and snowy areas. Colors: light blue, green, tan, brown. Partial edge hexes are black. Overhead view.", "Mystic Forest": "Top-down view of a mystic forest map with lakes, dense forests, magical flora, and hex grids. Designed for clarity in tabletop gaming. Colors: light blue, green, purple, brown. Partial hexes on edges are black.", @@ -56,9 +79,9 @@ PROMPTS = { NEGATIVE_PROMPTS = { "BorderBlack": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric", - "Earth": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, isometric", - "Map3": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric", - "Map4": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric", + "Earth": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, missing map of the Earth, isometric", + "Beeuty": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, map of the Earth, isometric", + "Scifi City": "humans, missing_buildings, vehicles, text, logos, reflections, shadows, Earth, isometric", "Alien Landscape": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric", "Alien World": "Earth, humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric", "Mystic Forest": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric", @@ -69,22 +92,107 @@ NEGATIVE_PROMPTS = { # Directory containing the pre-rendered hexagon maps PRERENDER_DIR = "images/prerendered" -# List of pre-rendered hexagon map files -PRE_RENDERED_MAPS = ['alien_orb_land_1.png', 'alien_prarie_1.png', 'alien_world_1.png', 'alien_world_2.png', 'alien_world_3.png', 'alien_world_4.png', 'alien_world_5.png', 'BurntCity.png', 'canyon_water_1.png', 'CONQ_Caustic_Valley.png', 'CONQ_Frozen_City.png', 'CONQ_Hellebore_Springs.png', 'CONQ_Terra_Therma.png', 'CONQ_Viridian_Bog.png', 'cute3dkawaii.png', 'dark_dirt_elevations_1.png', 'donald_park.png', 'elevated_peninsula_1.png', 'Firefly_alien_canyons_1.png', 'Firefly_alien_canyons_2.png', 'Firefly_alien_dry_canyons_1.png', 'Firefly_alien_dry_canyons_2.png', 'Firefly_alien_map_1.png', 'Firefly_hpg_terrain_1.png', 'Firefly_hpg_terrain_2.png', 'Firefly_river_dry_1.png', 'Firefly_river_running_1.png', 'Firefly_topographical_alien_desert_1.png', 'Firefly_topographical_canyon_1.png', 'Firefly_topographical_height_map_1.png', 'Firefly_topographical_height_map_2.png', 'Firefly_topographical_height_map_3.png', 'Firefly_topographical_height_map_5.png', 'Firefly_topographical_height_map_6.png', 'Firefly_topographical_marble_1.png', 'Firefly_topographical_moon_1.png', 'fractal_islands.png', 'Genison.png', 'green_farming_alien_world_1.png', 'green_farming_alien_world_2.png', 'grey_barren_alien_world_1.png', 'grey_barren_alien_world_2.png', 'grey_barren_alien_world_3.png', 'grey_barren_alien_world_4.png', 'grey_barren_alien_world_5.png', 'grey_barren_alien_world_6.png', 'grey_barren_alien_world_7.png', 'grey_waterless_alien_world_map.png', 'grid_1.png', 'Hex_gen_map.png', 'hex_grass_dirty.png', 'hex_military_industrial_alien_world_map.png', 'hex_mixed_elevations_battlefield_1.png', 'hex_mixed_elevations_battlefield_2.png', 'hex_tree_territory.png', 'lake_city.png', 'mickey_lagoon.png', 'mixed_elevations_battlefield_3.png', 'n6W9Hc.png', 'oasis_mixed_elevations_1.png', 'pic526383.png', 'pinecone_islands.png', 'purple_pines.png', 'red_volcanic_alien_1.png', 'red_volcanic_alien_2.png', 'red_volcanic_alien_3.png', 'red_volcanic_alien_4.png', 'roadway_1.png', 'snowy_lake.png', 'snowy_rolling_hills_1.png', 'volcanic_alien_world_map.png', 'war_torn_post_apocalyptic_alien_world_map.png'] +# # List of pre-rendered hexagon map files +# PRE_RENDERED_MAPS = ['alien_orb_land_1.png', 'alien_prarie_1.png', 'alien_world_1.png', 'alien_world_2.png', 'alien_world_3.png', 'alien_world_4.png', 'alien_world_5.png', 'BurntCity.png', 'canyon_water_1.png', 'CONQ_Caustic_Valley.png', 'CONQ_Frozen_City.png', 'CONQ_Hellebore_Springs.png', 'CONQ_Terra_Therma.png', 'CONQ_Viridian_Bog.png', 'cute3dkawaii.PNG', 'dark_dirt_elevations_1.png', 'donald_park.png', 'elevated_peninsula_1.png', 'Firefly_alien_canyons_1.png', 'Firefly_alien_canyons_2.png', 'Firefly_alien_dry_canyons_1.png', 'Firefly_alien_dry_canyons_2.png', 'Firefly_alien_map_1.png', 'Firefly_hpg_terrain_1.png', 'Firefly_hpg_terrain_2.png', 'Firefly_river_dry_1.png', 'Firefly_river_running_1.png', 'Firefly_topographical_alien_desert_1.png', 'Firefly_topographical_canyon_1.png', 'Firefly_topographical_height_map_1.png', 'Firefly_topographical_height_map_2.png', 'Firefly_topographical_height_map_3.png', 'Firefly_topographical_height_map_5.png', 'Firefly_topographical_height_map_6.png', 'Firefly_topographical_marble_1.png', 'Firefly_topographical_moon_1.png', 'fractal_islands.png', 'Genison.png', 'green_farming_alien_world_1.png', 'green_farming_alien_world_2.png', 'grey_barren_alien_world_1.png', 'grey_barren_alien_world_2.png', 'grey_barren_alien_world_3.png', 'grey_barren_alien_world_4.png', 'grey_barren_alien_world_5.png', 'grey_barren_alien_world_6.png', 'grey_barren_alien_world_7.png', 'grey_waterless_alien_world_map.png', 'grid_1.png', 'Hex_gen_map.PNG', 'hex_grass_dirty.png', 'hex_military_industrial_alien_world_map.png', 'hex_mixed_elevations_battlefield_1.png', 'hex_mixed_elevations_battlefield_2.png', 'hex_tree_territory.png', 'lake_city.png', 'mickey_lagoon.png', 'mixed_elevations_battlefield_3.png', 'n6W9Hc.png', 'oasis_mixed_elevations_1.png', 'pic526383.png', 'pinecone_islands.png', 'purple_pines.png', 'red_volcanic_alien_1.png', 'red_volcanic_alien_2.png', 'red_volcanic_alien_3.png', 'red_volcanic_alien_4.png', 'roadway_1.png', 'snowy_lake.png', 'snowy_rolling_hills_1.png', 'volcanic_alien_world_map.png', 'war_torn_post_apocalyptic_alien_world_map.png'] -# Create full paths for pre-rendered maps -pre_rendered_maps_paths = [os.path.join(PRERENDER_DIR, map_file).replace("\\", "/") for map_file in PRE_RENDERED_MAPS] -pre_rendered_maps_paths_api_file = [f"./gradio_api/file={map_path}" for map_path in pre_rendered_maps_paths] +# # Create full paths for pre-rendered maps +# pre_rendered_maps_paths = [os.path.join(PRERENDER_DIR, map_file).replace("\\", "/") for map_file in PRE_RENDERED_MAPS] +# pre_rendered_maps_paths_api_file = [f"./gradio_api/file={map_path}" for map_path in pre_rendered_maps_paths] # Generate a dictionary with cleaned-up names as keys and file paths as values -PRE_RENDERED_MAPS_JSON = { - os.path.splitext(file.replace("_", " ").replace("-", " ").replace(" ", " ").strip())[0]: os.path.join(PRERENDER_DIR, file) - for file in PRE_RENDERED_MAPS -} -PRE_RENDERED_MAPS_JSON -{'alien orb land 1': 'images/prerendered/alien_orb_land_1.png', 'alien prarie 1': 'images/prerendered/alien_prarie_1.png', 'alien world 1': 'images/prerendered/alien_world_1.png', 'alien world 2': 'images/prerendered/alien_world_2.png', 'alien world 3': 'images/prerendered/alien_world_3.png', 'alien world 4': 'images/prerendered/alien_world_4.png', 'alien world 5': 'images/prerendered/alien_world_5.png', 'BurntCity': 'images/prerendered/BurntCity.png', 'canyon water 1': 'images/prerendered/canyon_water_1.png', 'CONQ Caustic Valley': 'images/prerendered/CONQ_Caustic_Valley.png', 'CONQ Frozen City': 'images/prerendered/CONQ_Frozen_City.png', 'CONQ Hellebore Springs': 'images/prerendered/CONQ_Hellebore_Springs.png', 'CONQ Terra Therma': 'images/prerendered/CONQ_Terra_Therma.png', 'CONQ Viridian Bog': 'images/prerendered/CONQ_Viridian_Bog.png', 'cute3dkawaii': 'images/prerendered/cute3dkawaii.PNG', 'dark dirt elevations 1': 'images/prerendered/dark_dirt_elevations_1.png', 'donald park': 'images/prerendered/donald_park.png', 'elevated peninsula 1': 'images/prerendered/elevated_peninsula_1.png', 'Firefly alien canyons 1': 'images/prerendered/Firefly_alien_canyons_1.png', 'Firefly alien canyons 2': 'images/prerendered/Firefly_alien_canyons_2.png', 'Firefly alien dry canyons 1': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'Firefly alien dry canyons 2': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'Firefly alien map 1': 'images/prerendered/Firefly_alien_map_1.png', 'Firefly hpg terrain 1': 'images/prerendered/Firefly_hpg_terrain_1.png', 'Firefly hpg terrain 2': 'images/prerendered/Firefly_hpg_terrain_2.png', 'Firefly river dry 1': 'images/prerendered/Firefly_river_dry_1.png', 'Firefly river running 1': 'images/prerendered/Firefly_river_running_1.png', 'Firefly topographical alien desert 1': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'Firefly topographical canyon 1': 'images/prerendered/Firefly_topographical_canyon_1.png', 'Firefly topographical height map 1': 'images/prerendered/Firefly_topographical_height_map_1.png', 'Firefly topographical height map 2': 'images/prerendered/Firefly_topographical_height_map_2.png', 'Firefly topographical height map 3': 'images/prerendered/Firefly_topographical_height_map_3.png', 'Firefly topographical height map 5': 'images/prerendered/Firefly_topographical_height_map_5.png', 'Firefly topographical height map 6': 'images/prerendered/Firefly_topographical_height_map_6.png', 'Firefly topographical marble 1': 'images/prerendered/Firefly_topographical_marble_1.png', 'Firefly topographical moon 1': 'images/prerendered/Firefly_topographical_moon_1.png', 'fractal islands': 'images/prerendered/fractal_islands.png', 'Genison': 'images/prerendered/Genison.png', 'green farming alien world 1': 'images/prerendered/green_farming_alien_world_1.png', 'green farming alien world 2': 'images/prerendered/green_farming_alien_world_2.png', 'grey barren alien world 1': 'images/prerendered/grey_barren_alien_world_1.png', 'grey barren alien world 2': 'images/prerendered/grey_barren_alien_world_2.png', 'grey barren alien world 3': 'images/prerendered/grey_barren_alien_world_3.png', 'grey barren alien world 4': 'images/prerendered/grey_barren_alien_world_4.png', 'grey barren alien world 5': 'images/prerendered/grey_barren_alien_world_5.png', 'grey barren alien world 6': 'images/prerendered/grey_barren_alien_world_6.png', 'grey barren alien world 7': 'images/prerendered/grey_barren_alien_world_7.png', 'grey waterless alien world map': 'images/prerendered/grey_waterless_alien_world_map.png', 'grid 1': 'images/prerendered/grid_1.png', 'Hex gen map': 'images/prerendered/Hex_gen_map.png', 'hex grass dirty': 'images/prerendered/hex_grass_dirty.png', 'hex military industrial alien world map': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'hex mixed elevations battlefield 1': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'hex mixed elevations battlefield 2': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'hex tree territory': 'images/prerendered/hex_tree_territory.png', 'lake city': 'images/prerendered/lake_city.png', 'mickey lagoon': 'images/prerendered/mickey_lagoon.png', 'mixed elevations battlefield 3': 'images/prerendered/mixed_elevations_battlefield_3.png', 'n6W9Hc': 'images/prerendered/n6W9Hc.png', 'oasis mixed elevations 1': 'images/prerendered/oasis_mixed_elevations_1.png', 'pic526383': 'images/prerendered/pic526383.png', 'pinecone islands': 'images/prerendered/pinecone_islands.png', 'purple pines': 'images/prerendered/purple_pines.png', 'red volcanic alien 1': 'images/prerendered/red_volcanic_alien_1.png', 'red volcanic alien 2': 'images/prerendered/red_volcanic_alien_2.png', 'red volcanic alien 3': 'images/prerendered/red_volcanic_alien_3.png', 'red volcanic alien 4': 'images/prerendered/red_volcanic_alien_4.png', 'roadway 1': 'images/prerendered/roadway_1.png', 'snowy lake': 'images/prerendered/snowy_lake.png', 'snowy rolling hills 1': 'images/prerendered/snowy_rolling_hills_1.png', 'volcanic alien world map': 'images/prerendered/volcanic_alien_world_map.png', 'war torn post apocalyptic alien world map': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png'} +#PRE_RENDERED_MAPS_JSON = { +# os.path.splitext(file.replace("_", " ").replace("-", " ").replace(" ", " ").strip())[0]: os.path.join(PRERENDER_DIR, file) +# for file in PRE_RENDERED_MAPS +#} +#PRE_RENDERED_MAPS_JSON +#{'alien orb land 1': 'images/prerendered/alien_orb_land_1.png', 'alien prarie 1': 'images/prerendered/alien_prarie_1.png', 'alien world 1': 'images/prerendered/alien_world_1.png', 'alien world 2': 'images/prerendered/alien_world_2.png', 'alien world 3': 'images/prerendered/alien_world_3.png', 'alien world 4': 'images/prerendered/alien_world_4.png', 'alien world 5': 'images/prerendered/alien_world_5.png', 'BurntCity': 'images/prerendered/BurntCity.png', 'canyon water 1': 'images/prerendered/canyon_water_1.png', 'CONQ Caustic Valley': 'images/prerendered/CONQ_Caustic_Valley.png', 'CONQ Frozen City': 'images/prerendered/CONQ_Frozen_City.png', 'CONQ Hellebore Springs': 'images/prerendered/CONQ_Hellebore_Springs.png', 'CONQ Terra Therma': 'images/prerendered/CONQ_Terra_Therma.png', 'CONQ Viridian Bog': 'images/prerendered/CONQ_Viridian_Bog.png', 'cute3dkawaii': 'images/prerendered/cute3dkawaii.PNG', 'dark dirt elevations 1': 'images/prerendered/dark_dirt_elevations_1.png', 'donald park': 'images/prerendered/donald_park.png', 'elevated peninsula 1': 'images/prerendered/elevated_peninsula_1.png', 'Firefly alien canyons 1': 'images/prerendered/Firefly_alien_canyons_1.png', 'Firefly alien canyons 2': 'images/prerendered/Firefly_alien_canyons_2.png', 'Firefly alien dry canyons 1': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'Firefly alien dry canyons 2': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'Firefly alien map 1': 'images/prerendered/Firefly_alien_map_1.png', 'Firefly hpg terrain 1': 'images/prerendered/Firefly_hpg_terrain_1.png', 'Firefly hpg terrain 2': 'images/prerendered/Firefly_hpg_terrain_2.png', 'Firefly river dry 1': 'images/prerendered/Firefly_river_dry_1.png', 'Firefly river running 1': 'images/prerendered/Firefly_river_running_1.png', 'Firefly topographical alien desert 1': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'Firefly topographical canyon 1': 'images/prerendered/Firefly_topographical_canyon_1.png', 'Firefly topographical height map 1': 'images/prerendered/Firefly_topographical_height_map_1.png', 'Firefly topographical height map 2': 'images/prerendered/Firefly_topographical_height_map_2.png', 'Firefly topographical height map 3': 'images/prerendered/Firefly_topographical_height_map_3.png', 'Firefly topographical height map 5': 'images/prerendered/Firefly_topographical_height_map_5.png', 'Firefly topographical height map 6': 'images/prerendered/Firefly_topographical_height_map_6.png', 'Firefly topographical marble 1': 'images/prerendered/Firefly_topographical_marble_1.png', 'Firefly topographical moon 1': 'images/prerendered/Firefly_topographical_moon_1.png', 'fractal islands': 'images/prerendered/fractal_islands.png', 'Genison': 'images/prerendered/Genison.png', 'green farming alien world 1': 'images/prerendered/green_farming_alien_world_1.png', 'green farming alien world 2': 'images/prerendered/green_farming_alien_world_2.png', 'grey barren alien world 1': 'images/prerendered/grey_barren_alien_world_1.png', 'grey barren alien world 2': 'images/prerendered/grey_barren_alien_world_2.png', 'grey barren alien world 3': 'images/prerendered/grey_barren_alien_world_3.png', 'grey barren alien world 4': 'images/prerendered/grey_barren_alien_world_4.png', 'grey barren alien world 5': 'images/prerendered/grey_barren_alien_world_5.png', 'grey barren alien world 6': 'images/prerendered/grey_barren_alien_world_6.png', 'grey barren alien world 7': 'images/prerendered/grey_barren_alien_world_7.png', 'grey waterless alien world map': 'images/prerendered/grey_waterless_alien_world_map.png', 'grid 1': 'images/prerendered/grid_1.png', 'Hex gen map': 'images/prerendered/Hex_gen_map.PNG', 'hex grass dirty': 'images/prerendered/hex_grass_dirty.png', 'hex military industrial alien world map': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'hex mixed elevations battlefield 1': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'hex mixed elevations battlefield 2': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'hex tree territory': 'images/prerendered/hex_tree_territory.png', 'lake city': 'images/prerendered/lake_city.png', 'mickey lagoon': 'images/prerendered/mickey_lagoon.png', 'mixed elevations battlefield 3': 'images/prerendered/mixed_elevations_battlefield_3.png', 'n6W9Hc': 'images/prerendered/n6W9Hc.png', 'oasis mixed elevations 1': 'images/prerendered/oasis_mixed_elevations_1.png', 'pic526383': 'images/prerendered/pic526383.png', 'pinecone islands': 'images/prerendered/pinecone_islands.png', 'purple pines': 'images/prerendered/purple_pines.png', 'red volcanic alien 1': 'images/prerendered/red_volcanic_alien_1.png', 'red volcanic alien 2': 'images/prerendered/red_volcanic_alien_2.png', 'red volcanic alien 3': 'images/prerendered/red_volcanic_alien_3.png', 'red volcanic alien 4': 'images/prerendered/red_volcanic_alien_4.png', 'roadway 1': 'images/prerendered/roadway_1.png', 'snowy lake': 'images/prerendered/snowy_lake.png', 'snowy rolling hills 1': 'images/prerendered/snowy_rolling_hills_1.png', 'volcanic alien world map': 'images/prerendered/volcanic_alien_world_map.png', 'war torn post apocalyptic alien world map': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png'} ##PRE_RENDERED_MAPS_JSON = { key: { 'file': value, 'quality': 0 } for key, value in PRE_RENDERED_MAPS_JSON.items()} -PRE_RENDERED_MAPS_JSON_LEVELS = {'alien orb land 1': {'file': 'images/prerendered/alien_orb_land_1.png', 'quality': 0}, 'alien prarie 1': {'file': 'images/prerendered/alien_prarie_1.png', 'quality': 0}, 'alien world 1': {'file': 'images/prerendered/alien_world_1.png', 'quality': 0}, 'alien world 2': {'file': 'images/prerendered/alien_world_2.png', 'quality': 0}, 'alien world 3': {'file': 'images/prerendered/alien_world_3.png', 'quality': 0}, 'alien world 4': {'file': 'images/prerendered/alien_world_4.png', 'quality': 0}, 'alien world 5': {'file': 'images/prerendered/alien_world_5.png', 'quality': 0}, 'BurntCity': {'file': 'images/prerendered/BurntCity.png', 'quality': 0}, 'canyon water 1': {'file': 'images/prerendered/canyon_water_1.png', 'quality': 0}, 'CONQ Caustic Valley': {'file': 'images/prerendered/CONQ_Caustic_Valley.png', 'quality': 0}, 'CONQ Frozen City': {'file': 'images/prerendered/CONQ_Frozen_City.png', 'quality': 0}, 'CONQ Hellebore Springs': {'file': 'images/prerendered/CONQ_Hellebore_Springs.png', 'quality': 0}, 'CONQ Terra Therma': {'file': 'images/prerendered/CONQ_Terra_Therma.png', 'quality': 0}, 'CONQ Viridian Bog': {'file': 'images/prerendered/CONQ_Viridian_Bog.png', 'quality': 0}, 'cute3dkawaii': {'file': 'images/prerendered/cute3dkawaii.png', 'quality': 0}, 'dark dirt elevations 1': {'file': 'images/prerendered/dark_dirt_elevations_1.png', 'quality': 0}, 'donald park': {'file': 'images/prerendered/donald_park.png', 'quality': 0}, 'elevated peninsula 1': {'file': 'images/prerendered/elevated_peninsula_1.png', 'quality': 0}, 'Firefly alien canyons 1': {'file': 'images/prerendered/Firefly_alien_canyons_1.png', 'quality': 0}, 'Firefly alien canyons 2': {'file': 'images/prerendered/Firefly_alien_canyons_2.png', 'quality': 0}, 'Firefly alien dry canyons 1': {'file': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'quality': 0}, 'Firefly alien dry canyons 2': {'file': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'quality': 0}, 'Firefly alien map 1': {'file': 'images/prerendered/Firefly_alien_map_1.png', 'quality': 0}, 'Firefly hpg terrain 1': {'file': 'images/prerendered/Firefly_hpg_terrain_1.png', 'quality': 0}, 'Firefly hpg terrain 2': {'file': 'images/prerendered/Firefly_hpg_terrain_2.png', 'quality': 0}, 'Firefly river dry 1': {'file': 'images/prerendered/Firefly_river_dry_1.png', 'quality': 0}, 'Firefly river running 1': {'file': 'images/prerendered/Firefly_river_running_1.png', 'quality': 0}, 'Firefly topographical alien desert 1': {'file': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'quality': 0}, 'Firefly topographical canyon 1': {'file': 'images/prerendered/Firefly_topographical_canyon_1.png', 'quality': 0}, 'Firefly topographical height map 1': {'file': 'images/prerendered/Firefly_topographical_height_map_1.png', 'quality': 0}, 'Firefly topographical height map 2': {'file': 'images/prerendered/Firefly_topographical_height_map_2.png', 'quality': 0}, 'Firefly topographical height map 3': {'file': 'images/prerendered/Firefly_topographical_height_map_3.png', 'quality': 0}, 'Firefly topographical height map 5': {'file': 'images/prerendered/Firefly_topographical_height_map_5.png', 'quality': 0}, 'Firefly topographical height map 6': {'file': 'images/prerendered/Firefly_topographical_height_map_6.png', 'quality': 0}, 'Firefly topographical marble 1': {'file': 'images/prerendered/Firefly_topographical_marble_1.png', 'quality': 0}, 'Firefly topographical moon 1': {'file': 'images/prerendered/Firefly_topographical_moon_1.png', 'quality': 0}, 'fractal islands': {'file': 'images/prerendered/fractal_islands.png', 'quality': 0}, 'Genison': {'file': 'images/prerendered/Genison.png', 'quality': 0}, 'green farming alien world 1': {'file': 'images/prerendered/green_farming_alien_world_1.png', 'quality': 0}, 'green farming alien world 2': {'file': 'images/prerendered/green_farming_alien_world_2.png', 'quality': 0}, 'grey barren alien world 1': {'file': 'images/prerendered/grey_barren_alien_world_1.png', 'quality': 0}, 'grey barren alien world 2': {'file': 'images/prerendered/grey_barren_alien_world_2.png', 'quality': 0}, 'grey barren alien world 3': {'file': 'images/prerendered/grey_barren_alien_world_3.png', 'quality': 0}, 'grey barren alien world 4': {'file': 'images/prerendered/grey_barren_alien_world_4.png', 'quality': 0}, 'grey barren alien world 5': {'file': 'images/prerendered/grey_barren_alien_world_5.png', 'quality': 0}, 'grey barren alien world 6': {'file': 'images/prerendered/grey_barren_alien_world_6.png', 'quality': 0}, 'grey barren alien world 7': {'file': 'images/prerendered/grey_barren_alien_world_7.png', 'quality': 0}, 'grey waterless alien world map': {'file': 'images/prerendered/grey_waterless_alien_world_map.png', 'quality': 0}, 'grid 1': {'file': 'images/prerendered/grid_1.png', 'quality': 0}, 'Hex gen map': {'file': 'images/prerendered/Hex_gen_map.png', 'quality': 0}, 'hex grass dirty': {'file': 'images/prerendered/hex_grass_dirty.png', 'quality': 0}, 'hex military industrial alien world map': {'file': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'quality': 0}, 'hex mixed elevations battlefield 1': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'quality': 0}, 'hex mixed elevations battlefield 2': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'quality': 0}, 'hex tree territory': {'file': 'images/prerendered/hex_tree_territory.png', 'quality': 0}, 'lake city': {'file': 'images/prerendered/lake_city.png', 'quality': 0}, 'mickey lagoon': {'file': 'images/prerendered/mickey_lagoon.png', 'quality': 0}, 'mixed elevations battlefield 3': {'file': 'images/prerendered/mixed_elevations_battlefield_3.png', 'quality': 0}, 'n6W9Hc': {'file': 'images/prerendered/n6W9Hc.png', 'quality': 0}, 'oasis mixed elevations 1': {'file': 'images/prerendered/oasis_mixed_elevations_1.png', 'quality': 0}, 'pic526383': {'file': 'images/prerendered/pic526383.png', 'quality': 0}, 'pinecone islands': {'file': 'images/prerendered/pinecone_islands.png', 'quality': 0}, 'purple pines': {'file': 'images/prerendered/purple_pines.png', 'quality': 0}, 'red volcanic alien 1': {'file': 'images/prerendered/red_volcanic_alien_1.png', 'quality': 0}, 'red volcanic alien 2': {'file': 'images/prerendered/red_volcanic_alien_2.png', 'quality': 0}, 'red volcanic alien 3': {'file': 'images/prerendered/red_volcanic_alien_3.png', 'quality': 0}, 'red volcanic alien 4': {'file': 'images/prerendered/red_volcanic_alien_4.png', 'quality': 0}, 'roadway 1': {'file': 'images/prerendered/roadway_1.png', 'quality': 0}, 'snowy lake': {'file': 'images/prerendered/snowy_lake.png', 'quality': 0}, 'snowy rolling hills 1': {'file': 'images/prerendered/snowy_rolling_hills_1.png', 'quality': 0}, 'volcanic alien world map': {'file': 'images/prerendered/volcanic_alien_world_map.png', 'quality': 0}, 'war torn post apocalyptic alien world map': {'file': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png', 'quality': 0}} +PRE_RENDERED_MAPS_JSON_LEVELS = { + 'alien orb land 1': {'file': 'images/prerendered/alien_orb_land_1.png', 'thumbnail': 'images/prerendered/th/alien_orb_land_1.png', 'quality': 0}, + 'alien prarie 1': {'file': 'images/prerendered/alien_prarie_1.png', 'thumbnail': 'images/prerendered/th/alien_prarie_1.png', 'quality': 0}, + 'alien world 1': {'file': 'images/prerendered/alien_world_1.png', 'thumbnail': 'images/prerendered/th/alien_world_1.png', 'quality': 3}, + 'alien world 2': {'file': 'images/prerendered/alien_world_2.png', 'thumbnail': 'images/prerendered/th/alien_world_2.png', 'quality': 3}, + 'alien world 3': {'file': 'images/prerendered/alien_world_3.png', 'thumbnail': 'images/prerendered/th/alien_world_3.png', 'quality': 3}, + 'alien world 4': {'file': 'images/prerendered/alien_world_4.png', 'thumbnail': 'images/prerendered/th/alien_world_4.png', 'quality': 3}, + 'alien world 5': {'file': 'images/prerendered/alien_world_5.png', 'thumbnail': 'images/prerendered/th/alien_world_5.png', 'quality': 3}, + 'BurntCity': {'file': 'images/prerendered/BurntCity.png', 'thumbnail': 'images/prerendered/th/BurntCity.png', 'quality': 2}, + 'canyon water 1': {'file': 'images/prerendered/canyon_water_1.png', 'thumbnail': 'images/prerendered/th/canyon_water_1.png', 'quality': 0}, + 'CONQ Caustic Valley': {'file': 'images/prerendered/CONQ_Caustic_Valley.png', 'thumbnail': 'images/prerendered/th/CONQ_Caustic_Valley.png', 'quality': 2}, + 'CONQ Frozen City': {'file': 'images/prerendered/CONQ_Frozen_City.png', 'thumbnail': 'images/prerendered/th/CONQ_Frozen_City.png', 'quality': 1}, + 'CONQ Hellebore Springs': {'file': 'images/prerendered/CONQ_Hellebore_Springs.png', 'thumbnail': 'images/prerendered/th/CONQ_Hellebore_Springs.png', 'quality': 2}, + 'CONQ Terra Therma': {'file': 'images/prerendered/CONQ_Terra_Therma.png', 'thumbnail': 'images/prerendered/th/CONQ_Terra_Therma.png', 'quality': 1}, + 'CONQ Viridian Bog': {'file': 'images/prerendered/CONQ_Viridian_Bog.png', 'thumbnail': 'images/prerendered/th/CONQ_Viridian_Bog.png', 'quality': 1}, + 'cute3dkawaii': {'file': 'images/prerendered/cute3dkawaii.PNG', 'thumbnail': 'images/prerendered/th/cute3dkawaii.PNG', 'quality': 0}, + 'dark dirt elevations 1': {'file': 'images/prerendered/dark_dirt_elevations_1.png', 'thumbnail': 'images/prerendered/th/dark_dirt_elevations_1.png', 'quality': 0}, + 'donald park': {'file': 'images/prerendered/donald_park.png', 'thumbnail': 'images/prerendered/th/donald_park.png', 'quality': 0}, + 'elevated peninsula 1': {'file': 'images/prerendered/elevated_peninsula_1.png', 'thumbnail': 'images/prerendered/th/elevated_peninsula_1.png', 'quality': 0}, + 'Firefly alien canyons 1': {'file': 'images/prerendered/Firefly_alien_canyons_1.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_canyons_1.png', 'quality': 2}, + 'Firefly alien canyons 2': {'file': 'images/prerendered/Firefly_alien_canyons_2.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_canyons_2.png', 'quality': 3}, + 'Firefly alien dry canyons 1': {'file': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_dry_canyons_1.png', 'quality': 3}, + 'Firefly alien dry canyons 2': {'file': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_dry_canyons_2.png', 'quality': 3}, + 'Firefly alien map 1': {'file': 'images/prerendered/Firefly_alien_map_1.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_map_1.png', 'quality': 3}, + 'Firefly hpg terrain 1': {'file': 'images/prerendered/Firefly_hpg_terrain_1.png', 'thumbnail': 'images/prerendered/th/Firefly_hpg_terrain_1.png', 'quality': 1}, + 'Firefly hpg terrain 2': {'file': 'images/prerendered/Firefly_hpg_terrain_2.png', 'thumbnail': 'images/prerendered/th/Firefly_hpg_terrain_2.png', 'quality': 0}, + 'Firefly river dry 1': {'file': 'images/prerendered/Firefly_river_dry_1.png', 'thumbnail': 'images/prerendered/th/Firefly_river_dry_1.png', 'quality': 3}, + 'Firefly river running 1': {'file': 'images/prerendered/Firefly_river_running_1.png', 'thumbnail': 'images/prerendered/th/Firefly_river_running_1.png', 'quality': 3}, + 'Firefly topographical alien desert 1': {'file': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_alien_desert_1.png', 'quality': 3}, + 'Firefly topographical canyon 1': {'file': 'images/prerendered/Firefly_topographical_canyon_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_canyon_1.png', 'quality': 3}, + 'Firefly topographical height map 1': {'file': 'images/prerendered/Firefly_topographical_height_map_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_1.png', 'quality': 3}, + 'Firefly topographical height map 2': {'file': 'images/prerendered/Firefly_topographical_height_map_2.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_2.png', 'quality': 3}, + 'Firefly topographical height map 3': {'file': 'images/prerendered/Firefly_topographical_height_map_3.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_3.png', 'quality': 3}, + 'Firefly topographical height map 5': {'file': 'images/prerendered/Firefly_topographical_height_map_5.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_5.png', 'quality': 3}, + 'Firefly topographical height map 6': {'file': 'images/prerendered/Firefly_topographical_height_map_6.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_6.png', 'quality': 3}, + 'Firefly topographical marble 1': {'file': 'images/prerendered/Firefly_topographical_marble_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_marble_1.png', 'quality': 3}, + 'Firefly topographical moon 1': {'file': 'images/prerendered/Firefly_topographical_moon_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_moon_1.png', 'quality': 3}, + 'fractal islands': {'file': 'images/prerendered/fractal_islands.png', 'thumbnail': 'images/prerendered/th/fractal_islands.png', 'quality': 1}, + 'Genison': {'file': 'images/prerendered/Genison.png', 'thumbnail': 'images/prerendered/th/Genison.png', 'quality': 1}, + 'green farming alien world 1': {'file': 'images/prerendered/green_farming_alien_world_1.png', 'thumbnail': 'images/prerendered/th/green_farming_alien_world_1.png', 'quality': 3}, + 'green farming alien world 2': {'file': 'images/prerendered/green_farming_alien_world_2.png', 'thumbnail': 'images/prerendered/th/green_farming_alien_world_2.png', 'quality': 3}, + 'grey barren alien world 1': {'file': 'images/prerendered/grey_barren_alien_world_1.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_1.png', 'quality': 3}, + 'grey barren alien world 2': {'file': 'images/prerendered/grey_barren_alien_world_2.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_2.png', 'quality': 3}, + 'grey barren alien world 3': {'file': 'images/prerendered/grey_barren_alien_world_3.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_3.png', 'quality': 3}, + 'grey barren alien world 4': {'file': 'images/prerendered/grey_barren_alien_world_4.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_4.png', 'quality': 3}, + 'grey barren alien world 5': {'file': 'images/prerendered/grey_barren_alien_world_5.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_5.png', 'quality': 3}, + 'grey barren alien world 6': {'file': 'images/prerendered/grey_barren_alien_world_6.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_6.png', 'quality': 3}, + 'grey barren alien world 7': {'file': 'images/prerendered/grey_barren_alien_world_7.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_7.png', 'quality': 3}, + 'grey waterless alien world map': {'file': 'images/prerendered/grey_waterless_alien_world_map.png', 'thumbnail': 'images/prerendered/th/grey_waterless_alien_world_map.png', 'quality': 3}, + 'grid 1': {'file': 'images/prerendered/grid_1.png', 'thumbnail': 'images/prerendered/th/grid_1.png', 'quality': 0}, + 'Hex gen map': {'file': 'images/prerendered/Hex_gen_map.PNG', 'thumbnail': 'images/prerendered/th/Hex_gen_map.PNG', 'quality': 0}, + 'hex grass dirty': {'file': 'images/prerendered/hex_grass_dirty.png', 'thumbnail': 'images/prerendered/th/hex_grass_dirty.png', 'quality': 0}, + 'hex military industrial alien world map': {'file': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'thumbnail': 'images/prerendered/th/hex_military_industrial_alien_world_map.png', 'quality': 3}, + 'hex mixed elevations battlefield 1': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'thumbnail': 'images/prerendered/th/hex_mixed_elevations_battlefield_1.png', 'quality': 0}, + 'hex mixed elevations battlefield 2': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'thumbnail': 'images/prerendered/th/hex_mixed_elevations_battlefield_2.png', 'quality': 0}, + 'hex tree territory': {'file': 'images/prerendered/hex_tree_territory.png', 'thumbnail': 'images/prerendered/th/hex_tree_territory.png', 'quality': 3}, + 'lake city': {'file': 'images/prerendered/lake_city.png', 'thumbnail': 'images/prerendered/th/lake_city.png', 'quality': 2}, + 'mickey lagoon': {'file': 'images/prerendered/mickey_lagoon.png', 'thumbnail': 'images/prerendered/th/mickey_lagoon.png', 'quality': 1}, + 'mixed elevations battlefield 3': {'file': 'images/prerendered/mixed_elevations_battlefield_3.png', 'thumbnail': 'images/prerendered/th/mixed_elevations_battlefield_3.png', 'quality': 0}, + 'n6W9Hc': {'file': 'images/prerendered/n6W9Hc.png', 'thumbnail': 'images/prerendered/th/n6W9Hc.png', 'quality': 1}, + 'oasis mixed elevations 1': {'file': 'images/prerendered/oasis_mixed_elevations_1.png', 'thumbnail': 'images/prerendered/th/oasis_mixed_elevations_1.png', 'quality': 0}, + 'pic526383': {'file': 'images/prerendered/pic526383.png', 'thumbnail': 'images/prerendered/th/pic526383.png', 'quality': 0}, + 'pinecone islands': {'file': 'images/prerendered/pinecone_islands.png', 'thumbnail': 'images/prerendered/th/pinecone_islands.png', 'quality': 1}, + 'purple pines': {'file': 'images/prerendered/purple_pines.png', 'thumbnail': 'images/prerendered/th/purple_pines.png', 'quality': 0}, + 'red volcanic alien 1': {'file': 'images/prerendered/red_volcanic_alien_1.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_1.png', 'quality': 3}, + 'red volcanic alien 2': {'file': 'images/prerendered/red_volcanic_alien_2.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_2.png', 'quality': 3}, + 'red volcanic alien 3': {'file': 'images/prerendered/red_volcanic_alien_3.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_3.png', 'quality': 3}, + 'red volcanic alien 4': {'file': 'images/prerendered/red_volcanic_alien_4.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_4.png', 'quality': 3}, + 'roadway 1': {'file': 'images/prerendered/roadway_1.png', 'thumbnail': 'images/prerendered/th/roadway_1.png', 'quality': 0}, + 'snowy lake': {'file': 'images/prerendered/snowy_lake.png', 'thumbnail': 'images/prerendered/th/snowy_lake.png', 'quality': 0}, + 'snowy rolling hills 1': {'file': 'images/prerendered/snowy_rolling_hills_1.png', 'thumbnail': 'images/prerendered/th/snowy_rolling_hills_1.png', 'quality': 0}, + 'volcanic alien world map': {'file': 'images/prerendered/volcanic_alien_world_map.png', 'thumbnail': 'images/prerendered/th/volcanic_alien_world_map.png', 'quality': 3}, + 'war torn post apocalyptic alien world map': {'file': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png', 'thumbnail': 'images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png', 'quality': 3}, +} + +pre_rendered_maps_paths = [ + map_file['file'].replace("\\", "/") + for key, map_file in sorted( + PRE_RENDERED_MAPS_JSON_LEVELS.items(), + key=lambda x: ( + x[1]['quality'], + ''.join(char.lower() for char in x[0] if char.isalnum()) + ) + ) +] +pre_rendered_maps_paths_api_file = [f"./gradio_api/file={map_path}" for map_path in pre_rendered_maps_paths] # Available FLUX model names MODELS = [ diff --git a/utils/image_utils.py b/utils/image_utils.py index 848f67f4a0cb44c266fd7f19360c366ccd1352e2..84d833a4a2011208c587274ddac306fa00a43fa4 100644 --- a/utils/image_utils.py +++ b/utils/image_utils.py @@ -6,7 +6,8 @@ import base64 import numpy as np #from decimal import ROUND_CEILING from PIL import Image, ImageChops, ImageDraw, ImageEnhance, ImageFilter, ImageDraw, ImageOps, ImageMath -from typing import List, Union +from typing import List, Union, is_typeddict +#import numpy as np #import math from pathlib import Path from utils.constants import default_lut_example_img, PRE_RENDERED_MAPS_JSON_LEVELS @@ -14,7 +15,18 @@ from utils.color_utils import ( detect_color_format, update_color_opacity ) -from utils.misc import (pause) +def get_image_from_dict(image_path): + if isinstance(image_path, dict) : + if 'image' in image_path: + image_path = image_path.get('image') + elif 'composite' in image_path: + image_path = image_path.get('composite') + else: + print("\n Unknown image dictionary.\n") + raise UserWarning("Unknown image dictionary.") + return image_path, True + else: + return image_path, False def open_image(image_path): """ @@ -30,8 +42,11 @@ def open_image(image_path): Raises: Exception: If there is an error opening the image. """ + if isinstance(image_path, Image.Image): + return image_path import requests try: + image_path, is_dict = get_image_from_dict(image_path) # Strip leading and trailing double quotation marks, if present image_path = image_path.strip('"') if image_path.startswith('http'): @@ -80,7 +95,7 @@ def build_prerendered_images(images_list): # Example usage # filtered_maps = get_maps_with_quality_less_than(3) # print(filtered_maps) -def build_prerendered_images_by_quality(limit): +def build_prerendered_images_by_quality(quality_limit,key='file'): """ Retrieve all file paths from PRE_RENDERED_MAPS_JSON_LEVELS where quality is less than the given limit. @@ -91,12 +106,13 @@ def build_prerendered_images_by_quality(limit): list: A list of file paths meeting the quality criteria. """ images_list = [ - map_info['file'] + map_info[key] for map_info in PRE_RENDERED_MAPS_JSON_LEVELS.values() - if map_info['quality'] < limit + if map_info['quality'] <= quality_limit ] return build_prerendered_images(images_list) + def build_encoded_images(images_list): """ Encodes a list of images to base64 strings. @@ -369,6 +385,7 @@ def alpha_composite_with_control(base_image, image_with_alpha, alpha_percent=100 Returns: PIL.Image.Image: The resulting image after alpha compositing. """ + image_with_alpha, isdict = get_image_from_dict(image_with_alpha) alpha_multiplier = alpha_percent / 100.0 if isinstance(base_image, str): base_image = open_image(base_image) @@ -621,7 +638,7 @@ def convert_jpg_to_rgba(input_path) -> tuple[Image, str]: # Check file extension first to skip unnecessary processing if input_path.suffix.lower() not in ('.jpg', '.jpeg'): print(f"Skipping conversion: {input_path} is not a JPG or JPEG file.") - return None, str(output_path) + return Image.open(input_path), str(output_path) print(f"Converting to PNG: {input_path} is a JPG or JPEG file.") @@ -665,6 +682,7 @@ def convert_to_rgba_png(file_path: str) -> tuple[Image, str]: raise UserWarning("No image provided.") return None, None try: + file_path, is_dict = get_image_from_dict(file_path) img = open_image(file_path) print(f"Opened image: {file_path}\n") # Handle ICO files @@ -704,4 +722,100 @@ def delete_image(file_path: str) -> None: except FileNotFoundError: print(f"File not found: {file_path}") except Exception as e: - print(f"Error deleting image: {e}") \ No newline at end of file + print(f"Error deleting image: {e}") + + +def resize_all_images_in_folder(target_width: int, output_folder: str = "resized", file_prefix: str = "resized_") -> tuple[int, int]: + """ + Resizes all images in the current folder to a specified width while maintaining aspect ratio. + Creates a new folder for the resized images. + + Parameters: + target_width (int): The desired width for all images + output_folder (str): Name of the folder to store resized images (default: "resized") + file_prefix (str): Prefix for resized files (default: "resized_") + + Returns: + tuple[int, int]: (number of successfully resized images, number of failed attempts) + + Example Usage: + successful_count, failed_count = resize_all_images_in_folder(target_width=800, output_folder="th", file_prefix="th_") + """ + # Supported image extensions + valid_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.gif', '.tiff') + # Create output folder if it doesn't exist + output_path = Path(output_folder) + output_path.mkdir(exist_ok=True) + successful = 0 + failed = 0 + # Get current directory + current_dir = Path.cwd() + # Iterate through all files in current directory + for file_path in current_dir.iterdir(): + if file_path.is_file() and file_path.suffix.lower() in valid_extensions: + try: + # Open the image + with Image.open(file_path) as img: + # Convert to RGB if needed (handles RGBA, CMYK, etc.) + if img.mode != 'RGB': + img = img.convert('RGB') + # Calculate target height maintaining aspect ratio + original_width, original_height = img.size + aspect_ratio = original_height / original_width + target_height = int(target_width * aspect_ratio) + # Resize using the reference function + resized_img = resize_image_with_aspect_ratio(img, target_width, target_height) + # Create output filename + output_filename = output_path / f"{file_prefix}{file_path.name}" + # Save the resized image + resized_img.save(output_filename, quality=95) + successful += 1 + print(f"Successfully resized: {file_path.name}") + except Exception as e: + failed += 1 + print(f"Failed to resize {file_path.name}: {str(e)}") + + print(f"\nResizing complete. Successfully processed: {successful}, Failed: {failed}") + return successful, failed + +def get_image_quality(file_path): + """Determine quality based on image width.""" + try: + with Image.open(file_path) as img: + width, _ = img.size + if width < 1025: + return 0 + elif width < 1537: + return 1 + elif width < 2680: + return 2 + else: # width >= 2680 + return 3 + except Exception as e: + print(f"Error opening {file_path}: {e}") + return 0 # Default to 0 if there's an error + +def update_quality(): + """Update quality for each file in PRE_RENDERED_MAPS_JSON_LEVELS.""" + possible_paths = ["./", "./images/prerendered/"] + for key, value in PRE_RENDERED_MAPS_JSON_LEVELS.items(): + file_path = value['file'] + found = False + # Check both possible locations + for base_path in possible_paths: + full_path = os.path.join(base_path, os.path.basename(file_path)) + if os.path.exists(full_path): + quality = get_image_quality(full_path) + PRE_RENDERED_MAPS_JSON_LEVELS[key]['quality'] = quality + print(f"Updated {key}: Quality set to {quality} (Width checked at {full_path})") + found = True + break + if not found: + print(f"Warning: File not found for {key} at any location. Keeping quality as {value['quality']}") + +def print_json(): + """Print the updated PRE_RENDERED_MAPS_JSON_LEVELS in a formatted way.""" + print("\nUpdated PRE_RENDERED_MAPS_JSON_LEVELS = {") + for key, value in PRE_RENDERED_MAPS_JSON_LEVELS.items(): + print(f" '{key}': {{'file': '{value['file']}', 'thumbnail': '{value['thumbnail']}', 'quality': {value['quality']}}},") + print("}") diff --git a/utils/lora_details.py b/utils/lora_details.py index 29395aff5772078917145a59203ddb7291744138..8d48dac81531e16fd0fc4826aa05a36cb775b81c 100644 --- a/utils/lora_details.py +++ b/utils/lora_details.py @@ -2,6 +2,42 @@ import gradio as gr from utils.constants import LORA_DETAILS +def upd_prompt_notes_by_index(lora_index): + """ + Updates the prompt_notes_label with the notes from LORAS based on index. + + Args: + lora_index (int): The index of the selected LoRA model. + + Returns: + gr.update: Updated Gradio label component with the notes. + """ + try: + if LORAS[lora_index]: + notes = LORAS[lora_index].get('notes', None) + if notes is None: + trigger_word = LORAS[lora_index].get('trigger_word', "") + trigger_position = LORAS[lora_index].get('trigger_position', "") + notes = f"{trigger_position} '{trigger_word}' in prompt" + except IndexError: + notes = "Enter Prompt description of your image, \nusing models without LoRa may take a 30 minutes." + return gr.update(value=notes) + +def get_trigger_words_by_index(lora_index): + """ + Retrieves the trigger words from LORAS for the specified index. + + Args: + lora_index (int): The index of the selected LoRA model. + + Returns: + str: The trigger words associated with the model, or an empty string if not found. + """ + try: + trigger_words = LORAS[lora_index].get('trigger_word', "") + except IndexError: + trigger_words = "" + return trigger_words def upd_prompt_notes(model_textbox_value): """ diff --git a/web-ui.bat b/web-ui.bat index 9e053f054c95df41d97301ce70e0ab9a435f9761..e13664385c513618d144d33e0643a0de5cdad7c1 100644 --- a/web-ui.bat +++ b/web-ui.bat @@ -1,5 +1,2 @@ -set NVIDIA_VISIBLE_DEVICES=0 -set CUDA_VISIBLE_DEVICES=0 -set CUDA_MODULE_LOADING=LAZY py -m app pause \ No newline at end of file