{ "info": { "author": "Henry Pinkard", "author_email": "henry.pinkard@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Pygellan\nPygellan is a Python library for enabling microscope acquisition control and data analysis. It works together with the [Micro-manager](https://micro-manager.org/) plugin, [Micro-magellan](https://micro-manager.org/wiki/MicroMagellan). Pygellan has two subpackages, `pygellan.acquire` and `pygellan.magellan_data` which are for data acquisition/hardware control and data anlysis, respectively. Pygellan is integrated with other projects in the scientific python ecosystem, including [Napari](https://github.com/napari/napari) (for data visualization) and [Dask](https://dask.org/) (for large scale data analysis). Pygellan development is currently in alpha--new features are being added and there are not yet guarantees on the stability of the API. Information about future development can be found on the issues page. Feel free to add comments, ideas, or other feedback on the [issues](https://github.com/henrypinkard/Pygellan/issues) page.\n\n## Setup\n1. Install pygellan using `pip install pygellan` (Pygellan is tested with Python 3.6 but should also work with other versions of Python3)\n\n2. (If using pygellan for acquisition control), download and install Nico Stuurman's 2.0gamma build of micro-manager. Latest nightly builds can be found [here](https://micro-manager.org/wiki/Version_2.0)\n\n## Acquisition control\n*Note: acquisition control APIs are still actively being developed.*\n\nTo use Pygellan for acqusition control, simply open the micro-manager2.0gamma GUI as usual and launch the Micro-magellan plugin. Start a python process in a way of your choosing (e.g. terminal, IDE, Jupyter notebook). Type:\n\n````\nfrom pygellan.acquire import MagellanBridge\n\nbridge = MagellanBridge() #establish communication with Magellan\n````\nIf the bridge object is created successfully, you are connected to Micro-Magellan and can use the rest of the `pygellan.acquire` API.\n\n### Controlling the Micro-manager core\nThe micro-manager core provides low-level functionality like capturing images and controlling individual devices. An example can be seen [here](https://github.com/henrypinkard/Pygellan/blob/master/examples/micromanager_core.py).\n\nThe core API is discovered dynamically at runtime, though not every method is implemented. Typing `core.` and using autocomplete with IPython is the best way to discover which functions are available. Documentation on for the Java version of the core API (which Pygellan ultimately calls) can be found [here](https://valelab4.ucsf.edu/~MM/doc-2.0.0-gamma/mmcorej/mmcorej/CMMCore.html).\n\n### Controlling Micro-magellan acquisitions\n(*Under active development*)\n\nSee [this example](https://github.com/henrypinkard/Pygellan/blob/master/examples/run_acquisition.py) for how to start and stop Micro-magellan acquisitions through Python.\n\n[This example](https://github.com/henrypinkard/Pygellan/blob/master/examples/control_magellan_gui.py) shows how to call the various acquisition settings on the Micro-magellan GUI to automatically setup experiments\n\n## Reading data in Python\nThe `pygellan.magellan_data` API enables reading of data acquired with pygellan/Micro-magellan directly in python. Tiles can be loaded individually, or all data can be loaded simulataneously into a memory-mapped [Dask](https://dask.org/) array, which works like a numpy array and also allows scalable processing of large datasets and viewing data in [Napari](https://github.com/napari/napari). More information can be seen in [this example](https://github.com/henrypinkard/Pygellan/blob/master/examples/read_and_visualize_magellan_data.py)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/henrypinkard/Pygellan", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pygellan", "package_url": "https://pypi.org/project/pygellan/", "platform": "", "project_url": "https://pypi.org/project/pygellan/", "project_urls": { "Homepage": "https://github.com/henrypinkard/Pygellan" }, "release_url": "https://pypi.org/project/pygellan/0.1.2/", "requires_dist": [ "numpy", "dask[array] (>=2.4.0)", "zmq" ], "requires_python": "", "summary": "Open source microscope control using python", "version": "0.1.2" }, "last_serial": 5864787, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b61bfe5e1474cde0d78ebc4ec9354cbf", "sha256": "614dd6a2d0e93349728de05db7d913a31c25e0b34d98f3c4fec8db132cdbcb21" }, "downloads": -1, "filename": "pygellan-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b61bfe5e1474cde0d78ebc4ec9354cbf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11842, "upload_time": "2019-07-08T21:41:50", "url": "https://files.pythonhosted.org/packages/3e/cb/6f015867ddd9b2b70dd3e52d2be41f50baa4fa3adeaa6692ff2b09bbdd6e/pygellan-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a522f17b84fb84796e8b40ffc7b69fa7", "sha256": "ec1500f5febbcf8ddc626b787943f42f41be53a728a97e0eced03244d840cf0f" }, "downloads": -1, "filename": "pygellan-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a522f17b84fb84796e8b40ffc7b69fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9841, "upload_time": "2019-07-08T21:41:52", "url": "https://files.pythonhosted.org/packages/78/3c/5969cd3006fe20d224f29d79d35048405a0305d8e158bba6d5f2f92eea50/pygellan-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "0b05638cad8436ff7f5909a7c780f809", "sha256": "18e8d75883890e58521a6b37e7793850d7f23f2021ae6b88ed7420c20bb03e74" }, "downloads": -1, "filename": "pygellan-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0b05638cad8436ff7f5909a7c780f809", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11229, "upload_time": "2019-07-08T21:57:17", "url": "https://files.pythonhosted.org/packages/5d/cb/735fa0a64706f07ee0baba430aa54b50b3995602d7743dcadafe592da474/pygellan-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ce356cdd1ac99ce5422011629db588e", "sha256": "77158e62288c2dbd98b936b7b61f71ffc3c37a303863e880760b794bce80de18" }, "downloads": -1, "filename": "pygellan-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7ce356cdd1ac99ce5422011629db588e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9568, "upload_time": "2019-07-08T21:57:19", "url": "https://files.pythonhosted.org/packages/6f/ef/a77f782b332a77fd2458a1e603b87aeb96019fbfdc2f80d71fe8a7d69b00/pygellan-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "e984dd15665697216d3a9a8988e4af75", "sha256": "6d90b549104fe46054192ab3a7d9dd0f98b94bd599d27368774b941ce841c0f6" }, "downloads": -1, "filename": "pygellan-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e984dd15665697216d3a9a8988e4af75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11195, "upload_time": "2019-07-08T22:03:40", "url": "https://files.pythonhosted.org/packages/d2/af/c6aabc00d0aaee4a81d0f999f864b54cfa0b62d6319230fd0ff648ac038f/pygellan-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a32cc433063f21ede0fe62f96b18c5e8", "sha256": "44031d8ffba8afccd7a41fee13ebeb171ddecd3e3389080310c6b5309637fa74" }, "downloads": -1, "filename": "pygellan-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a32cc433063f21ede0fe62f96b18c5e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9513, "upload_time": "2019-07-08T22:03:42", "url": "https://files.pythonhosted.org/packages/9e/0b/f8dc44f3dad4be357a0c9cf4779910b9ab10554e7736535739d4399309a8/pygellan-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "652fbdf3b8d928f5b4146c6e501b2ae8", "sha256": "5dd8905628b7af435525fcfe5df1f061deb835019854543596d0cfe1956c8c8b" }, "downloads": -1, "filename": "pygellan-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "652fbdf3b8d928f5b4146c6e501b2ae8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12340, "upload_time": "2019-07-26T04:42:41", "url": "https://files.pythonhosted.org/packages/df/23/af91a40e944d4cf7ddec43c7a8f91b89ee43389a9d078e68f6a4b01b9ea5/pygellan-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2daf21d7bfc0b4eea9b90a4594e2adf", "sha256": "33615edd432900fd209e8ffae2145fdd506de8f5d15e65388ccbdd8eb2a0fb94" }, "downloads": -1, "filename": "pygellan-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d2daf21d7bfc0b4eea9b90a4594e2adf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10742, "upload_time": "2019-07-26T04:42:42", "url": "https://files.pythonhosted.org/packages/e6/80/96a63a0b1fd591c012643b44a48fa018aa52c0dedd5506d4f5677af4df79/pygellan-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "124ede83e7010e19d6f8ba7e477ad41f", "sha256": "aa0dbc120936b99edc2b3b6c8d8492baa5a8243c7ed7732209961677629e7733" }, "downloads": -1, "filename": "pygellan-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "124ede83e7010e19d6f8ba7e477ad41f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12502, "upload_time": "2019-09-09T03:00:38", "url": "https://files.pythonhosted.org/packages/78/64/43ba5afe8fc4c410e5e18086192a69dad550ae325706a33f002555c27d80/pygellan-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b42bad94c98fc7e8dd48602f648b45f4", "sha256": "cdffbf882761c896356598ba92561b7cabc0717e6ecb69cb2d432ac1df747f49" }, "downloads": -1, "filename": "pygellan-0.0.5.tar.gz", "has_sig": false, "md5_digest": "b42bad94c98fc7e8dd48602f648b45f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10910, "upload_time": "2019-09-09T03:00:40", "url": "https://files.pythonhosted.org/packages/a0/5b/a9797d58a2697676f8e57a31b50c4c6562f7bf5c1175e2f191246f0179e8/pygellan-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "b1eaccb6b52bb0325f503709f4586a42", "sha256": "4b1b5cff6a54505ee4bb3d35518855e8099c6a6f116159b0ce08bdb134ba2f21" }, "downloads": -1, "filename": "pygellan-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b1eaccb6b52bb0325f503709f4586a42", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12551, "upload_time": "2019-09-11T18:03:56", "url": "https://files.pythonhosted.org/packages/04/6b/2f7f75375206e29dcf4d255ac65ae173cd901872e2ecfb7265c8376fccc9/pygellan-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb527ee2c210f1f938d9b3db8c69b518", "sha256": "e55297eaf4de2b20c0e50ba8ca1e0b83a714759839babfd1a46205f5ffa41225" }, "downloads": -1, "filename": "pygellan-0.0.6.tar.gz", "has_sig": false, "md5_digest": "cb527ee2c210f1f938d9b3db8c69b518", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10959, "upload_time": "2019-09-11T18:03:58", "url": "https://files.pythonhosted.org/packages/ad/d4/b7ffeb8599d953ac8dce316fd96ef282fecae5570e6e977d9f111c0a907d/pygellan-0.0.6.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "be2c6f29fe076e945f4bc8679681f0b3", "sha256": "26851d4590d9a52912f5eba1c307a914e468ad6e186df60735175ccb0f45e5b4" }, "downloads": -1, "filename": "pygellan-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "be2c6f29fe076e945f4bc8679681f0b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13365, "upload_time": "2019-09-16T03:35:26", "url": "https://files.pythonhosted.org/packages/ab/70/e0bc2c8ecd19a635a1d7fffa2331af2dbafd269bbd196169334b3d049d3d/pygellan-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ad686fd6ac5391b27444514a2358e3f", "sha256": "8dafdf19cbdff3e74d35409b21321802d58efc009c50d6cf993574a630487aa3" }, "downloads": -1, "filename": "pygellan-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2ad686fd6ac5391b27444514a2358e3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11742, "upload_time": "2019-09-16T03:35:27", "url": "https://files.pythonhosted.org/packages/82/08/5a74e843f3da2cda3da6ebd888c7403042d39a9b9d7b44aac53a480b6397/pygellan-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "aa6d0d774f5b045e280eb8c3be1fff7c", "sha256": "fc7a4336441537dc48e90b7fe69541fb3a281389c1df959c8a8a68160958ac25" }, "downloads": -1, "filename": "pygellan-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "aa6d0d774f5b045e280eb8c3be1fff7c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13803, "upload_time": "2019-09-17T00:59:46", "url": "https://files.pythonhosted.org/packages/bf/2e/a5046e9dee08ae49a6d35e5642beefbe2a5fc983a5c686fff2f761d9c728/pygellan-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1350645a7eab74664b8b18903c7fa5b", "sha256": "33f30268a4fd4a5045739aa60107c804c0f7a205386b576a40070130c875b50e" }, "downloads": -1, "filename": "pygellan-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a1350645a7eab74664b8b18903c7fa5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12232, "upload_time": "2019-09-17T00:59:48", "url": "https://files.pythonhosted.org/packages/aa/65/f1d310f4d1de0f7fd1b2be8c59180042ce0cb608a514de4c23035fb14b39/pygellan-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e3cf3aa07ea1f02273c14def68923d9b", "sha256": "8565e27e60dac2610f3ea19bb498c2322cb1246547a67a895e78c56af8da9437" }, "downloads": -1, "filename": "pygellan-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e3cf3aa07ea1f02273c14def68923d9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13802, "upload_time": "2019-09-21T01:24:47", "url": "https://files.pythonhosted.org/packages/ad/7b/6a80b887d4d52cd30ed5e1a8e850ecbe02fa969d48ea54228a0d82bba31b/pygellan-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "821ef0f595c2d83ce2ef49f8186d2597", "sha256": "ba719a104fd4bb39983f897685dc71e3ea5f87321fac3f2410c678f0796b6215" }, "downloads": -1, "filename": "pygellan-0.1.2.tar.gz", "has_sig": false, "md5_digest": "821ef0f595c2d83ce2ef49f8186d2597", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12230, "upload_time": "2019-09-21T01:24:48", "url": "https://files.pythonhosted.org/packages/41/55/3b713f81da94305200910068680037fedb38581bd8ded998d88a5ff4072d/pygellan-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3cf3aa07ea1f02273c14def68923d9b", "sha256": "8565e27e60dac2610f3ea19bb498c2322cb1246547a67a895e78c56af8da9437" }, "downloads": -1, "filename": "pygellan-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e3cf3aa07ea1f02273c14def68923d9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13802, "upload_time": "2019-09-21T01:24:47", "url": "https://files.pythonhosted.org/packages/ad/7b/6a80b887d4d52cd30ed5e1a8e850ecbe02fa969d48ea54228a0d82bba31b/pygellan-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "821ef0f595c2d83ce2ef49f8186d2597", "sha256": "ba719a104fd4bb39983f897685dc71e3ea5f87321fac3f2410c678f0796b6215" }, "downloads": -1, "filename": "pygellan-0.1.2.tar.gz", "has_sig": false, "md5_digest": "821ef0f595c2d83ce2ef49f8186d2597", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12230, "upload_time": "2019-09-21T01:24:48", "url": "https://files.pythonhosted.org/packages/41/55/3b713f81da94305200910068680037fedb38581bd8ded998d88a5ff4072d/pygellan-0.1.2.tar.gz" } ] }