{ "info": { "author": "Marx Liu", "author_email": "smartlazyman@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7" ], "description": "pyFlightAnalysis\n================\n\nA PX4 flight log (ulog) visual analysis tool, inspired by *FlightPlot*.\n\n.. figure:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/gui.png\n :alt: pyFlightAnalysis GUI\n\n pyFlightAnalysis GUI\n\n*pyFlightAnalysis* is written in Python, and depends on *pyqtgraph* (which is based on *PyQt*), *pyOpenGL*, *pyulog*, and a number of other widely used scientific packages including *numpy*, *matplotlib*, etc. \n\nFor other log analysis tools see `dev.px4.io `__\n\nInstallation\n------------\n\nYou can either clone the repository and run the tool directly from source, or you can install *pyFlightAnalysis* (from source or using the PyPi Python package manager) and then run it. In either case you will first need to install PyQt (as shown below).\n\nInstall PyQt\n^^^^^^^^^^^^\n\nFor *Python 3.x*, PyQt5 can be installed directly from pip:\n\n.. code:: bash\n\n pip install PyQt5\n\nFor *Python 2.x*, PyQt can't directly be installed using pip. Instead you will need to `install it manually `__ \n(if using Anaconda, install using the command: :code:`conda install pyqt`). \n\n\nRun from Source\n^^^^^^^^^^^^^^^\n\nAfter installing PyQt, enter the following commands to install other dependencies:\n\n.. code:: bash\n\n pip install pyqtgraph pyOpenGL pyulog matplotlib numpy\n\nOnce you have installed these packages you can clone the source files:\n\n.. code:: bash\n\n # In folder where you want put the source code\n git clone https://github.com/Marxlp/pyFlightAnalysis.git\n\nThen run the *analysis.py* source files:\n\n .. code:: bash\n\n cd pyFlightAnalysis/src\n python analysis.py\n\nInstall and Run\n^^^^^^^^^^^^^^^\n\nYou can install *pyFlightAnalysis* from either source or PyPi (after first installing PyQt as described above):\n\n.. code:: bash\n\n # Install from pypi\n pip install pyFlightAnalysis\n\nOr \n\n.. code:: bash\n\n # Install from source\n git clone https://github.com/Marxlp/pyFlightAnalysis.git\n python setup.py install\n\nAfter installing *pyFlightAnalysis* you can run it as shown:\n\n.. code:: bash\n\n analysis\n\n\nFeatures\n--------\n\n- Dynamic filter for displaying data\n- 3D visulization for attitude and position of drone\n- Easily replay with pyqtgraph's ROI (Region Of Interest)\n\nUsage\n-----\n\nVideo Tutorial:\n^^^^^^^^^^^^^^^\n\n`Brief usage tutorial of pyFlightAnalysis `__\n\nLiteracy Tutorial:\n^^^^^^^^^^^^^^^^^^\n\n1. Open log file (currently only support .ulg format) by clicked |open file|.\n2. Choose data by using filter |filter data| and double click to add it.\n3. Change color or toggle visibility |change color or toggle visibility|.\n4. Scroll the middle wheel of mouse to zoom, press down and drag to move the curve.\n5. Click |show quadrotor| to show 3D viewer ( currently may not be robust).\n6. Press |play data| to play ( you'd better open the 3D viewer to show the animation).\n\nIssues\n------\n\nIf you have installed PyQt4 and pyqtgraph but get the error below:\n\n.. code:: bash\n\n ImportError: cannot import name QtOpenGL\n\ntry\n\n.. code:: bash\n\n >>> sudo apt-get install python-qt4-gl\n\nLicense\n-------\n\n`MIT `__\n\n.. |open file| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/open_file.png\n.. |filter data| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/filter_data.png\n.. |change color or toggle visibility| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/modify_graph.png\n.. |show quadrotor| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/show_quadrotor.png\n.. |play data| image:: https://github.com/Marxlp/pyFlightAnalysis/blob/master/images/play_data.png\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Marxlp/pyFlightAnalysis", "keywords": "px4 log analysis", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyFlightAnalysis", "package_url": "https://pypi.org/project/pyFlightAnalysis/", "platform": "", "project_url": "https://pypi.org/project/pyFlightAnalysis/", "project_urls": { "Homepage": "https://github.com/Marxlp/pyFlightAnalysis" }, "release_url": "https://pypi.org/project/pyFlightAnalysis/1.1.0b0/", "requires_dist": [ "PyOpenGL (>=3.1.0)", "numpy (>=1.0.0)", "pyqtgraph (>=0.10.0)", "pyulog (>=0.5.0)" ], "requires_python": "", "summary": "Flight log data analysis visualization tool", "version": "1.1.0b0" }, "last_serial": 5665238, "releases": { "1.0.1b1": [ { "comment_text": "", "digests": { "md5": "86dabc5ff6ebbb8258c63bdae556de27", "sha256": "6c6218837a89a623c63a4273e3820ff7e5f721f17146d80aa2bba8bce655f50b" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.1b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86dabc5ff6ebbb8258c63bdae556de27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5197642, "upload_time": "2018-04-14T17:56:09", "url": "https://files.pythonhosted.org/packages/d8/f7/10554ded20470bd6201db0528fc323321c3ccb244887d24aef9973bff97a/pyFlightAnalysis-1.0.1b1-py2.py3-none-any.whl" } ], "1.0.5b2": [ { "comment_text": "", "digests": { "md5": "d945b63da4f4fb3a714ed5b2b7d1500a", "sha256": "c86a9e150c7b97787fa4a488823cf15b49e907052c01d769834ce809d6f1cd52" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.5b2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d945b63da4f4fb3a714ed5b2b7d1500a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5198364, "upload_time": "2018-10-11T09:29:26", "url": "https://files.pythonhosted.org/packages/2a/12/05038beac9fcce98c7d8c0163c67b9785d421806968b61d16462302d044a/pyFlightAnalysis-1.0.5b2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c963dc09089420cd198074c8cbfcd88e", "sha256": "a321b760ed03ae9d7087adfc3ee9256c4124545261ac3610a61c9cf51b4c8e6a" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.5b2.tar.gz", "has_sig": false, "md5_digest": "c963dc09089420cd198074c8cbfcd88e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5312491, "upload_time": "2018-10-11T09:29:32", "url": "https://files.pythonhosted.org/packages/01/50/0fa65f5565bed8e67476858cc21f6f6ac92d3b5fdb2b168d45d4eb8b7d6c/pyFlightAnalysis-1.0.5b2.tar.gz" } ], "1.0.6b2": [ { "comment_text": "", "digests": { "md5": "6653525e055bb67fb4cc211b7a827280", "sha256": "ae2a04b897924f26befce2574c5239faaca9c5b3ab2a0804997bcf0ae9825ff6" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.6b2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6653525e055bb67fb4cc211b7a827280", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5198451, "upload_time": "2018-10-26T19:43:36", "url": "https://files.pythonhosted.org/packages/62/5a/464625744ebcd32c0a9a119b380f0b793972cb017493def3358bc60ef84b/pyFlightAnalysis-1.0.6b2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bf1ad5fc8dbdb71a847bd74bc0c2600", "sha256": "cd436c409ff59cd72b40523e78f38e166df01fa9e959298711899ea0e68ee1e4" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.6b2.tar.gz", "has_sig": false, "md5_digest": "0bf1ad5fc8dbdb71a847bd74bc0c2600", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5312562, "upload_time": "2018-10-26T19:43:56", "url": "https://files.pythonhosted.org/packages/e5/35/b9057880b274d56a84fba4647fef69035ef9ee4f419a46ccf53307fd30e7/pyFlightAnalysis-1.0.6b2.tar.gz" } ], "1.0.7b0": [ { "comment_text": "", "digests": { "md5": "66aa21ee643f2b730d6a1ed19c5ee293", "sha256": "7e51872bb2dd5fbd4c480e4f74222d1076e4f6d8f396f53427f83a87bc7f4756" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.7b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66aa21ee643f2b730d6a1ed19c5ee293", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5198443, "upload_time": "2018-11-15T11:58:48", "url": "https://files.pythonhosted.org/packages/dc/a8/3a66c0e00837915a34ca3851405a7459b24a2bcf98474ca9c685f94b5841/pyFlightAnalysis-1.0.7b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a52bfa12c9092f2b7f370b278b8c0e75", "sha256": "81e34b8a9adce79efdb800fc652166cc31cf4e84be3289e065546290d9b0d5c3" }, "downloads": -1, "filename": "pyFlightAnalysis-1.0.7b0.tar.gz", "has_sig": false, "md5_digest": "a52bfa12c9092f2b7f370b278b8c0e75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5312561, "upload_time": "2018-11-15T11:59:04", "url": "https://files.pythonhosted.org/packages/c4/b5/7033e34b4fd74e69c3500b38451d095a623d647e5032686d3ff76120ea72/pyFlightAnalysis-1.0.7b0.tar.gz" } ], "1.1.0b0": [ { "comment_text": "", "digests": { "md5": "07103a8ab0666e3727e0fbf59a12ce29", "sha256": "9d0a4cec0ee06eef1451f81868aa43f3f40d5980698812d2d987dd5a7ba6df0f" }, "downloads": -1, "filename": "pyFlightAnalysis-1.1.0b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07103a8ab0666e3727e0fbf59a12ce29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5202057, "upload_time": "2019-08-12T09:49:31", "url": "https://files.pythonhosted.org/packages/c1/3a/9960b3e5aed2f8cb772cd157d0bb02eae1135828d903004eefa65d1236d1/pyFlightAnalysis-1.1.0b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5df67d4250614ccf99e37234344c3191", "sha256": "972199300e5ab7926285784506f63bb6e49069f2caa2c8ae43e7bea3e30c2473" }, "downloads": -1, "filename": "pyFlightAnalysis-1.1.0b0.tar.gz", "has_sig": false, "md5_digest": "5df67d4250614ccf99e37234344c3191", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5316139, "upload_time": "2019-08-12T09:49:37", "url": "https://files.pythonhosted.org/packages/23/98/5ed8193737358997c925486d454a96491a3ee6be54b15628a8f247091db1/pyFlightAnalysis-1.1.0b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "07103a8ab0666e3727e0fbf59a12ce29", "sha256": "9d0a4cec0ee06eef1451f81868aa43f3f40d5980698812d2d987dd5a7ba6df0f" }, "downloads": -1, "filename": "pyFlightAnalysis-1.1.0b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07103a8ab0666e3727e0fbf59a12ce29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5202057, "upload_time": "2019-08-12T09:49:31", "url": "https://files.pythonhosted.org/packages/c1/3a/9960b3e5aed2f8cb772cd157d0bb02eae1135828d903004eefa65d1236d1/pyFlightAnalysis-1.1.0b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5df67d4250614ccf99e37234344c3191", "sha256": "972199300e5ab7926285784506f63bb6e49069f2caa2c8ae43e7bea3e30c2473" }, "downloads": -1, "filename": "pyFlightAnalysis-1.1.0b0.tar.gz", "has_sig": false, "md5_digest": "5df67d4250614ccf99e37234344c3191", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5316139, "upload_time": "2019-08-12T09:49:37", "url": "https://files.pythonhosted.org/packages/23/98/5ed8193737358997c925486d454a96491a3ee6be54b15628a8f247091db1/pyFlightAnalysis-1.1.0b0.tar.gz" } ] }