| 123456789101112131415161718192021222324252627282930313233 |
- from __future__ import annotations
- import argparse
- import sys
- from pathlib import Path
- ROOT_DIR = Path(__file__).resolve().parents[3]
- if str(ROOT_DIR) not in sys.path:
- sys.path.insert(0, str(ROOT_DIR))
- from lib.data import build_ddti_mask, parse_ddti_xml
- def main() -> None:
- parser = argparse.ArgumentParser(description="Inspect DDTI xml to mask conversion.")
- parser.add_argument("--image", required=True, help="Path to DDTI image")
- parser.add_argument("--xml", required=True, help="Path to DDTI xml")
- parser.add_argument("--save", default=None, help="Optional output path for generated mask")
- args = parser.parse_args()
- polygons = parse_ddti_xml(args.xml)
- print("available image indices:", sorted(polygons.keys()))
- mask = build_ddti_mask(args.image, args.xml)
- print("mask_size:", mask.size, "bbox:", mask.getbbox())
- if args.save:
- save_path = Path(args.save)
- save_path.parent.mkdir(parents=True, exist_ok=True)
- mask.save(save_path)
- print("saved:", save_path)
- if __name__ == "__main__":
- main()
|