{ "info": { "author": "Trevor Olson", "author_email": "trevor@heytrevor.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "===============================\nPysis\n===============================\n\n.. image:: https://badge.fury.io/py/pysis.svg\n :target: http://badge.fury.io/py/pysis\n\n.. image:: https://travis-ci.org/wtolson/pysis.svg?branch=master\n :target: https://travis-ci.org/wtolson/pysis\n\n.. image:: https://pypip.in/d/pysis/badge.png\n :target: https://pypi.python.org/pypi/pysis\n\n\nToolkit for using USGS Isis in Python.\n\n* Free software: BSD license\n* Documentation: http://pysis.readthedocs.org.\n\n\nHow to install\n--------------\n\nAt the command line::\n\n $ easy_install pysis\n\nOr, if you have virtualenvwrapper installed::\n\n $ mkvirtualenv pysis\n $ pip install pysis\n\n\nDependencies\n~~~~~~~~~~~~\n\nFor working with ISIS commands, you must firts have `USGS ISIS 3`_ installed on\nyour machine. See the ISIS 3 `installation guide`_ for further instructions.\nRemember to set your environmental variables (see step 4 of USGS ISIS guide) so\nPysis knows where your installation is.\n\n\nQuickstart Guide\n----------------\n\nHow to write ISIS 3 code in python using Pysis.\n\nUsing ISIS 3 at the command line you might want to run the following basic\ncommands (examples for the MDIS camera on the MESSENGER mission)::\n\n mdis2isis from=filename.IMG to=filename.cub\n spiceinit from=filename.cub\n mdiscal from=filename.cub to=filename.cal.cub\n\nusing Pysis the syntax is::\n\n from pysis.isis import mdis2isis, spiceinit, mdiscal\n from pysis.util import file_variations\n\n def calibrate_mids(img_name):\n (cub_name, cal_name) = file_variations(img_name, ['.cub', '.cal.cub'])\n\n mdis2isis(from_=img_name, to=cub_name)\n spiceinit(from_=cub_name)\n mdiscal(from_=cub_name, to=cal_name)\n\nYou will notice that we use the keyword `from_` when we call a command because\n`from` is a reserved word in python.\n\n\nNumerical and String Arguments\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nHere is an example of the maptemplate and cam2map commands in Pysis::\n\n from pysis import isis\n\n isis.maptemplate(map='MDIS_eqr.map', projection='equirectangular',\n clon=0.0, clat=0.0, resopt='mpp', resolution=1000,\n rngopt='user', minlat=-10.0, maxlat=10.0, minlon=-10.0,\n maxlon=10.0)\n\n isis.cam2map(from_=cal_name, to=proj_name, pixres='map',\n map='MDIS_eqr.map',defaultrange='map')\n\n\nGetting values from ISIS commands\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPysis commands will return the command's STDOUT as a byte string. If the command\nreturns a nonzero exit code, a `ProcessError` will be thrown. This example\ncommand uses `getkey` to receive values from the label of an ISIS cube::\n\n from pysis.isis import getkey\n\n value = getkey(from_='W1467351325_4.map.cal.cub',\n keyword='minimumringradius', grp='mapping')\n\n\nCatching ProcessingErrors\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPysis supports catching `ISIS` processing errors like so::\n\n from pysis.exceptions import ProcessError\n from pysis.isis import hi2sis\n \n try:\n hi2isis(from_=filein, to=fileout)\n except ProcessError as e:\n print(\"STDOUT:\", e.stdout)\n print(\"STDERR:\", e.stderr)\n \nMultiprocessing Isis Commands with IsisPool\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPysis has built-in support to make multiprocessing isis commands simple. To run\nthe above MDIS calibration script for multiple images in multiple processes we\ncould rewrite the function as so::\n\n from pysis import IsisPool\n from pysis.util import ImageName\n\n def calibrate_mdis(images):\n images = [ImageName(filename) for filename in images]\n\n with IsisPool() as isis_pool:\n for filename in images:\n isis_pool.mdis2isis(from_=filename.IMG, to=filename.cub)\n\n with IsisPool() as isis_pool:\n for filename in images:\n isis_pool.spiceinit(from_=filename.cub)\n\n with IsisPool() as isis_pool:\n for filename in images:\n isis_pool.mdiscal(from_=filename.cub, to=filename.cal.cub)\n\nWhen using IsisPool we can't determine which order commands will be executed in\nso we much run each command for all the files as a group before moving to the\nnext command and creating a new IsisPool.\n\n\n.. _USGS ISIS 3: http://isis.astrogeology.usgs.gov/\n.. _installation guide: http://isis.astrogeology.usgs.gov/documents/InstallGuide/\n\n\n\n\nHistory\n-------\n\n0.6.0 (2016-05-22)\n~~~~~~~~~~~~~~~~~~\n* Support filenames in image constructor. (thanks @michaelaye)\n* Use pvl for label decoding.\n\n\n0.5.2 (2015-05-30)\n~~~~~~~~~~~~~~~~~~\n* Relicense as BSD.\n\n\n0.5.1 (2015-05-18)\n~~~~~~~~~~~~~~~~~~\n* Add support for line comments.\n* Fix packages in setup.py. (thanks @michaelaye)\n\n\n0.5.0 (2015-04-18)\n~~~~~~~~~~~~~~~~~~\n* Add support for python 2.6/3.3/3.4\n* Simplified command api.\n* Labels package now shares the json module api.\n* Label parser now fully conforms to the PVL spec.\n* Add label encoder.\n\n\n0.4.0 (2015-03-21)\n~~~~~~~~~~~~~~~~~~\n\n* First release on PyPI.", "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/wtolson/pysis", "keywords": "pysis", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "pysis", "package_url": "https://pypi.org/project/pysis/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pysis/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/wtolson/pysis" }, "release_url": "https://pypi.org/project/pysis/0.6.0/", "requires_dist": null, "requires_python": null, "summary": "Toolkit for using USGS Isis in Python.", "version": "0.6.0" }, "last_serial": 2127846, "releases": { "0.4.0": [], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fef2fdb7dd811ee9f547393a47777217", "sha256": "a8cfbcb30de191fd05a49c228bd619b80b95409d645d79432e6002f02b790be2" }, "downloads": -1, "filename": "pysis-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fef2fdb7dd811ee9f547393a47777217", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 17889, "upload_time": "2015-04-19T01:54:50", "url": "https://files.pythonhosted.org/packages/df/33/260b3c07c2b5aeb815dde01d5ca437689c99008877e916ec33506f46a5e6/pysis-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c55ccf9d694f9d01e41bc4dc5d2234e", "sha256": "4e0a653a0b12e01fd2056de05873f742b5811afb5041d4f639f6e0d14304d8e7" }, "downloads": -1, "filename": "pysis-0.5.0.tar.gz", "has_sig": false, "md5_digest": "0c55ccf9d694f9d01e41bc4dc5d2234e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187901, "upload_time": "2015-04-19T01:54:45", "url": "https://files.pythonhosted.org/packages/ef/d4/9dc6c80aaa488ac73c78eaad60fcb3a82042ffbf6650e893c31fb868a2cf/pysis-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e4998c126f133a67fd3c6ee335fda926", "sha256": "d5aed28ccd0b3ead2b5f0fd9b4bc6c924813e0bd55b18901afc9b755eb77a023" }, "downloads": -1, "filename": "pysis-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4998c126f133a67fd3c6ee335fda926", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 27285, "upload_time": "2015-05-18T22:49:40", "url": "https://files.pythonhosted.org/packages/c7/56/f16660c88d48d933b1ae884c0f829beac9757104698428323c9deab6e12a/pysis-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84818fcf20579755d3989d39f8da2397", "sha256": "a12c4c8e96afca9f3fadffb526db50e0ce7a64827de6ac8e1c5797506edea9dd" }, "downloads": -1, "filename": "pysis-0.5.1.tar.gz", "has_sig": false, "md5_digest": "84818fcf20579755d3989d39f8da2397", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 195441, "upload_time": "2015-05-18T22:49:34", "url": "https://files.pythonhosted.org/packages/72/71/a2310e3c33df098a7c454392e8f10607cd56e72fe90d468ebacb30a5d518/pysis-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "fcf1c4087efd625660fe6e66c9366a4f", "sha256": "59dccc96cba8fbf86d5d66260368c3493443910c3aad6dfea15e1eedcc73913d" }, "downloads": -1, "filename": "pysis-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fcf1c4087efd625660fe6e66c9366a4f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27612, "upload_time": "2015-05-30T21:20:41", "url": "https://files.pythonhosted.org/packages/5d/28/cc7d5e97961febe64a97a07153ba0c8028ed2fcb6a210b5ced57ea56734a/pysis-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd9c7ce9f5a9cd496e5db1d0a53d93d8", "sha256": "b2fa12bc532fdae463bc98da19ed83a27b3ec80f629e940fb1ba09cc889a2c89" }, "downloads": -1, "filename": "pysis-0.5.2.tar.gz", "has_sig": false, "md5_digest": "dd9c7ce9f5a9cd496e5db1d0a53d93d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185910, "upload_time": "2015-05-30T21:20:36", "url": "https://files.pythonhosted.org/packages/a1/9a/31fd1cbf8f65ff06315f183f64e1341b40a0c127245809a9414d498a3a2f/pysis-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "9c3413833a369297371053ad116e5d21", "sha256": "dd01ec46b488ccccd487bd9f7af8ce187b2fb7b83d66afa6f9ca77397275887f" }, "downloads": -1, "filename": "pysis-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c3413833a369297371053ad116e5d21", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18387, "upload_time": "2016-05-22T17:13:01", "url": "https://files.pythonhosted.org/packages/58/bc/a09940aca56afb9c7d16a5fb086e4278042f572410322426affc509173f8/pysis-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "099dabadae9e7065ee7cec695a5a12be", "sha256": "ebbfbf68f7bc5125395b3e9452a63696bce29d556ef958e8ff4343e80311ba8f" }, "downloads": -1, "filename": "pysis-0.6.0.tar.gz", "has_sig": false, "md5_digest": "099dabadae9e7065ee7cec695a5a12be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78679, "upload_time": "2016-05-22T17:12:53", "url": "https://files.pythonhosted.org/packages/9f/b5/2ea3de1f69827039e5d3cc03b3338fba82885ad601f6a8ee03e29e4368fa/pysis-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c3413833a369297371053ad116e5d21", "sha256": "dd01ec46b488ccccd487bd9f7af8ce187b2fb7b83d66afa6f9ca77397275887f" }, "downloads": -1, "filename": "pysis-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c3413833a369297371053ad116e5d21", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18387, "upload_time": "2016-05-22T17:13:01", "url": "https://files.pythonhosted.org/packages/58/bc/a09940aca56afb9c7d16a5fb086e4278042f572410322426affc509173f8/pysis-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "099dabadae9e7065ee7cec695a5a12be", "sha256": "ebbfbf68f7bc5125395b3e9452a63696bce29d556ef958e8ff4343e80311ba8f" }, "downloads": -1, "filename": "pysis-0.6.0.tar.gz", "has_sig": false, "md5_digest": "099dabadae9e7065ee7cec695a5a12be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78679, "upload_time": "2016-05-22T17:12:53", "url": "https://files.pythonhosted.org/packages/9f/b5/2ea3de1f69827039e5d3cc03b3338fba82885ad601f6a8ee03e29e4368fa/pysis-0.6.0.tar.gz" } ] }