{ "info": { "author": "Antoine Loriette", "author_email": "antoine.loriette@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers" ], "description": "PyRealsense\n===========\n\nCross-platform\n`ctypes `__/`Cython `__\nwrapper to the\n`librealsense `__\nlibrary.\n\nPrerequisites\n-------------\n\n- install\n `librealsense `__\n and run the examples.\n\n- install the dependencies: pyrealsense uses\n `pycparser `__ for extracting\n necessary enums and structures definitions from the librealsense API,\n `Cython `__ for wrapping the inlined functions in\n the librealsense API, and `Numpy `__ for\n generic data shuffling.\n\n- Windows specifics: set environment variable PYRS\\_INCLUDES to the\n ``rs.h`` directory location and environment variable PYRS\\_LIBS to\n the librealsense binary location. You might also need to have\n ``stdint.h`` available in your path.\n\nInstallation\n------------\n\nfrom `PyPI `__ - (OBS: not\nalways the latest):\n\n::\n\n pip install pyrealsense\n\nfrom source:\n\n::\n\n python setup.py install\n\nOnline Usage\n------------\n\n::\n\n ## setup logging\n import logging\n logging.basicConfig(level = logging.INFO)\n\n ## import the package\n import pyrealsense as pyrs\n\n ## start the service - also available as context manager\n serv = pyrs.Service()\n\n ## create a device from device id and streams of interest\n cam = serv.Device(device_id = 0, streams = [pyrs.stream.ColorStream(fps = 60)])\n\n ## retrieve 60 frames of data\n for _ in range(60):\n cam.wait_for_frames()\n print(cam.color)\n\n ## stop camera and service\n cam.stop()\n serv.stop()\n\nThe server for Realsense devices is started with ``pyrs.Service()``\nwhich will printout the number of devices available. It can also be\nstarted as a context with ``with pyrs.Service():``.\n\nDifferent devices can be created from the service ``Device`` factory.\nThey are created as their own class defined by device id, name, serial,\nfirmware as well as enabled streams and camera presets. The default\nbehaviour create a device with ``id = 0`` and setup the color, depth,\npointcloud, color\\_aligned\\_depth, depth\\_aligned\\_color and infrared\nstreams.\n\nThe available streams are either native or synthetic, and each one will\ncreate a property that exposes the current content of the frame buffer\nin the form of ``device.``, where ```` is\ncolor, depth, points, cad, dac or infrared. To get access to new data,\n``Device.wait_for_frames`` has to be called once per frame.\n\nOffline Usage\n-------------\n\n::\n\n ## with connected device cam\n from pyrealsense import offline\n offline.save_depth_intrinsics(cam)\n\n::\n\n ## previous device cam now offline\n from pyrealsense import offline\n offline.load_depth_intrinsics('610205001689') # camera serial number\n d = np.linspace(0, 1000, 480*640, dtype=np.uint16)\n pc = offline.deproject_depth(d)\n\nThe module ``offline`` can store the rs\\_intrinsics and depth\\_scale of\na device to disk by default in the user's home directory in the file\n``.pyrealsense``. This can later be loaded and used to deproject depth\ndata into pointcloud, which is useful to store raw video file and save\nsome disk memory.\n\nExamples\n--------\n\nThere are 3 examples using different visualisation technologies: - still\ncolor with `matplotlib `__ - color and depth\nstream with `opencv `__ - pointcloud stream with\n`VTK `__\n\nCaveats\n-------\n\nTo this point, this wrapper is tested with:\n\n- `librealsense\n v1.12.1 `__\n- Ubuntu 16.04 LTS, Mac OS X 10.12.2 w/ SR300 camera\n- Mac OS X 10.12.3 w/ R200 camera\n\nThe offline module only supports a single camera.\n\nBuild Status\n------------\n\nUbuntu Trusty, python 2 and 3: |Build Status|\n\nPossible Pull Requests\n----------------------\n\n- improvments to the documentation\n- more functionality from ``rs.h``\n- boiler plate code (Qt example?)\n- support for several cameras in offline module\n- continuous integration for Windows and MacOs\n\nMake sure to push to the ``dev`` branch.\n\n.. |Build Status| image:: https://travis-ci.org/toinsson/pyrealsense.svg?branch=master\n :target: https://travis-ci.org/toinsson/pyrealsense", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/toinsson/pyrealsense", "keywords": "realsense", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "pyrealsense", "package_url": "https://pypi.org/project/pyrealsense/", "platform": "", "project_url": "https://pypi.org/project/pyrealsense/", "project_urls": { "Homepage": "https://github.com/toinsson/pyrealsense" }, "release_url": "https://pypi.org/project/pyrealsense/2.2/", "requires_dist": null, "requires_python": "", "summary": "Cross-platform ctypes/Cython wrapper to the librealsense library.", "version": "2.2" }, "last_serial": 3204387, "releases": { "1.4": [ { "comment_text": "", "digests": { "md5": "af904f365bb65cffe5ce5e7ebb5c1b45", "sha256": "f3fc4b90784507dc9ab42bb99f74a19d6c865ddf66b1a73e4faaefc971af8b91" }, "downloads": -1, "filename": "pyrealsense-1.4.tar.gz", "has_sig": false, "md5_digest": "af904f365bb65cffe5ce5e7ebb5c1b45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12862, "upload_time": "2017-03-05T17:16:24", "url": "https://files.pythonhosted.org/packages/8e/04/e2aed210e5755c4bd69a832faac065ed511186a7077affd1c4e1e87bd0e4/pyrealsense-1.4.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "bfee7ab7d93da6b2837377e24ed441c6", "sha256": "b335356340fcfa215ca6cd17ae4f511b2ec89a53d42a5915f1060bfb631d1e6b" }, "downloads": -1, "filename": "pyrealsense-2.0.tar.gz", "has_sig": false, "md5_digest": "bfee7ab7d93da6b2837377e24ed441c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57872, "upload_time": "2017-06-01T13:52:17", "url": "https://files.pythonhosted.org/packages/be/d3/f5a784aaaa2c93c2980a675494937868a3d75d063c6187a9e1a687c54788/pyrealsense-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "fa85f01b82017f8256e95ee90d31b2f4", "sha256": "931e032c001b1dc5390420aa09efbc9336ab9562c1768808a8d44a9295475042" }, "downloads": -1, "filename": "pyrealsense-2.1.tar.gz", "has_sig": false, "md5_digest": "fa85f01b82017f8256e95ee90d31b2f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60144, "upload_time": "2017-07-25T11:12:22", "url": "https://files.pythonhosted.org/packages/2e/f2/8ad5a78a4700fcbd0d98b2837f7c3577647e9d640a245241f7ff9ef0a48c/pyrealsense-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "bc32481f0b18e9b62b2d55b8c93458fe", "sha256": "c9933eb16384283c3058e8b37d7c8677066412bfdb0ab31517030deafb094dce" }, "downloads": -1, "filename": "pyrealsense-2.2.tar.gz", "has_sig": false, "md5_digest": "bc32481f0b18e9b62b2d55b8c93458fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60266, "upload_time": "2017-09-26T15:33:03", "url": "https://files.pythonhosted.org/packages/6b/08/bdf4ad92bffd0c53d403aa41af012d75315fb14896537c1e04e1c4396f72/pyrealsense-2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bc32481f0b18e9b62b2d55b8c93458fe", "sha256": "c9933eb16384283c3058e8b37d7c8677066412bfdb0ab31517030deafb094dce" }, "downloads": -1, "filename": "pyrealsense-2.2.tar.gz", "has_sig": false, "md5_digest": "bc32481f0b18e9b62b2d55b8c93458fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60266, "upload_time": "2017-09-26T15:33:03", "url": "https://files.pythonhosted.org/packages/6b/08/bdf4ad92bffd0c53d403aa41af012d75315fb14896537c1e04e1c4396f72/pyrealsense-2.2.tar.gz" } ] }