# Autogenerated via:
# python ~/code/watch/dev/maintain/mirror_package_geowatch.py


def __getattr__(key):
    import geowatch.tasks.rutgers_material_change_detection.utils.util_model as mirror
    return getattr(mirror, key)


def __dir__():
    import geowatch.tasks.rutgers_material_change_detection.utils.util_model as mirror
    return dir(mirror)


if __name__ == '__main__':
    # Test 1: Make sure that video patchifyzer is generate correct shapes.
    patchifyzer = VideoPatchifyzer(frame_size=(9, 9), patch_size=(3, 3))
    batch_size, n_frames, n_channels, height, width = 2, 5, 4, 9, 9
    test_video = torch.zeros([batch_size, n_frames, n_channels, height, width])
    target_size = torch.Size([2, 5, 4, 9, 3, 3])
    test_patch_video = patchifyzer(test_video)
    output_shape = test_patch_video.shape
    assert output_shape == target_size, f"Output patch video is shape {output_shape} but should be {target_size}"
