{ "info": { "author": "Werner Robitza", "author_email": "werner.robitza@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Multimedia :: Video" ], "description": "SITI: Spatial Information / Temporal Information\n================================================\n\n|PyPI version|\n\nA command-line-based tool to calculate spatial information (SI) and\ntemporal information (TI) according to ITU-T P.910.\n\nThe command outputs SI and TI information to stdout, in JSON format, or\nalternatively as CSV.\n\nAuthor: Werner Robitza\n\n**Important Note / Breaking Changes:**\n\n- Version 0.x produces incorrect values due to wrong reading of the\n data using PyAV. Version 1.x and above produces correct values in the\n sense of corresponding to `this\n implementation `__.\n As there are no test vectors for SI / TI implementations, and filter\n calculations differ depending on how you implement them, the values\n obtained with this tool may not be comparable with output from other\n tools.\n- Version 1.x now outputs the same number of values for SI and TI,\n inserting a null value for the first frame\u2019s TI. Also, the output\n format has been changed.\n\nContents:\n\n- `Requirements <#requirements>`__\n- `Installation <#installation>`__\n- `Usage <#usage>`__\n- `Background <#background>`__\n- `License <#license>`__\n\nRequirements\n------------\n\n- Python 3\n- FFmpeg libraries (to run ``pyav``)\n\nUnder Ubuntu, to get ffmpeg libraries:\n\n::\n\n sudo apt install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libswscale-dev libavresample-dev\n\nInstallation\n------------\n\nRun:\n\n::\n\n pip3 install --user siti\n\nAlternatively, clone this repository and then:\n\n::\n\n pip3 install --user .\n\nUsage\n-----\n\n::\n\n usage: siti [-h] [-of {json,csv}] [-q] [-n NUM_FRAMES] input\n\n positional arguments:\n input input file\n\n optional arguments:\n -h, --help show this help message and exit\n -of {json,csv}, --output-format {json,csv}\n output format\n -q, --quiet do not show progress bar\n -n NUM_FRAMES, --num-frames NUM_FRAMES\n number of frames to calculate\n\nBackground\n----------\n\nThe following info is given about SI / TI in ITU-T Recommendation P.910\n(\u201cSubjective video quality assessment methods for multimedia\napplications\u201d):\n\nSpatial Information\n~~~~~~~~~~~~~~~~~~~\n\n The spatial perceptual information (SI) is based on the Sobel filter.\n Each video frame (luminance plane) at time n (Fn) is first filtered\n with the Sobel filter [Sobel(Fn)]. The standard deviation over the\n pixels (stdspace) in each Sobel-filtered frame is then computed. This\n operation is repeated for each frame in the video sequence and\n results in a time series of spatial information of the scene. The\n maximum value in the time series (maxtime) is chosen to represent the\n spatial information content of the scene. This process can be\n represented in equation form as:\n\n..\n\n |image1|\n\nTemporal information\n~~~~~~~~~~~~~~~~~~~~\n\n The temporal perceptual information (TI) is based upon the motion\n difference feature, Mn(i, j), which is the difference between the\n pixel values (of the luminance plane) at the same location in space\n but at successive times or frames. Mn(i, j) as a function of time (n)\n is defined as:\n\n..\n\n |image2|\n\n here Fn(i, j) is the pixel at the ith row and jth column of nth frame\n in time. The measure of temporal information (TI) is computed as the\n maximum over time (maxtime) of the standard deviation over space\n (stdspace) of Mn(i, j) over all i and j.\n\n..\n\n More motion in adjacent frames will result in higher values of TI\n\nLicense\n-------\n\nsiti, Copyright (c) 2017-2019 Werner Robitza\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\u201cSoftware\u201d), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n.. |PyPI version| image:: https://badge.fury.io/py/siti.svg\n :target: https://badge.fury.io/py/siti\n.. |image1| image:: http://i.imgur.com/zRXcVJO.png\n.. |image2| image:: http://i.imgur.com/MRsJtdT.png\n\n\n\nHistory\n=======\n\nv0.5 (2019-04-10)\n=================\n\n- Fix error when invoking np print settings\n\nv0.4 (2019-01-04)\n=================\n\n- Fix README\n\nv0.3 (2018-06-12)\n=================\n\n- Fix error with containers that declare no frame numbers\n\nv0.2 (2018-04-12)\n=================\n\n- Set magnitude-based approach as default\n\nv0.1 (2017-10-24)\n=================\n\n- Initial release\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/slhck/siti", "keywords": "video,spatial information,temporal information", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "siti", "package_url": "https://pypi.org/project/siti/", "platform": "", "project_url": "https://pypi.org/project/siti/", "project_urls": { "Homepage": "https://github.com/slhck/siti" }, "release_url": "https://pypi.org/project/siti/1.0.4/", "requires_dist": [ "scipy", "numpy", "av", "tqdm" ], "requires_python": "", "summary": "Calculate Spatial Information / Temporal Information according to ITU-T P.910", "version": "1.0.4" }, "last_serial": 5406783, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "5572d96441357905d76734feaee5f159", "sha256": "bbf47760b3f8fc74b4ed04f049a15ca61a36d5124785ffd85b0512989f1b18e1" }, "downloads": -1, "filename": "siti-0.3.tar.gz", "has_sig": false, "md5_digest": "5572d96441357905d76734feaee5f159", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6709, "upload_time": "2018-06-12T11:47:10", "url": "https://files.pythonhosted.org/packages/9f/7b/80a1693260bb7ace09c0e755ae943e9feaa3702eabae3ae1b9119ad2c890/siti-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "3a1f12de265719411d9421ad2f32f626", "sha256": "492227edbd23aab31600173a8191693788b13b8b85452efb14c939a056511630" }, "downloads": -1, "filename": "siti-0.4.tar.gz", "has_sig": false, "md5_digest": "3a1f12de265719411d9421ad2f32f626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6830, "upload_time": "2019-01-04T13:57:17", "url": "https://files.pythonhosted.org/packages/33/04/eed79037f12e087497ffda98775a61d764d9e7d10247a66f5ec4dfa14b52/siti-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "c412ecfa8232770b332d4fd05aa61f3a", "sha256": "324bbd9b937bd372df8065b59a723c121653c728224d3abe52f78e91da5142b1" }, "downloads": -1, "filename": "siti-0.5.tar.gz", "has_sig": false, "md5_digest": "c412ecfa8232770b332d4fd05aa61f3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6822, "upload_time": "2019-04-10T14:48:34", "url": "https://files.pythonhosted.org/packages/3d/49/ca70df79db8ab31f405d72536479dd9949ea6c4b0f735570f85061b216cf/siti-0.5.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "c96bf0980502aaec6509615c5cef269d", "sha256": "515086f5bee486db2229d46d147cd789638b0e04695a0d831bc7d891fc068b84" }, "downloads": -1, "filename": "siti-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c96bf0980502aaec6509615c5cef269d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7179, "upload_time": "2019-05-17T08:04:20", "url": "https://files.pythonhosted.org/packages/48/95/a148ac413c1f405a3fa1a8e04b43304bdf0047d7754b34c2e255e8abd76a/siti-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "19157ab2c2a4abfb2f0f92df464b5ada", "sha256": "49c4ef5ca999784f1bd5510c57d3a40aa792b0a16a0dda655bafe552f6b7819a" }, "downloads": -1, "filename": "siti-1.0.1.tar.gz", "has_sig": false, "md5_digest": "19157ab2c2a4abfb2f0f92df464b5ada", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7140, "upload_time": "2019-05-17T08:16:38", "url": "https://files.pythonhosted.org/packages/4a/8f/33c1b8227ac08b532cc93e24e95b60e68741387b528d6ba279753675f9ac/siti-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "957131bccba4c02d45261973de911300", "sha256": "5992d0a31cdee314706acb55a81cee50f20a93ab5acab313a6348c0f38fab321" }, "downloads": -1, "filename": "siti-1.0.2.tar.gz", "has_sig": false, "md5_digest": "957131bccba4c02d45261973de911300", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14731, "upload_time": "2019-05-18T16:20:15", "url": "https://files.pythonhosted.org/packages/50/85/33747b0ca34e4587556239c3715558595c531528b272508b78eb9d7e7844/siti-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "5ba09b80f4e470e96b1eb58b8ed29445", "sha256": "9a198369d09183a0a1135b6fde72830365e8734547359aff974ad479050d1054" }, "downloads": -1, "filename": "siti-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5ba09b80f4e470e96b1eb58b8ed29445", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6705, "upload_time": "2019-06-16T15:19:03", "url": "https://files.pythonhosted.org/packages/a8/30/bae36ab4cd622e5671efd26d0a3f45081490ef332f5f6ba0a6912656d310/siti-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "711ea2cbe5c2ef909eb1af058836752a", "sha256": "aa80768de16d8dabd471c952f1659d57b56f16d9622fb40af7ac2ece076b7cbf" }, "downloads": -1, "filename": "siti-1.0.3.tar.gz", "has_sig": false, "md5_digest": "711ea2cbe5c2ef909eb1af058836752a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14738, "upload_time": "2019-06-16T15:19:11", "url": "https://files.pythonhosted.org/packages/65/1a/1bbb81fa71b1393ddc12dd06e55b2fc1603fba5a8e9a40857e7654c52705/siti-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "a6b7687b7ed4c69f22814fa8081cd063", "sha256": "f80b3d6ff85b88c80da42be2bd72cd20988738dc850e582324d1b6a9e367f63c" }, "downloads": -1, "filename": "siti-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a6b7687b7ed4c69f22814fa8081cd063", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6644, "upload_time": "2019-06-16T15:19:37", "url": "https://files.pythonhosted.org/packages/0c/4a/eeea830a34652be393b363da539f73784c8be2e91202bc7a43c084075445/siti-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eec94b08904c7059a82429ac9d0c2562", "sha256": "e60ea9157067a023796b9e204c11d42d8a8138d164cc3ee2de0f2d0248d63cc4" }, "downloads": -1, "filename": "siti-1.0.4.tar.gz", "has_sig": false, "md5_digest": "eec94b08904c7059a82429ac9d0c2562", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14613, "upload_time": "2019-06-16T15:19:45", "url": "https://files.pythonhosted.org/packages/c1/e7/3a780182cfcd5d64a1e90c68041b48588b76e1f95736630ad0a616de7eaa/siti-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6b7687b7ed4c69f22814fa8081cd063", "sha256": "f80b3d6ff85b88c80da42be2bd72cd20988738dc850e582324d1b6a9e367f63c" }, "downloads": -1, "filename": "siti-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a6b7687b7ed4c69f22814fa8081cd063", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6644, "upload_time": "2019-06-16T15:19:37", "url": "https://files.pythonhosted.org/packages/0c/4a/eeea830a34652be393b363da539f73784c8be2e91202bc7a43c084075445/siti-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eec94b08904c7059a82429ac9d0c2562", "sha256": "e60ea9157067a023796b9e204c11d42d8a8138d164cc3ee2de0f2d0248d63cc4" }, "downloads": -1, "filename": "siti-1.0.4.tar.gz", "has_sig": false, "md5_digest": "eec94b08904c7059a82429ac9d0c2562", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14613, "upload_time": "2019-06-16T15:19:45", "url": "https://files.pythonhosted.org/packages/c1/e7/3a780182cfcd5d64a1e90c68041b48588b76e1f95736630ad0a616de7eaa/siti-1.0.4.tar.gz" } ] }