from typing import List, Dict from .Region import Region class ImageMetadata: def __init__(self, filename: str, size: int, regions: List[Dict]): self.filename = filename self.size = size self.regions = [Region(region.get("shape_attributes", {}), region.get("region_attributes", {})) for region in regions] def to_dict(self): return { "filename": self.filename, "size": self.size, "regions": [region.to_dict() for region in self.regions] # Convert Region objects to dictionaries } def __repr__(self): return f"ImageMetadata(Filename={self.filename}, Size={self.size}, Regions={self.regions})"