{ "info": { "author": "Simon Walker", "author_email": "s.r.walker101@googlemail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-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 :: 3.5" ], "description": "===============================\nfitsiochunked\n===============================\n\n.. image:: https://img.shields.io/travis/mindriot101/fitsiochunked.svg\n :target: https://travis-ci.org/mindriot101/fitsiochunked\n.. image:: https://codecov.io/gh/mindriot101/fitsiochunked/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/mindriot101/fitsiochunked\n\nPackage to *sequentially* efficiently read large fits arrays in object by object\n\n* Free software: MIT license\n\nFeatures\n--------\n\n* *Sequentially* read in large fits files, within a given fixed memory limit\n\nQuick usage\n-----------\n\nThe following example shows an example of reading in a large fits\nhdu within a memory limit of 2048MB, assuming light curves are\nstored in rows:\n\n.. code:: python\n\n import numpy as np\n import fitsio\n import fitsiochunked as fc\n\n with fitsio.FITS(filename) as infile:\n hdu = infile['flux']\n napertures = hdu.get_info()['ndim'][0]\n mean_flux = np.zeros(napertures)\n\n for chunk in fc.chunks(hdu, memory_limit_mb=2048):\n\n # `chunk` is a namedtuple with `.data` and `.slice` properties\n chunk_data = chunk.data\n print('Data shape:', chunk_data.shape)\n print('Data dtype:', chunk_data.dtype)\n\n\n chunk_slice = chunk.slice\n print('Chunk starting from aperture:', chunk_slice.start)\n print('Chunk up to:', chunk_slice.stop)\n\n chunk_mean = np.average(chunk_data, axis=1)\n mean_flux[chunk_slice] = chunk_mean\n\nThe library copes with an aribtrary number of hdus:\n\n.. code:: python\n\n import numpy as np\n import fitsio\n import fitsiochunked as fc\n\n with fitsio.FITS(filename) as infile:\n hjd_hdu = infile['hjd']\n flux_hdu = infile['flux']\n fluxerr_hdu = infile['fluxerr']\n\n napertures = flux_hdu.get_info()['ndim'][0]\n mean_flux = np.zeros(napertures)\n\n for chunks in fc.chunks(hjd_hdu, flux_hdu, fluxerr_hdu, memory_limit_mb=2048):\n # chunks is a tuple of chunks\n hjd_chunk, flux_chunk, fluxerr_chunk = chunks\n\n # `chunk` is a namedtuple with `.data` and `.slice` properties\n flux_chunk_data = flux_chunk.data\n print('Data shape:', flux_chunk_data.shape)\n print('Data dtype:', flux_chunk_data.dtype)\n\n # and so on\n\nNote: if multiple hdus are supplied, then the ``memory_limit_mb`` and\n``chunksize`` arguments to ``chunks`` apply to **each** HDU i.e. three HDUs and\na memory limit of 2048MB will lead to 3x2048 = 6144MB of memory used.\n\nInstallation\n------------\n\nInstall with ``pip``:\n\n.. code:: bash\n\n pip install fitsiochunked\n # or get the latest development version from github\n pip install git+https://github.com/mindriot101/fitsiochunked\n\nor download and run the setup file:\n\n.. code:: bash\n\n git clone https://github.com/mindriot101/fitsiochunked\n cd fitsiochunked\n python setup.py install\n\nDetails\n-------\n\nThe high level interface is the ``chunks`` function, which builds a\n``ChunkedAdapter`` object wrapping a ``fitsio.ImageHDU`` object.\n\nThe ``ChunkedAdapter`` wraps a ``fitsio`` HDU object. When constructed,\nit becomes a callable which yields the image data in that hdu in chunks.\n\nThe chunksize can be set either with with the parameter\n``chunksize`` which simply yields ``chunksize`` rows each time,\nor with ``memory_limit_mb`` which *tries* (no promises!) to\nautomatically calculate the number of lightcurves that will fit into\n``memory_limit_mb`` megabytes of memory.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mindriot101/fitsiochunked", "keywords": "fitsiochunked", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fitsiochunked", "package_url": "https://pypi.org/project/fitsiochunked/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fitsiochunked/", "project_urls": { "Homepage": "https://github.com/mindriot101/fitsiochunked" }, "release_url": "https://pypi.org/project/fitsiochunked/0.2.1/", "requires_dist": [ "fitsio" ], "requires_python": "", "summary": "Package to efficiently read large fits arrays in object by object", "version": "0.2.1" }, "last_serial": 2602460, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "884d3c3fae37f1afbe9dc3cd92dde77f", "sha256": "6239a95f6e2da03e2a9810b6487167df1c97bd4e883b51de0a7bc1ab2d0455ac" }, "downloads": -1, "filename": "fitsiochunked-0.0.2.macosx-10.5-x86_64.tar.gz", "has_sig": false, "md5_digest": "884d3c3fae37f1afbe9dc3cd92dde77f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4100, "upload_time": "2016-02-25T05:12:57", "url": "https://files.pythonhosted.org/packages/9a/5e/5b49b13642cd5fd78c2edcbb89a98ec3f22ec1e40aba00605f70fce53bb7/fitsiochunked-0.0.2.macosx-10.5-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b01d6af166b62b0a7f53c4e69eb27586", "sha256": "5eb649b3dc6778a79b3a9cdae10f45c8ec54c2e5c8ca0112f7356988dc214089" }, "downloads": -1, "filename": "fitsiochunked-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b01d6af166b62b0a7f53c4e69eb27586", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5070, "upload_time": "2016-02-25T05:12:52", "url": "https://files.pythonhosted.org/packages/af/bd/a84b4c408c5c3cbfcd27acc63c7721b0139c5b1c09207007a4c078e89050/fitsiochunked-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad68dd950613cce744c6c4289086bbf3", "sha256": "a0708ef8642c08dcc364eea88ccff4b6d91dd8cc1c8432019c0a2b798f7793c8" }, "downloads": -1, "filename": "fitsiochunked-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ad68dd950613cce744c6c4289086bbf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5228, "upload_time": "2016-02-25T05:13:02", "url": "https://files.pythonhosted.org/packages/6a/31/ef8199a070eaa50035e1da036ef7a1d11e2f76026e169663b794bd960784/fitsiochunked-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b3bb429239db5c67d398ae0d84d45828", "sha256": "d8495c03a6165a18c55baf72c56f6cc198026ecda1de24f5c8fefa1c2f8851d5" }, "downloads": -1, "filename": "fitsiochunked-0.0.3.macosx-10.5-x86_64.tar.gz", "has_sig": false, "md5_digest": "b3bb429239db5c67d398ae0d84d45828", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4102, "upload_time": "2016-02-25T05:18:18", "url": "https://files.pythonhosted.org/packages/51/f0/afc132d0291c83d36f03a0aee784bc58d88f014e51f00b199dade5d7325f/fitsiochunked-0.0.3.macosx-10.5-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "e403bf3abde1b280218bec78ca8aee90", "sha256": "5a1171e70eab7555940911f872acea89cbe1e5abf9d7c3d249c3bcbc0a6953f5" }, "downloads": -1, "filename": "fitsiochunked-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e403bf3abde1b280218bec78ca8aee90", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5074, "upload_time": "2016-02-25T05:18:13", "url": "https://files.pythonhosted.org/packages/74/28/7ddef28d9852cdbba534825115cf6b21262a7f97142f651a5a8b8f228d60/fitsiochunked-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2300db8eaada5ce1d1e57d161abb5a32", "sha256": "432178754f3fd2d341293bb0dffdd766fb888887b5b4a7eba53983b3166c87a4" }, "downloads": -1, "filename": "fitsiochunked-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2300db8eaada5ce1d1e57d161abb5a32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5219, "upload_time": "2016-02-25T05:18:24", "url": "https://files.pythonhosted.org/packages/98/0e/18dfa0f10d8f5adf90f8f39852ad2a863247c03586b044b83ff45c9ca3a9/fitsiochunked-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ed5301bdd2cafafc9f748cff0a83309a", "sha256": "88914b29af0d26ff024ba9f4c93b3524edd69ceb1114564e2eb703a8e559bf66" }, "downloads": -1, "filename": "fitsiochunked-0.0.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ed5301bdd2cafafc9f748cff0a83309a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5576, "upload_time": "2016-03-15T18:25:56", "url": "https://files.pythonhosted.org/packages/bb/fa/f5166e29fb4191ff24632317dc0f40b37e1a02c9d24890c54bbe2f059c6b/fitsiochunked-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2fec74936e85db8cec2ed02b3b7fd5e1", "sha256": "65990321ec389f728a528d207bd0113ff8e365b40697d82ac4d63b9477fdd1fb" }, "downloads": -1, "filename": "fitsiochunked-0.0.4.tar.gz", "has_sig": true, "md5_digest": "2fec74936e85db8cec2ed02b3b7fd5e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5818, "upload_time": "2016-03-15T18:26:03", "url": "https://files.pythonhosted.org/packages/80/c5/dd9e998b919819787c4bb7b78a963798a7a136e5f41b6635ea2bd7127b0f/fitsiochunked-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "7c1213cf8de7c83044969ed61b257335", "sha256": "5f54fc47416f8132b5a6783c0582d419be94b0bf327d5d4be074e2fd750e606f" }, "downloads": -1, "filename": "fitsiochunked-0.0.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7c1213cf8de7c83044969ed61b257335", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5586, "upload_time": "2016-03-16T21:49:07", "url": "https://files.pythonhosted.org/packages/9f/24/7f720d5a1edca3692f909560d6541cf3ebc7b6926160b92c9d97ab51ac29/fitsiochunked-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bf91c64379cb3dc31ac490cfd80f6d3", "sha256": "f0e7573f6fa37abb44b3d2a55a3d2550651548783e79b6d88b51361540de1273" }, "downloads": -1, "filename": "fitsiochunked-0.0.5.tar.gz", "has_sig": true, "md5_digest": "3bf91c64379cb3dc31ac490cfd80f6d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5830, "upload_time": "2016-03-16T21:49:13", "url": "https://files.pythonhosted.org/packages/66/08/160557934e29fabfe4a25d76a4935d4ba3aaed97fc03f7c1173b998e23c8/fitsiochunked-0.0.5.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "459b27229c7ac60328daa2f9a7b071a6", "sha256": "4319cd1c60f30c3083e627f975f09e30d4cbf850c5e79e4e3be8414f809d6bbe" }, "downloads": -1, "filename": "fitsiochunked-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "459b27229c7ac60328daa2f9a7b071a6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5773, "upload_time": "2016-10-12T14:46:09", "url": "https://files.pythonhosted.org/packages/5e/62/2a88e30483f5ef1e074f932a774870e3fe0dd6dd8c6645dfbe30f0988e91/fitsiochunked-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40518f3b84893d9466fab3c3098bc7d8", "sha256": "8a1999ceda63244c4e8a9e16c12be843692c9529528700b1d4a28043b89c48c9" }, "downloads": -1, "filename": "fitsiochunked-0.1.0.tar.gz", "has_sig": true, "md5_digest": "40518f3b84893d9466fab3c3098bc7d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6169, "upload_time": "2016-10-12T14:46:12", "url": "https://files.pythonhosted.org/packages/93/f9/80474abab8c7df2dbb32ddab99fd308453b7e11521cc728ee48926691c4f/fitsiochunked-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3c35997e64b97124e3d2b0d655fe5bee", "sha256": "7b11cef7dd42979167fee67da00872a83e6cfff4ac5d0c6dade41c9f9a2e98ee" }, "downloads": -1, "filename": "fitsiochunked-0.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3c35997e64b97124e3d2b0d655fe5bee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5902, "upload_time": "2016-10-22T22:18:40", "url": "https://files.pythonhosted.org/packages/27/bc/4cae3ca37bce0b7340804812272bd2a5bf0adf1d182d5fd692c5fc469d76/fitsiochunked-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8f96bfed5f43ae665b2ba3ca49ec1e0", "sha256": "0da8d29bee49b383fed9b183ae5614c25f4304d3bb99123aec8db1944206c566" }, "downloads": -1, "filename": "fitsiochunked-0.2.0.tar.gz", "has_sig": true, "md5_digest": "f8f96bfed5f43ae665b2ba3ca49ec1e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6316, "upload_time": "2016-10-22T22:18:43", "url": "https://files.pythonhosted.org/packages/22/8f/abe5092a104c6b54d724e8a3bc379c7c1dfb4114eeb30dd49af834dcee84/fitsiochunked-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d102e2e512c180ff085341d204d30387", "sha256": "33850454c733d91ab01ada78076dc52f178b29328cba03c193acf8cb0658b619" }, "downloads": -1, "filename": "fitsiochunked-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d102e2e512c180ff085341d204d30387", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5907, "upload_time": "2017-01-27T18:28:22", "url": "https://files.pythonhosted.org/packages/27/d1/4ccf1fb724422b98640e427e8660a18c7aae320922341a45ab1002a1cd57/fitsiochunked-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc1cbf6b4eec9f8eb5a6c9ef22523046", "sha256": "89c3a8ce743e6578a491ba6950c252fa684732234b6bf14ac54681d9b5b5caf4" }, "downloads": -1, "filename": "fitsiochunked-0.2.1.tar.gz", "has_sig": true, "md5_digest": "dc1cbf6b4eec9f8eb5a6c9ef22523046", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6329, "upload_time": "2017-01-27T18:28:24", "url": "https://files.pythonhosted.org/packages/55/ac/9a03357a80a823795ae14a4e5aa1db20ad8d4c20d0fd6a1d00402bf57f6f/fitsiochunked-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d102e2e512c180ff085341d204d30387", "sha256": "33850454c733d91ab01ada78076dc52f178b29328cba03c193acf8cb0658b619" }, "downloads": -1, "filename": "fitsiochunked-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d102e2e512c180ff085341d204d30387", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5907, "upload_time": "2017-01-27T18:28:22", "url": "https://files.pythonhosted.org/packages/27/d1/4ccf1fb724422b98640e427e8660a18c7aae320922341a45ab1002a1cd57/fitsiochunked-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc1cbf6b4eec9f8eb5a6c9ef22523046", "sha256": "89c3a8ce743e6578a491ba6950c252fa684732234b6bf14ac54681d9b5b5caf4" }, "downloads": -1, "filename": "fitsiochunked-0.2.1.tar.gz", "has_sig": true, "md5_digest": "dc1cbf6b4eec9f8eb5a6c9ef22523046", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6329, "upload_time": "2017-01-27T18:28:24", "url": "https://files.pythonhosted.org/packages/55/ac/9a03357a80a823795ae14a4e5aa1db20ad8d4c20d0fd6a1d00402bf57f6f/fitsiochunked-0.2.1.tar.gz" } ] }