1
0
Fork 0

fix highres output size

This commit is contained in:
Sean Sube 2024-01-14 09:41:54 -06:00
parent 9d3a2d71cb
commit f7b171f198
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 19 additions and 7 deletions

View File

@ -67,11 +67,12 @@ def stage_highres(
strength=highres.strength,
)
# add highres parameters to the image metadata
# add highres parameters to the image metadata and clear upscale stage
chain.stage(
EditMetadataStage(),
stage.with_args(outscale=1, tile_size=SizeChart.max),
highres=highres,
upscale=UpscaleParams(upscale.upscale_model, upscale=False),
replace_params=params,
)

View File

@ -202,22 +202,20 @@ class ImageMetadata:
}
)
# calculate final output size
output_size = self.size
# add optional params
if self.border is not None:
json["border"] = self.border.tojson()
output_size = output_size.add_border(self.border)
if self.highres is not None:
json["highres"] = self.highres.tojson()
output_size = self.highres.resize(output_size)
if self.upscale is not None:
json["upscale"] = self.upscale.tojson()
output_size = self.upscale.resize(output_size)
json["size"] = output_size.tojson()
# calculate final output size
json["size"] = self.get_output_size().tojson()
# hash and add models and networks
if self.inversions is not None:
for name, weight in self.inversions:
model_hash = self.get_network_hash(server, name, "inversion")[1]
@ -241,6 +239,19 @@ class ImageMetadata:
return json
def get_output_size(self) -> Size:
output_size = self.size
if self.border is not None:
output_size = output_size.add_border(self.border)
if self.highres is not None:
output_size = self.highres.resize(output_size)
if self.upscale is not None:
output_size = self.upscale.resize(output_size)
return output_size
@staticmethod
def from_exif(input: str) -> "ImageMetadata":
lines = input.splitlines()