def make_image_info(itm: PhysicalItem, base_url: str) -> dict:
    """Create info.json data structures for all physical items."""
    sizes = [(f.width, f.height) for f in itm.files
             if f.width is not None and f.height is not None]
    max_width, max_height = max(sizes)
    return {
        '@context': 'http://iiif.io/api/image/2/context.json',
        '@id': f'{base_url}/iiif/image/{itm.image_ident}',
        'protocol': 'http://iiif.io/api/image',
        'profile': ['http://iiif.io/api/image/2/level0.json'],
        'width': max_width,
        'height': max_height,
        'sizes': [{'width': w, 'height': h} for w, h in sorted(sizes)]}