{
"info": {
"author": "Anton Smolin",
"author_email": "smolin.anton@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
],
"description": "ENIMDA\n======\n\nEntropy-based image border detection algorithm: finds out if your image has\nborders or whitespaces around and helps you to trim border providing whitespace\noffsets for every side of a picture, supports animated GIFs.\n\n|pypi| |travisci|\n\n.. |pypi| image:: https://badge.fury.io/py/enimda.svg\n :target: https://badge.fury.io/py/enimda\n :alt: pypi version\n.. |travisci| image:: https://travis-ci.org/embali/enimda.svg?branch=master\n :target: https://travis-ci.org/embali/enimda\n :alt: travis ci build status\n\nAlgorithm (simplified)\n----------------------\n\nFor each side of the image starting from top, rotating image counterclockwise\nto keep side of interest on top:\n\n* Get upper block 25% of image height\n* Get lower block with the same height as the upper one\n* Calculate entropy for both blocks and their difference\n* Make upper block 1px less\n* Repeat from p.2 until we hit image edge\n* Border is between blocks with entropy difference maximum\n\n.. image:: https://raw.githubusercontent.com/embali/enimda/master/algorithm.gif\n :alt: Sliding from center to edge - searching for maximum entropy difference\n :width: 300\n :height: 300\n\nRequirements\n------------\n\nPython 3.5+\n\nSetup\n-----\n\n.. code-block:: bash\n \n python-3.6 -m venv .env\n source .env/bin/activate\n pip install enimda\n\nUsage\n-----\n\nFind if image has borders:\n\n.. code-block:: python\n\n from enimda import ENIMDA\n\n\n # Load target image\n em = ENIMDA(fp='test.jpg')\n\n # Scan for borders with high precision\n borders = em.scan(fast=False)\n\n # Print found image borders (tuple): top, right, bottom, left\n print(borders)\n\nDemo\n----\n\nFor demo please refer to `ENIMDA Demo `_\n\nAlso it lives at `Picture Instruments `_ as 'Remove borders'\ninstrument\n\nTests\n-----\n\nRun tests: py.test\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/embali/enimda/",
"keywords": "image border whitespace detection algorithm enimda entropy",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "enimda",
"package_url": "https://pypi.org/project/enimda/",
"platform": "",
"project_url": "https://pypi.org/project/enimda/",
"project_urls": {
"Homepage": "https://github.com/embali/enimda/"
},
"release_url": "https://pypi.org/project/enimda/2.1.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Entropy-based image border detection algorithm library",
"version": "2.1.0"
},
"last_serial": 2898845,
"releases": {
"1.0.0b1": [
{
"comment_text": "",
"digests": {
"md5": "bdaa0561cd04711560e00309877b0423",
"sha256": "55a3892dd8ff0a27138fd0a0521b1584837cdd56a1bc9c7d57ec8cb86d7f7872"
},
"downloads": -1,
"filename": "enimda-1.0.0b1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bdaa0561cd04711560e00309877b0423",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4849,
"upload_time": "2016-06-19T19:00:54",
"url": "https://files.pythonhosted.org/packages/dc/cc/f4f7362ab37d8ba71800cf6b744fc00f2f3d843248c97b052669968038f4/enimda-1.0.0b1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "dbb459606ff2b33630de57f5d6ec20da",
"sha256": "32a6ca9bef59fd054a895ad9d22552cbf93b471ffb36aa28dab330937292e63d"
},
"downloads": -1,
"filename": "enimda-1.0.0b1.tar.gz",
"has_sig": false,
"md5_digest": "dbb459606ff2b33630de57f5d6ec20da",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3877,
"upload_time": "2016-06-19T19:00:58",
"url": "https://files.pythonhosted.org/packages/1a/ec/6248ef7d6e8992881908ae27ab6dd98739e67bf7008fb43317261a9e8451/enimda-1.0.0b1.tar.gz"
}
],
"1.0.0b2": [
{
"comment_text": "",
"digests": {
"md5": "4b36c303f88f9128f45ab70f4120882a",
"sha256": "09536b75d93c18b14e2f7ec5c41ea03be445f816339fa5d223b9a9e44b64cf18"
},
"downloads": -1,
"filename": "enimda-1.0.0b2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4b36c303f88f9128f45ab70f4120882a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5085,
"upload_time": "2016-06-19T19:27:11",
"url": "https://files.pythonhosted.org/packages/0d/b6/ed67b5e18aabd8c5a33d754bd6c77fd075435727e09ad9091f27c012d6aa/enimda-1.0.0b2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6e87a25ea055f239f869d362109b9f8e",
"sha256": "1f4bd7bbed948105d5ab0565921cbf1507e48808d8089259f82c979b9059ab25"
},
"downloads": -1,
"filename": "enimda-1.0.0b2.tar.gz",
"has_sig": false,
"md5_digest": "6e87a25ea055f239f869d362109b9f8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4039,
"upload_time": "2016-06-19T19:27:15",
"url": "https://files.pythonhosted.org/packages/82/6a/8aa11ab34da7b450445d7a3b3f58628ecb02d438298993c3a85758454287/enimda-1.0.0b2.tar.gz"
}
],
"1.0.0b3": [
{
"comment_text": "",
"digests": {
"md5": "c6cce320a9478ff7f09eae2cf13991bc",
"sha256": "5de81f4892e000d6fe44c16f9a656a3120711aac6e4c859c6db792144e3d1cd6"
},
"downloads": -1,
"filename": "enimda-1.0.0b3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c6cce320a9478ff7f09eae2cf13991bc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5086,
"upload_time": "2016-06-19T19:32:15",
"url": "https://files.pythonhosted.org/packages/33/55/dafacc0372b409870c246d5b0d61a9edf87ba6ea8f755d0957a33ef01491/enimda-1.0.0b3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c321f360fe5eb38710fb31a28bc2a323",
"sha256": "2aa93fd29038f994a976854b1e8c7d29cf4ab1acc498b0320c3f53a5ccfd0566"
},
"downloads": -1,
"filename": "enimda-1.0.0b3.tar.gz",
"has_sig": false,
"md5_digest": "c321f360fe5eb38710fb31a28bc2a323",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4038,
"upload_time": "2016-06-19T19:32:20",
"url": "https://files.pythonhosted.org/packages/ea/9d/246b9b6add14c6e327d44555aa910c11e83908674ba56a3565c6e7c4ed16/enimda-1.0.0b3.tar.gz"
}
],
"1.1.6": [
{
"comment_text": "",
"digests": {
"md5": "3149386c849712e7c6c5f7966672ef77",
"sha256": "4fb7fe00f02a709e12114bc43a33f18e97392786f9476695e92dae31bcb71dea"
},
"downloads": -1,
"filename": "enimda-1.1.6.tar.gz",
"has_sig": false,
"md5_digest": "3149386c849712e7c6c5f7966672ef77",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16411,
"upload_time": "2016-09-24T10:21:44",
"url": "https://files.pythonhosted.org/packages/9e/95/79c23d6a23814b38dd2d1e0484996614f968bdefcc455be953d8b65afdad/enimda-1.1.6.tar.gz"
}
],
"1.1.7": [
{
"comment_text": "",
"digests": {
"md5": "0a4288fa6c679a15786133bc9653a0d1",
"sha256": "113ced183a9436ee12de0188bcacc754710b185fec6de4d1ddc64ceb7a1ca1a9"
},
"downloads": -1,
"filename": "enimda-1.1.7.tar.gz",
"has_sig": false,
"md5_digest": "0a4288fa6c679a15786133bc9653a0d1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16423,
"upload_time": "2016-09-24T10:52:41",
"url": "https://files.pythonhosted.org/packages/0c/32/30d9cf8a05b509bfe442651a4861ac2476cafcd3cf0adadff077e830c2e5/enimda-1.1.7.tar.gz"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "312e6a16055fd741d9e98775652ba94d",
"sha256": "689ce3e332250fddf348faf88f4815b0e68b2d31c00a030ca8d932e772692284"
},
"downloads": -1,
"filename": "enimda-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "312e6a16055fd741d9e98775652ba94d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4302,
"upload_time": "2017-05-08T22:43:08",
"url": "https://files.pythonhosted.org/packages/56/15/e4088b8bbce9bd3b439d27fb599789976934ca9527982d00a38bc5c5cd30/enimda-2.0.0.tar.gz"
}
],
"2.1.0": [
{
"comment_text": "",
"digests": {
"md5": "447057756d4a5314e328f7499ff37585",
"sha256": "2f554111ad38f416d1697fb8cbb6fb3764512dab38f4d6d949b7670d7c0a158b"
},
"downloads": -1,
"filename": "enimda-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "447057756d4a5314e328f7499ff37585",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 6772,
"upload_time": "2017-05-25T19:40:11",
"url": "https://files.pythonhosted.org/packages/17/42/5673f9d93d8dc3215798d9ea6ec5eb745a3b7f52965d7675bf2d41bd2916/enimda-2.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "18753a9bbd2001e18679c88c21f9db55",
"sha256": "597b4c8267df47b925b76c28c0435ebb3095ea8f80a03231f651d8fff367902a"
},
"downloads": -1,
"filename": "enimda-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "18753a9bbd2001e18679c88c21f9db55",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4207,
"upload_time": "2017-05-25T19:40:00",
"url": "https://files.pythonhosted.org/packages/0a/ff/41707bef9f0f20f135dd6ff4ca281eab6820b0284ff1b12d009ed746d5e5/enimda-2.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "447057756d4a5314e328f7499ff37585",
"sha256": "2f554111ad38f416d1697fb8cbb6fb3764512dab38f4d6d949b7670d7c0a158b"
},
"downloads": -1,
"filename": "enimda-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "447057756d4a5314e328f7499ff37585",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 6772,
"upload_time": "2017-05-25T19:40:11",
"url": "https://files.pythonhosted.org/packages/17/42/5673f9d93d8dc3215798d9ea6ec5eb745a3b7f52965d7675bf2d41bd2916/enimda-2.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "18753a9bbd2001e18679c88c21f9db55",
"sha256": "597b4c8267df47b925b76c28c0435ebb3095ea8f80a03231f651d8fff367902a"
},
"downloads": -1,
"filename": "enimda-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "18753a9bbd2001e18679c88c21f9db55",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4207,
"upload_time": "2017-05-25T19:40:00",
"url": "https://files.pythonhosted.org/packages/0a/ff/41707bef9f0f20f135dd6ff4ca281eab6820b0284ff1b12d009ed746d5e5/enimda-2.1.0.tar.gz"
}
]
}