{ "info": { "author": "Adam Hughes", "author_email": "hughesadam87@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 2", "Topic :: Scientific/Engineering :: Physics", "Topic :: Scientific/Engineering :: Visualization" ], "description": ".. image:: pyparty/data/coverimage.png\n :height: 100px\n :width: 200 px\n :scale: 50 %\n :alt: alternate text\n :align: left\n\n==========\nWhat's New\n==========\nCheck out `Object Hunter`_, a ``pyparty`` script for identifying, summarizing and plotting \ngroups of objects in an image.\n\n .. _`Object Hunter` : http://nbviewer.ipython.org/urls/raw.github.com/hugadams/pyparty/master/examples/Notebooks/objecthunt_tutorial.ipynb?create=1\n\n \n======================================\npyparty: Python (py) particles (party) \n======================================\n\n``pyparty`` is a small library for drawing, labeling, patterning and manipulating \nparticles in 2d images. ``pyparty`` was built primarily over the excellent\nimage processing library, scikit-image_.\n\n .. _scikit-image: http://scikit-image.org\n\n\nGetting Started\n===============\n\nThe current documentation (and in-a-pinch test suite) is a series of example notebooks \n(`IPython Notebook`_), which cover most of the basics. These have been linked below:\n\n- **TUTORIALS**:\n - `Intro to Canvas: Basic Operations`_ \n - `Intro to Shapes`_\n - `Intro to Grids`_\n - `Intro to MultiCanvas`_\n \n- **LABELS FROM IMAGES**:\n - `Intro to Labeling`_\n - `Labeling Nanoparticle Species`_\n\n- **MISCELLANEOUS**:\n - `Matplotlib Color Maps`_\n - `Watershedding Example Adapted`_\n\n- **ARTIFICIAL IMAGES**:\n - `Basic Artificial SEM Images and Noise`_\n - `Simple Images and Labels for JORS`_\n\n- **SCRIPTS**:\n - `Object Hunter`_\n\n- **COMING SOON**:\n - *Advanced artificial SEM/TEM images*\n \n .. _`Intro to Canvas: Basic Operations`: http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/basictests.ipynb?create=1\n .. _`Intro to Shapes`: http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/shapes.ipynb?create=1\n .. _`Intro to Grids` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/grids.ipynb?create=1\n .. _`Intro to MultiCanvas` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/multi_tutorial.ipynb?create=1\n .. _`Intro to Labeling`: http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/Analyze_Particles.ipynb?create=1\n .. _`Labeling Nanoparticle Species` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/groups_of_labels.ipynb?create=1\n .. _`Basic Artificial SEM Images and Noise` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/making_noise.ipynb?create=1\n .. _`Matplotlib Color Maps` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/gwu_maps.ipynb?create=1\n .. _`Watershedding Example Adapted` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/watershed.ipynb?create=1\n .. _`Simple Images and Labels for JORS` : http://nbviewer.ipython.org/github/hugadams/pyparty/blob/master/examples/Notebooks/JORS_data.ipynb?create=1\n .. _`Object Hunter` : http://nbviewer.ipython.org/urls/raw.github.com/hugadams/pyparty/master/examples/Notebooks/objecthunt_tutorial.ipynb?create=1\n\nNotebooks were initialized with ``pylab``:\n\n ipython notebook --pylab=inline\n \nHaving trouble viewing/editing notebooks? Consider using `Enthought\nCanopy`_, which has a notebook kernel builtin, as well as a graphical package manager. \nFor simple viewing, paste the github url of each notebook into the IPython Notebook viewer_. \n \n .. _documentation: http://hugadams.github.com/pyparty/\n .. _`IPython Notebook`: http://ipython.org/notebook.html?utm_content=buffer83c2c&utm_source=buffer&utm_medium=twitter&utm_campaign=Buffer\n .. _`Enthought Canopy`: https://www.enthought.com/products/canopy/\n .. _viewer: http://nbviewer.ipython.org/ \n\n**These notebooks are free for redistribution. If referencing in publication, please cite as:**\n - Hughes, A. (2012). `A Computational Framework for Plasmonic Nanobiosensing`_. Python in Science Conference [SCIPY]. \n \n .. _`A Computational Framework for Plasmonic Nanobiosensing`: https://www.researchgate.net/publication/236672995_A_Computational_Framework_for_Plasmonic_Nanobiosensing: \n \nOverview and Features\n=====================\n\n``pyparty`` provides a simple API for particle analysis in 2d images, while streamlining \ncommon operations in the image processing pipeline. \n\n*Some key features include*:\n\n1. Pythonic **ParticleManager** for storing and manipulating particles from image \n labels OR builtin shapes. Some highlights of **Particles** include:\n - A common datastructure for array operations like rotations and \n translations.\n - ``skimage`` descriptors_ as primary attributes on all particles.\n - Filtering and mapping based with numpy logical indexing syntax. \n \n2. A **Grid** system for patterning particles, as well as mesh utilities for creating \n image backgrounds.\n\n3. A **Canvas** to easily integrate *Grids*, *Particles* and flexible *Backgrounds*. \n In addition, Canvas also provides simplified interfaces for:\n - binarization / thresholding\n - plotting\n - slicing and other pythonic container operations\n\n4. A plotting API based on matplotlib.imshow() that generally supports \n rasterizaztions AND `matplotlib patches`_.\n\n5. Flexible color designations ('red', (1,0,0), 00FF00), and strict typing\n to ensure consistency in data and plots.\n\n6. General ndarray operations such as rotations and translations supported by ALL particle types.\n\n7. API for adding **Noise** to images.\n\n .. _descriptors : http://scikit-image.org/docs/dev/api/skimage.measure.html#regionprops\n .. _`matplotlib patches` : http://matplotlib.org/examples/api/patch_collection.html\n\nWhat are some use cases, and will pyparty help to me?\n=====================================================\n\nTasked well-suited for ``pyparty`` include:\n\n1. Filtering and characterization of cells based on descriptors like\neccentricit and area.\n\n2. Patterning a grid of particles over a shadowed background to compare performance\n of thresholding algorithms.\n\n3. Manipulating particles in a *pythonic* manner:\n\n - delete all particles that have area > 50 pixels.\n - sort and color ellipses in order of increasing eccentricity.\n - dilate all particles appearing in bottom half of an image\n\n4. Scripting without leaving Python.\n\n5. Plot particles as rasterizations or matplotlib patches side-by-side.\n\nIn short, you may consider using ``pyparty`` if you are doing image analysis and find \ngenerating, managing or labeling particles as a bottleneck. \n\n .. _patchcollection : http://matplotlib.org/examples/api/patch_collection.html\n\nHistory\n=======\n``pyparty`` originally began at the George Washington University (2013) in an \neffort to generate test data for SEM and AFM images of gold nanoparticles on glass substrates.\nWe really enjoyed scikit-image_ for image processing and sought to implement it in generating test data. \nWe sought to provide an API for managing labeled particles from real images. Scikit-image draw and measure\nmodules laid the groundwork to the core functionality that ``pyparty`` attempts to streamline. \n\nI should also note that some of the inspiration came from the excellent ``Analyze Particles`` features\nin ImageJ_.\n\n .. _ImageJ : http://rsbweb.nih.gov/ij/\n\nLicense\n=======\n\n3-Clause Revised BSD_\n\n .. _BSD : https://github.com/hugadams/pyparty/blob/master/LICENSE.txt\n\nDependencies\n============\n``pyparty`` requires ``scikit-image``, ``Traits`` and their dependencies, which\ninclude many core packages such as ``numpy`` and ``matplotlib``. If you are new\nto Python for scientific computing, consider downloading a packaged distribution_.\n\n .. _distribution : https://www.enthought.com/products/canopy/\n\n``pyparty`` uses Traits_ because it is well-suited for writing clean, type-checked\nobject-oriented classes. You will not need to understand or use ``Traits``\nunless you develop for ``pyparty``; *it is not used in the public API*, and may be \nremoved in future installments after the core functionality is stable.\n\n .. _Traits : http://code.enthought.com/projects/traits/\n \nInstallation\n============\n\nI would recommend using `Enthought Canopy`_ and installing ``Traits`` and \n``scikit-image`` through the package manager; however, ``pyparty`` is also \nregistered on PyPi_.\n\n .. _PyPi : https://pypi.python.org/pypi/pyparty\n\nPip Install\n-----------\n\nMake sure you have pip installed:\n\n sudo apt-get install python-pip\n \nThen:\n \n pip install pyparty\n \nTo install all of the dependencies, download ``pyparty`` from github, navigate\nto the base directory and type:\n\n pip install -r requirements.txt\n\n\nInstallation from source\n------------------------\n\nIn the ``pyparty`` base directory run:\n\n python setup.py install\n\nThe developmental version can be cloned from github:\n\n git clone https://github.com/hugadams/pyparty.git\n \nThis will not install any dependencies.\n \n \nRelated Libraries\n=================\nInterested in the Python ecosystem? Check out some of these related libraries:\n\n - NumPy_ (Fundamental vectorized numerics in Python)\n - SciPy_ (Collection of core, numpy-based scientific libraries)\n - scikit-image_ (Scipy image processing suite)\n - matplotlib_ (De facto static plotting in Python)\n - pandas_ (Data analysis library : inspired ``pyparty`` ParticleManager API)\n - ilastik_ (Interactive Learning and Segmentation Tool)\n - Pillow_ (Python Image Library)\n\n .. _Pillow: http://python-imaging.github.io/\n .. _NumPy: http://www.numpy.org/\n .. _pandas: http://pandas.pydata.org/\n .. _SciPy: http://scipy.org/\n .. _matplotlib : http://matplotlib.org/\n .. _ilastik : http://www.ilastik.org/\n \nComing Soon\n===========\n - More multi-particle types.\n - Better control of color shading of labels.\n - More examples.\n \nHave a feature request, or want to report a bug? Please fill out a github\nissue_ with the appropriate label.\t\n\n.. _issue : https://github.com/hugadams/pyparty/issues\n\nAbout the Author\n================\n\nI'm a PhD student at GWU (check me out on researchgate_, Linkedin_ or twitter_)\nand former Enthought intern. I work in biomolecule sensing and plasmonics. \nLike any PhD student, my time is stretched across many projects. As such,\nthe ``pyparty`` source code may is messy in places, and a proper nosetests\nplatform is still under development. Batch running the IPython notebook tutorials \nserves as a basic regression test platform. \n\n .. _researchgate : https://www.researchgate.net/profile/Adam_Hughes2/?ev=hdr_xprf\n .. _Linkedin : http://www.linkedin.com/profile/view?id=121484744&goback=%2Enmp_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1&trk=spm_pic\n .. _twitter : https://twitter.com/hughesadam87\n\nAcknowledgements\n================\nThank you scikit-image team for their patience and assistance with us on the \nmailing list, and for putting together a great library for the community.\n\nThank you countless developers who have patiently answered hundreds of \nmy questions on too many mailing lists and sites to list.\n\nThank you `Zhaowen Liu`_ for all of your help with this project, our \nother projects and for your unwaivering encouragement (and for the panda).\n\n .. _`Zhaowen Liu` : https://github.com/EvelynLiu77\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/hugadams/pyparty", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/pyparty/", "keywords": null, "license": "LICENSE.txt", "maintainer": null, "maintainer_email": null, "name": "pyparty", "package_url": "https://pypi.org/project/pyparty/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyparty/", "project_urls": { "Download": "https://github.com/hugadams/pyparty", "Homepage": "http://pypi.python.org/pypi/pyparty/" }, "release_url": "https://pypi.org/project/pyparty/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Tools for patterning 2d-shapes on ndarrays", "version": "0.3.0" }, "last_serial": 1091207, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a55f56e9e3bec802c2f19b811a725728", "sha256": "644f0d3cae56538b1b68d0a5394e6c046ee05e553eb317859f38060a76cf8bd2" }, "downloads": -1, "filename": "pyparty-0.1.tar.gz", "has_sig": false, "md5_digest": "a55f56e9e3bec802c2f19b811a725728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45572, "upload_time": "2014-01-30T08:02:26", "url": "https://files.pythonhosted.org/packages/dd/c9/307248b41b63e8fdc10e39ebfc7cbe186a0179360886da7da9654dd197b0/pyparty-0.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "431613f83a254e43ee7c3bb36325139e", "sha256": "cf93ac83b363d07cd8cd206d778876e3d4dd385bd692057c82761834f88c1d61" }, "downloads": -1, "filename": "pyparty-0.2.0.tar.gz", "has_sig": false, "md5_digest": "431613f83a254e43ee7c3bb36325139e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2107399, "upload_time": "2014-03-18T05:34:26", "url": "https://files.pythonhosted.org/packages/fd/be/0566a4260ea23d3367f31f103875344b26d3db90af2ba2c2856ee836f94a/pyparty-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9cd668811586616224a0b78be06ba427", "sha256": "557620943c35f811d3f1dd1d048469a42e295e9f7a23882ce45662c89e1c3b94" }, "downloads": -1, "filename": "pyparty-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9cd668811586616224a0b78be06ba427", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11070974, "upload_time": "2014-05-13T19:18:23", "url": "https://files.pythonhosted.org/packages/d5/ae/5cfbdf26b778f244e50b4f8e0154105f34a74756897e11914a19ffd8566e/pyparty-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9cd668811586616224a0b78be06ba427", "sha256": "557620943c35f811d3f1dd1d048469a42e295e9f7a23882ce45662c89e1c3b94" }, "downloads": -1, "filename": "pyparty-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9cd668811586616224a0b78be06ba427", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11070974, "upload_time": "2014-05-13T19:18:23", "url": "https://files.pythonhosted.org/packages/d5/ae/5cfbdf26b778f244e50b4f8e0154105f34a74756897e11914a19ffd8566e/pyparty-0.3.0.tar.gz" } ] }