Metadata-Version: 2.0
Name: videoslicer
Version: 1.0.0rc1
Summary: Toolbox to slice videos along arbitrary dimensions
Home-page: http://videoslicer.readthedocs.io/
Author: Bas Hoonhout
Author-email: bas.hoonhout@deltares.nl
License: MIT
Keywords: video slice timestacks crs deltares tudelft
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=2.7, <4
Requires-Dist: docopt
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: six

VideoSlicer
===========

This package provides a `VideoSlicer` object that allows you to access
a video file as if it is a matrix. You can create `VideoView` objects
from a `VideoSlicer` object that target specific parts of a video file
using native Python slicing and indexing mechanisms. The `VideoView`
objects can be used to iterate over the frames in arbitrary
dimensions, resulting in `VideoFrame` or `VideoFrameCRS` objects. Both
objects provide a convenient interface to transport, resize, save and
reference frames from the original video file.

As slicing, indexing and iterating is supported in arbitrary
dimensions, the `VideoSlicer` object can be used to quickly extract
timestacks as well as ordinary frames in physical meaningful
coordinates.

Examples
--------

.. code-block:: python

   slicer = VideoSlicer('movie.avi')
   view = slicer[:10,::10,::10]
   for frame in view:
       frame.save('frame{:06d}.jpg'.format(frame.index))

.. code-block:: python

   slicer = VideoSlicer('movie.avi')
   frame = slicer[10,...]
   frame.save('frame.jpg')
   frame.plot()

.. code-block:: python

   slicer = VideoSlicer('movie.avi', axis=2) # loop over horizontal dimension
   for frame in slicer[:,:,::10]:
       frame.T.save('timestack{:06d}.jpg'.format(frame.index)) # transpose to have time on the horizontal axis


