https://github.com/jhuangBU/gsdeformer-code
Tip revision: 2eb7f6d3bf60cacd4f3969a9d68949cb3a34da95 authored by jhuangBU on 10 May 2026, 11:43:06 UTC
doc: revise README
doc: revise README
Tip revision: 2eb7f6d
compile_qual_highlight_interpolate.py
from pathlib import Path
from PIL import Image
SRC_DIR = Path(__file__).parent / "exp-qual-highlight-interpolate"
OUT_PATH = "stacked.png"
ROWS = [
[
"nerf_lego_000_0_all_src.png",
"nerf_lego_001_0_all_dst.png",
"nerf_lego_002_0_all_dst.png",
"nerf_lego_003_0_all_dst.png",
"nerf_lego_004_0_all_dst.png",
],
[
"nerf_lego_000_0_all_og.png",
"nerf_lego_001_0_all_deformed.png",
"nerf_lego_002_0_all_deformed.png",
"nerf_lego_003_0_all_deformed.png",
"nerf_lego_004_0_all_deformed.png",
],
]
def main() -> None:
rows = [[Image.open(SRC_DIR / name) for name in row] for row in ROWS]
w, h = rows[0][0].size
for row in rows:
for im in row:
assert im.size == (w, h), f"size mismatch: {im.filename} {im.size} vs {(w, h)}"
cols = len(rows[0])
out = Image.new(rows[0][0].mode, (w * cols, h * len(rows)))
for y, row in enumerate(rows):
for x, im in enumerate(row):
out.paste(im, (x * w, y * h))
out.save(OUT_PATH)
print(f"wrote {OUT_PATH} ({out.size[0]}x{out.size[1]})")
if __name__ == "__main__":
main()
