Beispiel #1
0
def test_movie_save(tmpdir, parallel, filename, gif_palette, framerate, gif_framerate, ffmpeg_options):
    print(gif_palette)
    # Need more tests for progress, verbose, overwriting
    path = tmpdir.join(filename)
    da = test_dataarray()
    if parallel:
        da = da.chunk({"time": 1})
    mov = Movie(da)
    mov.save(
        path.strpath,
        gif_palette=gif_palette,
        framerate=framerate,
        gif_framerate=gif_framerate,
        ffmpeg_options=ffmpeg_options,
        parallel=parallel,
    )

    assert path.exists()
    # I should also check if no other files were created. For later

    # Check relevant fps of output file
    if ".mp4" in filename:
        fps = cv2.VideoCapture(path.strpath).get(cv2.CAP_PROP_FPS)
        assert fps == framerate
    elif ".gif" in filename:
        fps = 1000 / Image.open(path.strpath).info["duration"]
        assert np.ceil(fps) == gif_framerate

    # Check overwriting
    print(path.exists())
    with pytest.raises(RuntimeError):
        mov.save(path.strpath, overwrite_existing=False)
Beispiel #2
0
def test_movie_save(tmpdir, filename, gif_palette):
    # Need more tests for progress, verbose, overwriting
    path = tmpdir.join(filename)
    da = test_dataarray()
    mov = Movie(da)
    mov.save(path.strpath, gif_palette=gif_palette)

    assert path.exists()
Beispiel #3
0
def test_movie_save_parallel_wrong_chunk(tmpdir):
    path = tmpdir.join("movie.mp4")
    da = test_dataarray().chunk({"time": 2})
    mov = Movie(da)
    with pytest.raises(ValueError) as excinfo:
        mov.save(
            path.strpath,
            parallel=True,
        )
    assert "Input data needs to be a with single chunks along" in str(excinfo.value)
Beispiel #4
0
def test_movie_save_parallel_no_dask(tmpdir):
    path = tmpdir.join("movie.mp4")
    da = test_dataarray()
    mov = Movie(da)
    with pytest.raises(ValueError) as excinfo:
        mov.save(
            path.strpath,
            parallel=True,
        )

    assert "Input data needs to be a dask array to save in parallel" in str(excinfo.value)