@@ -9,25 +9,31 @@ gnss_lib_py
99` gnss_lib_py ` is a modular Python tool for parsing, analyzing, and
1010visualizing Global Navigation Satellite Systems (GNSS) data and state
1111estimates.
12- It also provides an intuitive and modular framework allowing users to
12+ It also provides an intuitive and modular framework which allows users to
1313quickly prototype, implement, and visualize GNSS algorithms.
1414` gnss_lib_py ` is modular in the sense that multiple types of
15- algorithms can be easily exchanged for each other and extendable in
16- facilitating user-specific extensions of existing implementations.
15+ algorithms or datasets can be easily exchanged for each other.
16+ It is extendable in facilitating user-specific extensions of existing
17+ implementations.
1718
18- <img src =" https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/main/docs/source/img/skyplot.png " alt =" satellite skyplot " width =" 600 " />
19+ <img src =" https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/main/docs/source/img/glp_architecture.svg " alt =" Architecture of gnss-lib-py library " width =" 800 " />
1920
2021` gnss_lib_py ` contains parsers for common file types used for
2122storing GNSS measurements, benchmark algorithms for processing
2223measurements into state estimates and visualization tools for measurements
2324and state estimates.
2425The modularity of ` gnss_lib_py ` is made possibly by the unifying
25- ` NavData ` class, which contains methods to add, remove and modify
26- numeric and string data consistently.
27- We provide standard row names for ` NavData ` elements on the
26+ ` NavData ` class, with accompanying standard nomenclature, which can be
27+ found in the
2828[ reference page] ( https://gnss-lib-py.readthedocs.io/en/latest/reference/reference.html ) .
29- These names ensure cross compatibility between different datasets and
30- algorithms.
29+ The standard nomenclature ensures cross compatibility between different
30+ datasets and algorithms.
31+
32+ ` NavData ` combines the readability of ` pandas.DataFrame ` with ` numpy.ndarray `
33+ allowing for easy and fast access of numbers or strings.
34+ We also provide functionality to add, remove and modify numeric and
35+ string data consistently along with commonly needed supporting
36+ functionality.
3137
3238Documentation
3339-------------
@@ -51,7 +57,7 @@ Code Organization
5157 ├── parsers/ # Data parsers
5258 ├── utils/ # GNSS and common utilities
5359 ├── visualizations/ # plotting functions
54- └── __init__.py
60+ └── __init__.py # Initialize gnss_lib_py
5561 ├── notebooks/ # Interactive Jupyter notebooks
5662 ├── tutorials/ # Notebooks with tutorial code
5763 ├── results/ # Location for result images/files
@@ -61,7 +67,7 @@ Code Organization
6167 ├── parsers/ # Tests for files in parsers
6268 ├── utils/ # Tests for files in utils
6369 ├── visualizations/ # Tests for files in visualizations
64- └── test_gnss_lib_py .py # High level checks for repository
70+ └── conftest .py # Common methods for tests
6571 ├── CONTRIBUTORS.md # List of contributors
6672 ├── build_docs.sh # Bash script to build docs
6773 ├── poetry.lock # Poetry specific Lock file
@@ -70,14 +76,19 @@ Code Organization
7076```
7177In the directory organization above:
7278
73- * The ` algorithms ` directory contains localization algorithms that
79+ * The ` algorithms ` directory contains algorithms that
7480 work by passing in a ` NavData ` class. Currently, the following
7581 algorithms are implemented in the ` algorithms ` :
7682
7783 * Weighted Least Squares
7884 * Extended Kalman Filter
7985 * Calculating pseudorange residuals
8086 * Fault detection and exclusion
87+
88+ * The ` navdata ` directory defines the ` NavData ` class, its methods, and
89+ functions that operate on ` NavData ` instances, like ` sort ` , ` concat ` ,
90+ and others.
91+
8192 * The data parsers in the ` parsers ` directory allow for either loading
8293 GNSS data into ` gnss_lib_py ` 's unifying ` NavData ` class or parsing
8394 precise ephemerides data.
@@ -96,6 +107,10 @@ In the directory organization above:
96107 visualizations, calculating multi-GNSS satellite PVT information,
97108 satellite simulation, file operations, etc.
98109
110+ * The ` visualizations ` directory contains methods for plotting quantities
111+ in ` NavData ` . It includes methods to plot metrics, positions on maps,
112+ and skyplots of satellites visible from the receiver position.
113+
99114Installation
100115------------
101116
0 commit comments