aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-07-08 11:14:12 +0000
committerGitHub <noreply@github.com>2023-07-08 11:14:12 +0000
commitae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e (patch)
tree85748946f3b2440dd917694e009c383875c60f0a /modules
parent9be8903ca92f5e6fc29cb8b14fc837b50de19f2f (diff)
parent5c6a33b3e11f5aa7b2fc56753c5a724e1351ce81 (diff)
downloadstable-diffusion-webui-gfx803-ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e.tar.gz
stable-diffusion-webui-gfx803-ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e.tar.bz2
stable-diffusion-webui-gfx803-ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e.zip
Merge pull request #11596 from akx/use-read-info
postprocessing: use read_info_from_image
Diffstat (limited to 'modules')
-rw-r--r--modules/images.py17
-rw-r--r--modules/postprocessing.py4
2 files changed, 15 insertions, 6 deletions
diff --git a/modules/images.py b/modules/images.py
index cdfa6719..fdccec09 100644
--- a/modules/images.py
+++ b/modules/images.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
import datetime
import pytz
@@ -678,8 +680,15 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
return fullfn, txt_fullfn
-def read_info_from_image(image):
- items = image.info or {}
+IGNORED_INFO_KEYS = {
+ 'jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif',
+ 'loop', 'background', 'timestamp', 'duration', 'progressive', 'progression',
+ 'icc_profile', 'chromaticity', 'photoshop',
+}
+
+
+def read_info_from_image(image: Image.Image) -> tuple[str | None, dict]:
+ items = (image.info or {}).copy()
geninfo = items.pop('parameters', None)
@@ -695,9 +704,7 @@ def read_info_from_image(image):
items['exif comment'] = exif_comment
geninfo = exif_comment
- for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif',
- 'loop', 'background', 'timestamp', 'duration', 'progressive', 'progression',
- 'icc_profile', 'chromaticity']:
+ for field in IGNORED_INFO_KEYS:
items.pop(field, None)
if items.get("Software", None) == "NovelAI":
diff --git a/modules/postprocessing.py b/modules/postprocessing.py
index 736315e2..38544c38 100644
--- a/modules/postprocessing.py
+++ b/modules/postprocessing.py
@@ -54,7 +54,9 @@ def run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir,
for image, name in zip(image_data, image_names):
shared.state.textinfo = name
- existing_pnginfo = image.info or {}
+ parameters, existing_pnginfo = images.read_info_from_image(image)
+ if parameters:
+ existing_pnginfo["parameters"] = parameters
pp = scripts_postprocessing.PostprocessedImage(image.convert("RGB"))