Skip to content

Releases: MrinalJain17/mydia

Mydia 2.2

30 Oct 22:02
Compare
Choose a tag to compare

Release 2.2.1

Minor release with internal updates

  • Nothing new.
  • Primarily all the commits and updates to the package after v2.2.0 are attributed to code refactoring, documentation fixes and automation of tests and builds on Travis-ci.

Mydia 2.2

14 Oct 22:47
e19877d
Compare
Choose a tag to compare

Release 2.2.0

Major features and Improvements

  • Support for multiprocessing: Using multiple workers for reading the videos. Resolves #10
    • This is demonstrated in the following example in the docs.
    • By using multiple workers, the process of reading the videos could be significantly sped-up. The results of some tests conducted internally can be viewed here
  • New function make_grid(): Returns a grid of frames (numpy array). This is a replacement for the old plot() function. The new approach is faster and more intuitive. See the docs of make_grid() for more details.

Breaking changes

  • plot() has been entirely removed, use make_grid() instead.

Bug fixes

  • The use of random_state has been fixed, and it now guarantees reproducibility of results (even if using multiple workers)
    • Due to this fix, the custom frame selectors will now receive an additional parameter random_state.
  • If ffmpeg produces an error while reading the videos, it will now be displayed via stdout.

Mydia 2.1

27 Sep 19:14
Compare
Choose a tag to compare

Release 2.1.1

Minor release

  • Support for disabling the progress bar has been added.
    • You can now pass verbose=0 to the function Videos.read() and it will disable the progress bar.

Apart from this, no new feature is added.

Mydia 2.1

25 Sep 18:48
Compare
Choose a tag to compare

Release 2.1.0

Major features and improvements

  • Normalization of videos is implemented. Now, each video is shifted to the range (0, 1) by subtracting the minimum and dividing by the difference between the maximum and minimum pixel values. Resolves ( #8 )
  • Refactored documentation
    • Also, added certain warnings and notes.

Breaking changes

  • Some precautions have been taken for supporting custom frame selection

    • The number of frames to be selected returned by the custom function is checked against the passed num_frames value. If they are not equal, an error is raised (This could prevent situations where the callable returned a different number of frames for different videos)
    • In the previous versions, the value of num_frames was ignored if a custom callable was passed.

    It is because of this change that the version was bumped from 2.0 to 2.1

Mydia 2.0

21 Sep 01:34
Compare
Choose a tag to compare

Release 2.0.1 (Minor)

No new features or changes in this release

  • This release is attributed mainly to documentation updates and fixes.

In further updates, examples will be added directly to the documentation.

Mydia 2.0

19 Sep 22:37
7530078
Compare
Choose a tag to compare

Release 2.0.0

Major Features and Improvements

  • Scikit-video has been dropped as the backend for mydia. ( #13 )

    • ffmpeg-python will now be used as the backend providing bindings between python and ffmpeg
  • Support for Custom Frame Selection ( #6 )

    • The mode can now take a callable, that should return the indices of the frames to be selected from the video. For example -

      from mydia import Videos
      
      def custom(total_frames, num_frames, fps):
          # Selecting the frames at even indexes
          return list(range(0, total_frames, 2))
      
      reader = Videos(target_size=(480, 360), to_gray=False, num_frames=36, mode=custom)
    • Detailed explaination and examples will be demonstrated in the documentation

Breaking Changes

  • There is no "manual" mode for frame selection now. The parameter required_fps has been removed as the requirement of such a feature did not seem much useful and was complicating the code unnecessarily.

    • With this change, the parameter extract_position had no such explicit use, and therefore its functionality has been merged with mode. That is -
      • extract_position has been removed
      • mode now supports "first", "last" and "middle" along with "auto" and "random"
    • These modifications have significantly reduced the complexity of the code base. Also, any such requirement for frame extraction can now be fulfilled by using custom callables to mode
  • plot() is not a part of the class Videos anymore

    • Videos is now exclusively for reading the videos, and plot() is available as a standalone function in mydia.py
    • The change inflicted by this is that plot will take as argument only a video and the option of passing the path of the video has now been removed. Everything else, however, is expected to work in the same way as before.

    Earlier

    from mydia import Videos
    reader = Videos()
    video = reader.read("/path/to/video")
    reader.plot(video[0])

    Now

    from mydia import Videos, plot
    reader = Videos()
    video = reader.read("/path/to/video")
    plot(video[0])

Bug Fixes and Other Changes

  • "random" mode for frame selection would have repeated certain frames due to a bug in the previous releases' logic. (Fixed)
  • Frame resizing earlier used ANTIALIAS filter via Pillow. Now, the default filter of ffmpeg - BICUBIC - is used for resizing.
    • In most situations, it is comparatively faster

A comparison, between version 1.0 and 2.0 could be released, but initial tests show that the speed of reading videos have increase by as much as 6x

Minor release bump - no new features or changes

17 Aug 20:21
Compare
Choose a tag to compare
  • Refactored the code.
  • Minor changes in documentation structure.
  • Docs now migrated to gh-pages cdaba2b

Added features and modified documentation

29 Jul 14:38
Compare
Choose a tag to compare
  • Added support for theano-like tensors, in addition to the default tensorflow-like tensors #5
  • Migrated documentation to sphinx
  • Improved the documentation
    • Better examples
    • Cleaner docs

Fixed home page on PyPI

17 Apr 07:55
Compare
Choose a tag to compare
v1.0.3

Minor changes for proper home page on PyPI

Minor changes

14 Apr 15:46
Compare
Choose a tag to compare

Making description available on PyPI