{ "info": { "author": "Arve Seljebu", "author_email": "arve.seljebu@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "leicaexperiment\n===============\n\n|build-status-image| |pypi-version| |wheel|\n\nOverview\n--------\n\nThis is a python module for interfacing with *Leica LAS AF/X Matrix\nScreener* experiments.\n\nThe module can be used to:\n\n- stitch wells from an experiment exported with the *LAS AF Data\n Exporter*\n- batch compress images lossless\n- programmatically select slides/wells/fields/images given by\n attributes like\n\n - slide (S)\n - well position (U, V)\n - field position (X, Y)\n - z-stack position (Z)\n - channel (C)\n\nFeatures\n--------\n\n- Access experiment as a python object\n- Compress to PNGs without loosing precision, metadata or colormap\n- ImageJ stitching (Fiji is installed via\n `fijibin `__)\n\nInstallation\n------------\n\nInstall using ``pip``...\n\n.. code:: bash\n\n pip install leicaexperiment\n\nExamples\n--------\n\nstitch experiment\n^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n from leicaexperiment import Experiment\n\n # path should contain AditionalData and slide--S*\n experiment = Experiment('path/to/experiment')\n\n # if path is omitted, experiment path is used for output files\n stitched_images = experiment.stitch('/path/to/output/files/')\n\n # get information about placement of images in the stitch\n xs, ys, attrs = experiment.stitch_coordinates(well_x=0, well_y=0)\n\nstitch specific well\n^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n from leicaexperiment import stitch\n\n stitched_images = stitch('/path/to/well')\n\ndo stuff on all images\n^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n from leicaexperiment import Experiment\n\n experiment = Experiment('path/to/experiment--')\n\n for image in experiment.images:\n do stuff...\n\ndo stuff on specific wells/fields\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n from leicaexperiment import Experiment\n from PIL import Image\n\n experiment = Experiment('path/to/experiment--')\n\n # on images in well --U00--V00\n for well in experiment.well_images(0, 0):\n do stuff...\n\n # rotate top left image in first row\n rows = experiment.well_rows\n for r in rows:\n img_path = experiment.image(r, 0, 0, 0)\n img = Image.open(img_path)\n img = img.rotate(90)\n img.save(img_path)\n\nsubtract attributes from file names\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n from leicaexperiment import attribute\n\n # get all channels\n channels = [attribute(image, 'C') for image in experiment.images]\n min_ch, max_ch = min(channels), max(channels)\n\nbatch lossless compress of experiment\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n from leicaexperiment import Experiment\n\n e = Experiment('/path/to/experiment')\n pngs = e.compress()\n print(pngs)\n\nAPI reference\n-------------\n\nAPI reference is at http://leicaexperiment.rtfd.org.\n\nDevelopment\n-----------\n\nInstall dependencies and link development version of leicaexperiment to\npip:\n\n.. code:: bash\n\n git clone https://github.com/arve0/leicaexperiment\n cd leicaexperiment\n pip install -r requirements.txt\n\nrun test\n^^^^^^^^\n\n.. code:: bash\n\n pip install tox\n tox\n\nextra output, jump into pdb upon error\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: bash\n\n DEBUG=leicaexperiment tox -- --pdb -s\n\nbuild api reference\n^^^^^^^^^^^^^^^^^^^\n\n.. code:: bash\n\n pip install -r docs/requirements.txt\n make docs\n\n.. |build-status-image| image:: https://secure.travis-ci.org/arve0/leicaexperiment.png?branch=master\n :target: http://travis-ci.org/arve0/leicaexperiment?branch=master\n.. |pypi-version| image:: https://pypip.in/version/leicaexperiment/badge.svg\n :target: https://pypi.python.org/pypi/leicaexperiment\n.. |wheel| image:: https://pypip.in/wheel/leicaexperiment/badge.svg\n :target: https://pypi.python.org/pypi/leicaexperiment", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/arve0/leicaexperiment", "keywords": "leicaexperiment", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "leicaexperiment", "package_url": "https://pypi.org/project/leicaexperiment/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/leicaexperiment/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/arve0/leicaexperiment" }, "release_url": "https://pypi.org/project/leicaexperiment/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Read, stitch and compress Leica LAS Matrix Screener experiments", "version": "0.2.0" }, "last_serial": 1532098, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a43486aec75f817d16dc35e9455eb2be", "sha256": "30209e54978874f808350c5d63b197fd9ce70e16b9f2b42a8f503c03bf7b1eb1" }, "downloads": -1, "filename": "leicaexperiment-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a43486aec75f817d16dc35e9455eb2be", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 10656, "upload_time": "2015-03-10T16:11:24", "url": "https://files.pythonhosted.org/packages/71/63/062a665e6eb7099861bfb8149e172df065515841d30f86e0ebaa3655307a/leicaexperiment-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d74127e38eaeb33700d341cc1438608a", "sha256": "d96e5ca25919428d67b9f95f9bc92c172479c27a3e027b60c2871948f7046dd4" }, "downloads": -1, "filename": "leicaexperiment-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d74127e38eaeb33700d341cc1438608a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9174, "upload_time": "2015-03-10T16:11:21", "url": "https://files.pythonhosted.org/packages/d9/d7/3bc87f6a22fb491c2d8d6518077ed803dee359de58c3f6cf2d6e046d3601/leicaexperiment-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "50ea555e7b9658ce29b94170a5561ba6", "sha256": "697a4c6399dd4c2c351711e13ce090480c51645e8da4db6c426b5645e8a5e02f" }, "downloads": -1, "filename": "leicaexperiment-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "50ea555e7b9658ce29b94170a5561ba6", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 10818, "upload_time": "2015-03-15T12:48:49", "url": "https://files.pythonhosted.org/packages/c8/1d/7e85aa8a41797da6861e6f3123f82eefd1fb5c0d4298f9ed9579b00ec5b8/leicaexperiment-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c96bcbd6d229acd5b089b860351f9b27", "sha256": "19e2fd4002f0d1812cd5ed376eb7c17031e60e5bb575e7ca0c57076a9f182b3d" }, "downloads": -1, "filename": "leicaexperiment-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c96bcbd6d229acd5b089b860351f9b27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9376, "upload_time": "2015-03-15T12:48:44", "url": "https://files.pythonhosted.org/packages/80/8e/e06e6ea5d9c9fac7bab7494eeeab09281728df8dd36cc8c9b6adb304a744/leicaexperiment-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0119fd2f2fd805fbab6d910011addc08", "sha256": "358276bf9585aa9c36f370995ff1bd4c845955e9b3f3578658a124da6f348a40" }, "downloads": -1, "filename": "leicaexperiment-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0119fd2f2fd805fbab6d910011addc08", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11383, "upload_time": "2015-03-15T20:57:55", "url": "https://files.pythonhosted.org/packages/a6/3b/2ad6a4c4cdadceadff626c83a2a96d2f32aa704ba438ca7af7c471d338b0/leicaexperiment-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "355bcc5a7f30941b5f284691bc51129f", "sha256": "5935e4b0a9128af741849795929a91ae9542406719f59e227f1f647ef48755b8" }, "downloads": -1, "filename": "leicaexperiment-0.0.3.tar.gz", "has_sig": false, "md5_digest": "355bcc5a7f30941b5f284691bc51129f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1297734, "upload_time": "2015-03-15T20:57:49", "url": "https://files.pythonhosted.org/packages/83/c8/e084e0b90a7add55699885ffbd2af1b6b6dc3b684d460066efc2539cfc09/leicaexperiment-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "70a90812186b3e580ae41d3a00d1d4a2", "sha256": "637f490b896ac72835231735c3dcc897fc36c4cfc75cccbfaf3a0781e31b6c7d" }, "downloads": -1, "filename": "leicaexperiment-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "70a90812186b3e580ae41d3a00d1d4a2", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11863, "upload_time": "2015-03-17T17:35:43", "url": "https://files.pythonhosted.org/packages/e2/79/b7e8c9b957476d56f3d6d694b4f3b524371cb889d278922d0532f9ab8aab/leicaexperiment-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d270e4e85897e8b7be1b3e2f5b168b2e", "sha256": "9b803757b6fee901ddeb77fdfdedfbd75b3b00fc0f0e0adbf389468eb144bc84" }, "downloads": -1, "filename": "leicaexperiment-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d270e4e85897e8b7be1b3e2f5b168b2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1298097, "upload_time": "2015-03-17T17:35:35", "url": "https://files.pythonhosted.org/packages/b7/f7/8cbe16ecce586893ec91b39cf7e89d10198953a00944442ce7ba6ef5562c/leicaexperiment-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a4dff0166ff6fc99a2ee1f125f4770c0", "sha256": "a75ac3c61254fee42f738a988e57748d89fa5bcf2266dbe3b54269a2ad5f39d9" }, "downloads": -1, "filename": "leicaexperiment-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a4dff0166ff6fc99a2ee1f125f4770c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9436, "upload_time": "2015-03-19T12:15:27", "url": "https://files.pythonhosted.org/packages/45/5e/8a2dc24ae0cab3d9425270865a622d940cd90b905702304fb5884f1effd9/leicaexperiment-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f6c402d4fb477fe5017a4defd0b380c1", "sha256": "4ba18de0a3cd0ad5ccba0380fb93bef5b300218cc368a0ef946ef4c783945b42" }, "downloads": -1, "filename": "leicaexperiment-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6c402d4fb477fe5017a4defd0b380c1", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11870, "upload_time": "2015-03-19T12:24:00", "url": "https://files.pythonhosted.org/packages/d5/47/4b990e71d5410d90b3f97e6f2abe6973d6459b1e269df6fa21e3ecd41ab8/leicaexperiment-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b411eddb87243a00db9064cf2f69a9fd", "sha256": "aa11f20d0d69677412a9505e838b3684503ff39d46529bdc8b6a70bd7f0131e8" }, "downloads": -1, "filename": "leicaexperiment-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b411eddb87243a00db9064cf2f69a9fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1298216, "upload_time": "2015-03-19T12:23:56", "url": "https://files.pythonhosted.org/packages/44/c8/0e6bbdedefbafeefa16f6ce0539034a823247c9d98a47a6d601d78fd734b/leicaexperiment-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c216e06899533b0722f44e9b658867c5", "sha256": "22824af7bf5a17323a28d7343f99acdfd01444c5215b0ea44b5c591fd9ca36cd" }, "downloads": -1, "filename": "leicaexperiment-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c216e06899533b0722f44e9b658867c5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11936, "upload_time": "2015-04-28T18:46:34", "url": "https://files.pythonhosted.org/packages/d5/87/93d65217ef326ee95e42eb39a33c7803e1b45b83b4c53296303b7c6181d2/leicaexperiment-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee3e27b77a2a397be8bfc0747124774e", "sha256": "78cda68457d79ce09d65159f97588b1920f2b8fd9528608c52847e0c80772632" }, "downloads": -1, "filename": "leicaexperiment-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ee3e27b77a2a397be8bfc0747124774e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1298508, "upload_time": "2015-04-28T18:46:29", "url": "https://files.pythonhosted.org/packages/58/63/d3abf11d82be400633385e18962c0dc48f33eafc83cc2b1d4e44d1e81b8a/leicaexperiment-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c216e06899533b0722f44e9b658867c5", "sha256": "22824af7bf5a17323a28d7343f99acdfd01444c5215b0ea44b5c591fd9ca36cd" }, "downloads": -1, "filename": "leicaexperiment-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c216e06899533b0722f44e9b658867c5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11936, "upload_time": "2015-04-28T18:46:34", "url": "https://files.pythonhosted.org/packages/d5/87/93d65217ef326ee95e42eb39a33c7803e1b45b83b4c53296303b7c6181d2/leicaexperiment-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee3e27b77a2a397be8bfc0747124774e", "sha256": "78cda68457d79ce09d65159f97588b1920f2b8fd9528608c52847e0c80772632" }, "downloads": -1, "filename": "leicaexperiment-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ee3e27b77a2a397be8bfc0747124774e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1298508, "upload_time": "2015-04-28T18:46:29", "url": "https://files.pythonhosted.org/packages/58/63/d3abf11d82be400633385e18962c0dc48f33eafc83cc2b1d4e44d1e81b8a/leicaexperiment-0.2.0.tar.gz" } ] }