mmWrt


NamemmWrt JSON
Version 0.0.8 PyPI version JSON
download
home_pagehttps://github.com/matt-chv/mmWrt
Summaryminimal raytracing code example for MIMO FMCW radar
upload_time2024-10-27 16:20:44
maintainerNone
docs_urlNone
authormatt-chv
requires_python>=3.8
licenseLICENSE
keywords radar mimo fmcw raytracing
VCS
bugtrack_url
requirements semver
Travis-CI No Travis.
coveralls test coverage
            # mmWrt

minimal raytracing for MIMO FMCW radar systems.

Intended usage:
1. educational & experimental

## Release Notes and Roadmap

### Released

v0.0.8:
    * adding TDM MIMO
    * adding DDM MIMO (including Doppler desambiguation)

v0.0.7
    * adding AoA
    * adding sparse array support

v0.0.6:

    * added micro-doppler
    * added non-regression on .ipynb in docs/ folder

v0.0.5:

    * moved dependancies from requirements to setup.py
    * added extras [dev] for developpers (and documentation and read the docs)
    * moved version checking from setup.py to test_basic.py
    * added readthedocs.yaml

v0.0.4:

    * adding frequency estimator
    * added speed processing
    * added support for radar equation (RCS, distance, ...)
    * antenna gains in azimumth, elevation and freq

v0.0.3: first release 

    * point targets only
    * 1D compute of baseband if signal for scene
    * 1D FFT, CFAR, peak grouping and target position error compute
    * single reflections

### NEXT ()

    * ~2D (AoA)~
    * ~2D FFT: range+velocity, range+AoA~
    * 2D peak grouping (by velocity sign)
    * 3D position error compute
    * 3D targets (at least spheres)
    * medium attenuation
    * 3D point clouds (i.e. over multiple CTI)
    * multiple single reflections

Not planned yet but considered:

* reads and loads .bin from DCA1000
  * record BB signals in .bin
  * 3D targets and scene rendering with imaging side by side radar
  * Swerling's scattering

## Example Code

Check on Google Colab the code:

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/gist/matt-chv/bdd8b835c5cb7e739bb8b68d00257690/fmcw-radar-101.ipynb)

Or Read the Docs on [![Read the docs](https://read-the-docs-guidelines.readthedocs-hosted.com/_images/logo-wordmark-light.png)](https://mmwrt.readthedocs.io/en/latest/)

## Release process

0. Ensure all the new .ipynb are added in docs/Hands-on.md 

1. run pyroma
(should be 10/10)

> pyroma .

2. run flake8 
runs with darglint settings for docstrings to numpy standard set in the .flake8 file
should yield 0 warnings or errors

> flake8

3. run pytest
should yield 100% pass

> pytest

4. run coverage

> coverage run -m pytest

5. run coverage report
(should be 100%)

> coverage report

6. run tox

> tox

7.run sphinx-api 
`updates the *.rst in docs/ folder`

> sphinx-apidoc -f -o docs mmWrt

8. run sphinx-build
(updates the read_the_docs folder)

> sphinx-build -b html docs build/html

9. release the Release-Candidate to pypi-test
check that __init__.py is "0.0.X-pre.Y" for RC numbering

> python setup.py bdist_wheel

> twine upload -r testpypi dist\*

10. check on Google Colab
(Google Colab requires py3.8 as off 2023-Jan-15)

if testing release-candidate need to add `--pre -U` or will install latest stable version. 

```
!python -m pip install -i https://test.pypi.org/simple/ --pre -U mmWrt
from mmWrt import __version__
print(__version__)
```

11. merge dev branch with main

> git checkout main
> git merge dev_branch_name

12. update the version to final
update  __init__.py to remove the suffix -pre.Y "0.0.X-pre.Y"

13. release on pypi (assumes your pypirc is local to the project)

> twine upload -r pypi --config-file=.\.pypirc dist\*

14. check on colab that pypi package works:

>!python -m pip install mmWrt
from mmWrt import __version__
print(__version__)

15. check updates on read_the_docs

> push to git to trigger readthedocs build:
> git push
> navigate to https://readthedocs.org/projects/mmwrt/builds/
> ensure build is successful

16. (optional) add tag for release

> git tag -a v0.0.X -m "version comment"
> git push origin v0.0.X

17. then check on google colab dev extras instals works

>!python -m pip install mmWrt[dev]

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/matt-chv/mmWrt",
    "name": "mmWrt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "radar MIMO FMCW raytracing",
    "author": "matt-chv",
    "author_email": "contact@matthieuchevrier.com",
    "download_url": null,
    "platform": null,
    "description": "# mmWrt\r\n\r\nminimal raytracing for MIMO FMCW radar systems.\r\n\r\nIntended usage:\r\n1. educational & experimental\r\n\r\n## Release Notes and Roadmap\r\n\r\n### Released\r\n\r\nv0.0.8:\r\n    * adding TDM MIMO\r\n    * adding DDM MIMO (including Doppler desambiguation)\r\n\r\nv0.0.7\r\n    * adding AoA\r\n    * adding sparse array support\r\n\r\nv0.0.6:\r\n\r\n    * added micro-doppler\r\n    * added non-regression on .ipynb in docs/ folder\r\n\r\nv0.0.5:\r\n\r\n    * moved dependancies from requirements to setup.py\r\n    * added extras [dev] for developpers (and documentation and read the docs)\r\n    * moved version checking from setup.py to test_basic.py\r\n    * added readthedocs.yaml\r\n\r\nv0.0.4:\r\n\r\n    * adding frequency estimator\r\n    * added speed processing\r\n    * added support for radar equation (RCS, distance, ...)\r\n    * antenna gains in azimumth, elevation and freq\r\n\r\nv0.0.3: first release \r\n\r\n    * point targets only\r\n    * 1D compute of baseband if signal for scene\r\n    * 1D FFT, CFAR, peak grouping and target position error compute\r\n    * single reflections\r\n\r\n### NEXT ()\r\n\r\n    * ~2D (AoA)~\r\n    * ~2D FFT: range+velocity, range+AoA~\r\n    * 2D peak grouping (by velocity sign)\r\n    * 3D position error compute\r\n    * 3D targets (at least spheres)\r\n    * medium attenuation\r\n    * 3D point clouds (i.e. over multiple CTI)\r\n    * multiple single reflections\r\n\r\nNot planned yet but considered:\r\n\r\n* reads and loads .bin from DCA1000\r\n  * record BB signals in .bin\r\n  * 3D targets and scene rendering with imaging side by side radar\r\n  * Swerling's scattering\r\n\r\n## Example Code\r\n\r\nCheck on Google Colab the code:\r\n\r\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/gist/matt-chv/bdd8b835c5cb7e739bb8b68d00257690/fmcw-radar-101.ipynb)\r\n\r\nOr Read the Docs on [![Read the docs](https://read-the-docs-guidelines.readthedocs-hosted.com/_images/logo-wordmark-light.png)](https://mmwrt.readthedocs.io/en/latest/)\r\n\r\n## Release process\r\n\r\n0. Ensure all the new .ipynb are added in docs/Hands-on.md \r\n\r\n1. run pyroma\r\n(should be 10/10)\r\n\r\n> pyroma .\r\n\r\n2. run flake8 \r\nruns with darglint settings for docstrings to numpy standard set in the .flake8 file\r\nshould yield 0 warnings or errors\r\n\r\n> flake8\r\n\r\n3. run pytest\r\nshould yield 100% pass\r\n\r\n> pytest\r\n\r\n4. run coverage\r\n\r\n> coverage run -m pytest\r\n\r\n5. run coverage report\r\n(should be 100%)\r\n\r\n> coverage report\r\n\r\n6. run tox\r\n\r\n> tox\r\n\r\n7.run sphinx-api \r\n`updates the *.rst in docs/ folder`\r\n\r\n> sphinx-apidoc -f -o docs mmWrt\r\n\r\n8. run sphinx-build\r\n(updates the read_the_docs folder)\r\n\r\n> sphinx-build -b html docs build/html\r\n\r\n9. release the Release-Candidate to pypi-test\r\ncheck that __init__.py is \"0.0.X-pre.Y\" for RC numbering\r\n\r\n> python setup.py bdist_wheel\r\n\r\n> twine upload -r testpypi dist\\*\r\n\r\n10. check on Google Colab\r\n(Google Colab requires py3.8 as off 2023-Jan-15)\r\n\r\nif testing release-candidate need to add `--pre -U` or will install latest stable version. \r\n\r\n```\r\n!python -m pip install -i https://test.pypi.org/simple/ --pre -U mmWrt\r\nfrom mmWrt import __version__\r\nprint(__version__)\r\n```\r\n\r\n11. merge dev branch with main\r\n\r\n> git checkout main\r\n> git merge dev_branch_name\r\n\r\n12. update the version to final\r\nupdate  __init__.py to remove the suffix -pre.Y \"0.0.X-pre.Y\"\r\n\r\n13. release on pypi (assumes your pypirc is local to the project)\r\n\r\n> twine upload -r pypi --config-file=.\\.pypirc dist\\*\r\n\r\n14. check on colab that pypi package works:\r\n\r\n>!python -m pip install mmWrt\r\nfrom mmWrt import __version__\r\nprint(__version__)\r\n\r\n15. check updates on read_the_docs\r\n\r\n> push to git to trigger readthedocs build:\r\n> git push\r\n> navigate to https://readthedocs.org/projects/mmwrt/builds/\r\n> ensure build is successful\r\n\r\n16. (optional) add tag for release\r\n\r\n> git tag -a v0.0.X -m \"version comment\"\r\n> git push origin v0.0.X\r\n\r\n17. then check on google colab dev extras instals works\r\n\r\n>!python -m pip install mmWrt[dev]\r\n",
    "bugtrack_url": null,
    "license": "LICENSE",
    "summary": "minimal raytracing code example for MIMO FMCW radar",
    "version": "0.0.8",
    "project_urls": {
        "Bug Tracker": "https://github.com/matt-chv/mmWrt/issues",
        "Homepage": "https://github.com/matt-chv/mmWrt"
    },
    "split_keywords": [
        "radar",
        "mimo",
        "fmcw",
        "raytracing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "14ec44f7b44be64f999ad5dd1f85dd5d730038c443afafa7fe1609a6edc060e5",
                "md5": "ca2e6b0ed010e48178dce0ac0c4996be",
                "sha256": "7cc4b1ba1e473cea68581e38f25596572b6af9e93cfb07a69fb8726a90e40954"
            },
            "downloads": -1,
            "filename": "mmWrt-0.0.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ca2e6b0ed010e48178dce0ac0c4996be",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 19205,
            "upload_time": "2024-10-27T16:20:44",
            "upload_time_iso_8601": "2024-10-27T16:20:44.532275Z",
            "url": "https://files.pythonhosted.org/packages/14/ec/44f7b44be64f999ad5dd1f85dd5d730038c443afafa7fe1609a6edc060e5/mmWrt-0.0.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-27 16:20:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "matt-chv",
    "github_project": "mmWrt",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": false,
    "requirements": [
        {
            "name": "semver",
            "specs": []
        }
    ],
    "tox": true,
    "lcname": "mmwrt"
}
        
Elapsed time: 0.32922s