mmwave-capture-std
mmwave-capture-std is a fast, reliable, and replicable Texas Instruments millimeter-wave capture toolkit.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.8%) to scientific vocabulary
Keywords
Repository
mmwave-capture-std is a fast, reliable, and replicable Texas Instruments millimeter-wave capture toolkit.
Basic Info
- Host: GitHub
- Owner: mmwave-capture-std
- License: bsd-3-clause-clear
- Language: Python
- Default Branch: main
- Homepage: https://www.cs.unc.edu/~louielu/p/mmwave-capture-std/
- Size: 658 KB
Statistics
- Stars: 12
- Watchers: 0
- Forks: 3
- Open Issues: 4
- Releases: 0
Topics
Metadata Files
README.md
Millimeter-wave Capture Standard (mmwave-capture-std)
mmwave-capture-std is a fast, reliable, and replicable Texas Instruments millimeter-wave capture toolkit, focus on data capturing and raw data parsing.
It stands out with three key attributes:
Fast: It parses raw data into
np.ndarray[np.complex64]2.09 times faster than state-of-the-art packages (0.59s v.s. 1.239s).Reliable: It makes users easily identify and debug hardware issues, and provides fine-grained control over different hardware. It achieves this by comprehensive logging (stderr & file) and by separating the hardware setup from the data capture code.
Replicable: It simplifies the process of replicating the recording setup by using a toml config file to manage capture hardware, layout the dataset as HDF5-like structure, and provide sensor config files to each capture result.
Capture Millimeter-wave Raw Data is Easy
Here is an example of using mmwave-capture-std to capture mmwave data
from IWR1483BOOST and DCA1000EVM:
bash
$ uv run mmwavecapture-std examples/capture_iwr1843.toml
2023-06-02 :43.91 | INFO | ...:...:225 - Capture ID: 0
2023-06-02 :43.91 | INFO | ...:init_hw:230 - Initializing capture hardware `iwr1843`..
2023-06-02 :49.32 | SUCCESS | ...:init_hw:245 - Capture hardware `iwr1843` initialized
2023-06-02 :49.32 | SUCCESS | ...:init_hw:247 - Total of 1 capture hardware initialized
2023-06-02 :49.32 | INFO | ...:capture:258 - Adding capture hardware `iwr1843`
2023-06-02 :49.32 | INFO | ...:capture:121 - Preparing capture hardware
2023-06-02 :49.32 | INFO | ...:capture:125 - Starting capture hardware
2023-06-02 :49.42 | SUCCESS | ...:capture:128 - Capture started
2023-06-02 :52.49 | INFO | ...:capture:132 - Capture finished
2023-06-02 :52.49 | INFO | ...:capture:134 - Dumping capture hardware configurations
2023-06-02 :52.49 | SUCCESS | ...:capture:270 - Capture finished, all files ...
Nice and easy! Your capture result will be stored like this with HDF5-like structure:
bash
☁ mmwave-capture-std [main] tree example_dataset
example_dataset
└── capture_00000
├── capture.log
├── config.toml
└── iwr1843
├── dca.json
├── dca.pcap
└── radar.cfg
You probably will need to modify the configuration to reflect your
capture hardware setup. Change the following setting in example/capture_iwr1843.toml
to your setup: (assume you did not change any setting on DCA1000EVM EEPROM)
toml
[hardware.iwr1843]
dca_eth_interface = "enp5s0"
radar_config_port = "/dev/ttyACM0"
radar_data_port = "/dev/ttyACM1"
capture_frames = 10
Where to start?
First, setup your environment (hardware, software, and network): Setup.
Then, read our quickstart to get familiar with how mmwave-capture-std works: Quickstart.
See the full documentation: mmwave-capture-std Documentation for more information.
Links
- Homepage: https://www.cs.unc.edu/~louielu/p/mmwave-capture-std/
- Documentation: mmwave-capture-std Documentation
- Source Code: mmwave-capture-std/mmwave-capture-std
- License: BSD 3-Clause Clear License
Contribute
Use the following snippet to setup your development environment:
bash
git clone <repo-url>
cd mmwave-capture-std
uv sync # Prepare env and install deps
uv run pre-commit install # Install pre-commit hooks
Related Publications
mmCounter: Static People Counting in Dense Indoor Scenarios using mmWave Radar
- Tarik Reza Toha, Shao-Jung (Louie) Lu, and Shahriar Nirjon
- The 22nd International Conference on Embedded Wireless Systems and Networks (EWSN '25)
mmDefender: A mmWave System for On-Body Localization of Concealed Threats in Moving Persons
- Shao-Jung (Louie) Lu, Mahathir Monjur, Sirajum Munir, and Shahriar Nirjon
- The 22nd International Conference on Embedded Wireless Systems and Networks (EWSN '25)
LICENSE
```text The Clear BSD License
Copyright (c) 2023 Louie Lu louielu@cs.unc.edu All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ```
Owner
- Name: mmwave-capture-std
- Login: mmwave-capture-std
- Kind: organization
- Repositories: 1
- Profile: https://github.com/mmwave-capture-std
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Millimeter-wave Capture Standard (mmwave-capture-std)
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Shao-Jung (Louie)
family-names: Lu
email: louielu@cs.unc.edu
repository-code: 'https://github.com/mmwave-capture-std/mmwave-capture-std'
url: 'https://www.cs.unc.edu/~louielu/p/mmwave-capture-std/'
abstract: >-
mmwave-capture-std is a fast, reliable, and replicable
Texas Instruments millimeter-wave capture toolkit.
license: BSD-3-Clause-Clear
GitHub Events
Total
- Watch event: 10
- Push event: 8
- Pull request review comment event: 2
- Pull request event: 1
- Pull request review event: 4
- Fork event: 4
- Create event: 2
Last Year
- Watch event: 10
- Push event: 8
- Pull request review comment event: 2
- Pull request event: 1
- Pull request review event: 4
- Fork event: 4
- Create event: 2
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Louie Lu | g****t@l****u | 69 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 3
- Total pull requests: 19
- Average time to close issues: N/A
- Average time to close pull requests: 4 minutes
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.33
- Average comments per pull request: 0.05
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 19
- Average time to close issues: N/A
- Average time to close pull requests: 4 minutes
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.33
- Average comments per pull request: 0.05
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mlouielu (2)
Pull Request Authors
- mlouielu (18)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- furo ==2023.5.20
- alabaster 0.7.13
- babel 2.12.1
- beautifulsoup4 4.12.2
- certifi 2023.5.7
- cffi 1.15.1
- cfgv 3.3.1
- charset-normalizer 3.1.0
- click 8.1.3
- colorama 0.4.6
- disspcap 1.1.1
- distlib 0.3.6
- docutils 0.20.1
- exceptiongroup 1.1.1
- filelock 3.12.2
- furo 2023.5.20
- identify 2.5.24
- idna 3.4
- imagesize 1.4.1
- importlib-metadata 6.6.0
- iniconfig 2.0.0
- jinja2 3.1.2
- livereload 2.6.3
- loguru 0.7.0
- markupsafe 2.1.3
- netifaces 0.11.0
- nodeenv 1.8.0
- numpy 1.24.3
- opencv-python 4.7.0.72
- packaging 23.1
- platformdirs 3.5.3
- pluggy 1.0.0
- pre-commit 3.3.2
- pybind11 2.10.4
- pycparser 2.21
- pygments 2.15.1
- pyrealsense2 2.54.1.5217
- pyserial 3.5
- pytest 7.3.2
- pytz 2023.3
- pyyaml 6.0
- requests 2.31.0
- setuptools 67.8.0
- six 1.16.0
- snowballstemmer 2.2.0
- soupsieve 2.4.1
- sphinx 7.0.1
- sphinx-autobuild 2021.3.14
- sphinx-basic-ng 1.0.0b1
- sphinxcontrib-applehelp 1.0.4
- sphinxcontrib-devhelp 1.0.2
- sphinxcontrib-htmlhelp 2.0.1
- sphinxcontrib-jsmath 1.0.1
- sphinxcontrib-qthelp 1.0.3
- sphinxcontrib-serializinghtml 1.1.5
- toml 0.10.2
- tomli 2.0.1
- tornado 6.3.2
- urllib3 2.0.3
- virtualenv 20.23.0
- win32-setctime 1.1.0
- zipp 3.15.0
- zstandard 0.21.0