SplatAtlas / scripts /prepare_submit.py
KCBtheone's picture
Upload SplatAtlas benchmark pipeline code
23e73f9 verified
Raw
History Blame Contribute Delete
1.51 kB
import os
import zipfile
import argparse
import json
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("--method", type=str, required=True)
parser.add_argument("--output_dir", type=str, default="outputs")
parser.add_argument("--zip_name", type=str, default=None)
return parser.parse_args()
def main():
args = parse_args()
zip_name = args.zip_name if args.zip_name else f"submission_{args.method}.zip"
target_dirs = [d for d in os.listdir(args.output_dir) if d.startswith(f"{args.method}_")]
if not target_dirs:
print(f"Error: No outputs found for method {args.method}")
return
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf:
for d in target_dirs:
base_path = os.path.join(args.output_dir, d)
metrics_path = os.path.join(base_path, "metrics.json")
if os.path.exists(metrics_path):
zipf.write(metrics_path, arcname=os.path.join(d, "metrics.json"))
renders_path = os.path.join(base_path, "renders")
if os.path.exists(renders_path):
for img in os.listdir(renders_path):
if img.endswith(".png"):
img_path = os.path.join(renders_path, img)
zipf.write(img_path, arcname=os.path.join(d, "renders", img))
print(f"Submission package generated: {zip_name}")
if __name__ == "__main__":
main()