Skip to content

Commit 9da5ec4

Browse files
deploy: 87d036c
1 parent cac3c75 commit 9da5ec4

10 files changed

Lines changed: 42 additions & 30 deletions

File tree

.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 2110ed1ae16ae338091ed8b2dd0ed287
3+
config: d93351a81e0c1bc8b8921685ddea84dd
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

.doctrees/environment.pickle

794 Bytes
Binary file not shown.
172 Bytes
Binary file not shown.

.doctrees/nbsphinx/getting_started/notebook.ipynb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,10 @@
3030
"outputs": [],
3131
"source": [
3232
"from perda.analyzer import Analyzer\n",
33+
"from perda.utils import Preprocessing\n",
3334
"\n",
34-
"csvPath = \"csv_files/26thMar12-00-34.csv\"\n",
35-
"aly = Analyzer(csvPath)\n",
35+
"csvPath = \"csv_files/16thApr10-52-00.csv\"\n",
36+
"aly = Analyzer(csvPath, corrections=[Preprocessing.PATCH_NED_VELOCITY])\n",
3637
"\n",
3738
"# Print summary of the loaded data\n",
3839
"print(aly)"
@@ -461,7 +462,7 @@
461462
],
462463
"metadata": {
463464
"kernelspec": {
464-
"display_name": "pymain",
465+
"display_name": ".venv",
465466
"language": "python",
466467
"name": "python3"
467468
},
@@ -475,7 +476,7 @@
475476
"name": "python",
476477
"nbconvert_exporter": "python",
477478
"pygments_lexer": "ipython3",
478-
"version": "3.13.2"
479+
"version": "3.13.1"
479480
}
480481
},
481482
"nbformat": 4,

_modules/perda/server/client.html

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -505,11 +505,15 @@ <h1>Source code for perda.server.client</h1><div class="highlight"><pre>
505505
<span class="sd"> &gt;&gt;&gt; print(aly)</span>
506506
<span class="sd"> &quot;&quot;&quot;</span>
507507
<span class="n">local_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_download</span><span class="p">(</span><span class="n">log_key</span><span class="p">)</span>
508-
<span class="k">return</span> <span class="n">Analyzer</span><span class="p">(</span>
509-
<span class="n">local_path</span><span class="p">,</span>
510-
<span class="n">ts_offset</span><span class="o">=</span><span class="n">ts_offset</span><span class="p">,</span>
511-
<span class="n">parsing_errors_limit</span><span class="o">=</span><span class="n">parsing_errors_limit</span><span class="p">,</span>
512-
<span class="p">)</span></div>
508+
<span class="k">try</span><span class="p">:</span>
509+
<span class="k">return</span> <span class="n">Analyzer</span><span class="p">(</span>
510+
<span class="n">local_path</span><span class="p">,</span>
511+
<span class="n">ts_offset</span><span class="o">=</span><span class="n">ts_offset</span><span class="p">,</span>
512+
<span class="n">parsing_errors_limit</span><span class="o">=</span><span class="n">parsing_errors_limit</span><span class="p">,</span>
513+
<span class="p">)</span>
514+
<span class="k">finally</span><span class="p">:</span>
515+
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cache_dir</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
516+
<span class="n">Path</span><span class="p">(</span><span class="n">local_path</span><span class="p">)</span><span class="o">.</span><span class="n">unlink</span><span class="p">(</span><span class="n">missing_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
513517

514518

515519
<div class="viewcode-block" id="ServerClient.print_logs">

_modules/perda/utils/preprocessing.html

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ <h1>Source code for perda.utils.preprocessing</h1><div class="highlight"><pre>
308308

309309
<span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
310310

311-
<span class="kn">from</span><span class="w"> </span><span class="nn">..core_data_structures.data_instance</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataInstance</span>
311+
<span class="kn">from</span><span class="w"> </span><span class="nn">..core_data_structures.data_instance</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataInstance</span><span class="p">,</span> <span class="n">left_join_data_instances</span>
312312
<span class="kn">from</span><span class="w"> </span><span class="nn">..core_data_structures.single_run_data</span><span class="w"> </span><span class="kn">import</span> <span class="n">SingleRunData</span>
313313
<span class="kn">from</span><span class="w"> </span><span class="nn">..units</span><span class="w"> </span><span class="kn">import</span> <span class="n">in_to_m</span><span class="p">,</span> <span class="n">mph_to_m_per_s</span>
314314

@@ -395,16 +395,19 @@ <h1>Source code for perda.utils.preprocessing</h1><div class="highlight"><pre>
395395
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;WARNING: PATCH_NED_VELOCITY skipped — missing variables: </span><span class="si">{</span><span class="n">missing</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
396396
<span class="k">return</span> <span class="n">data</span>
397397

398-
<span class="n">vel_n</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">_VEL_X</span><span class="p">]</span><span class="o">.</span><span class="n">value_np</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
399-
<span class="n">vel_e</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">_VEL_Y</span><span class="p">]</span><span class="o">.</span><span class="n">value_np</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
400-
<span class="n">vel_d</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">_VEL_Z</span><span class="p">]</span><span class="o">.</span><span class="n">value_np</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
401-
<span class="n">yaw_rad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">radians</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="n">_YAW</span><span class="p">]</span><span class="o">.</span><span class="n">value_np</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">))</span>
398+
<span class="n">vel_n1</span><span class="p">,</span> <span class="n">vel_e1</span><span class="p">,</span> <span class="n">vel_d1</span><span class="p">,</span> <span class="n">yaw_deg</span> <span class="o">=</span> <span class="n">left_join_data_instances</span><span class="p">(</span>
399+
<span class="n">data</span><span class="p">[</span><span class="n">_VEL_X</span><span class="p">],</span> <span class="p">[</span><span class="n">data</span><span class="p">[</span><span class="n">_VEL_Y</span><span class="p">],</span> <span class="n">data</span><span class="p">[</span><span class="n">_VEL_Z</span><span class="p">],</span> <span class="n">data</span><span class="p">[</span><span class="n">_YAW</span><span class="p">]]</span>
400+
<span class="p">)</span>
401+
402+
<span class="n">vel_n</span> <span class="o">=</span> <span class="n">vel_n1</span><span class="o">.</span><span class="n">value_np</span>
403+
<span class="n">vel_e</span> <span class="o">=</span> <span class="n">vel_e1</span><span class="o">.</span><span class="n">value_np</span>
404+
<span class="n">vel_d</span> <span class="o">=</span> <span class="n">vel_d1</span><span class="o">.</span><span class="n">value_np</span>
405+
<span class="n">yaw_rad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">radians</span><span class="p">(</span><span class="n">yaw_deg</span><span class="o">.</span><span class="n">value_np</span><span class="p">)</span>
402406

403407
<span class="c1"># Preserve raw NED copies</span>
404-
<span class="n">ts</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">_VEL_X</span><span class="p">]</span><span class="o">.</span><span class="n">timestamp_np</span>
405-
<span class="n">_add</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="s2">&quot;velN&quot;</span><span class="p">,</span> <span class="s2">&quot;NED North velocity (raw)&quot;</span><span class="p">,</span> <span class="n">ts</span><span class="p">,</span> <span class="n">vel_n</span><span class="o">.</span><span class="n">copy</span><span class="p">())</span>
406-
<span class="n">_add</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="s2">&quot;velE&quot;</span><span class="p">,</span> <span class="s2">&quot;NED East velocity (raw)&quot;</span><span class="p">,</span> <span class="n">ts</span><span class="p">,</span> <span class="n">vel_e</span><span class="o">.</span><span class="n">copy</span><span class="p">())</span>
407-
<span class="n">_add</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="s2">&quot;velD&quot;</span><span class="p">,</span> <span class="s2">&quot;NED Down velocity (raw)&quot;</span><span class="p">,</span> <span class="n">ts</span><span class="p">,</span> <span class="n">vel_d</span><span class="o">.</span><span class="n">copy</span><span class="p">())</span>
408+
<span class="n">_add</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="s2">&quot;velN&quot;</span><span class="p">,</span> <span class="s2">&quot;NED North velocity (raw)&quot;</span><span class="p">,</span> <span class="n">vel_n1</span><span class="o">.</span><span class="n">timestamp_np</span><span class="p">,</span> <span class="n">vel_n</span><span class="o">.</span><span class="n">copy</span><span class="p">())</span>
409+
<span class="n">_add</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="s2">&quot;velE&quot;</span><span class="p">,</span> <span class="s2">&quot;NED East velocity (raw)&quot;</span><span class="p">,</span> <span class="n">vel_e1</span><span class="o">.</span><span class="n">timestamp_np</span><span class="p">,</span> <span class="n">vel_e</span><span class="o">.</span><span class="n">copy</span><span class="p">())</span>
410+
<span class="n">_add</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="s2">&quot;velD&quot;</span><span class="p">,</span> <span class="s2">&quot;NED Down velocity (raw)&quot;</span><span class="p">,</span> <span class="n">vel_d1</span><span class="o">.</span><span class="n">timestamp_np</span><span class="p">,</span> <span class="n">vel_d</span><span class="o">.</span><span class="n">copy</span><span class="p">())</span>
408411

409412
<span class="c1"># Rotate NED → body-frame (FRD) using yaw only</span>
410413
<span class="n">cos_y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">yaw_rad</span><span class="p">)</span>

_modules/perda/utils/search.html

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@
305305
<h1>Source code for perda.utils.search</h1><div class="highlight"><pre>
306306
<span></span><span class="kn">import</span><span class="w"> </span><span class="nn">re</span>
307307
<span class="kn">from</span><span class="w"> </span><span class="nn">pathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">Path</span>
308+
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Any</span>
308309

309310
<span class="kn">from</span><span class="w"> </span><span class="nn">pydantic</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseModel</span>
310311
<span class="kn">from</span><span class="w"> </span><span class="nn">rapidfuzz</span><span class="w"> </span><span class="kn">import</span> <span class="n">fuzz</span>
@@ -313,7 +314,7 @@ <h1>Source code for perda.utils.search</h1><div class="highlight"><pre>
313314
<span class="kn">from</span><span class="w"> </span><span class="nn">..core_data_structures.single_run_data</span><span class="w"> </span><span class="kn">import</span> <span class="n">SingleRunData</span>
314315

315316
<span class="k">try</span><span class="p">:</span>
316-
<span class="kn">from</span><span class="w"> </span><span class="nn">sentence_transformers.cross_encoder</span><span class="w"> </span><span class="kn">import</span> <span class="n">CrossEncoder</span> <span class="k">as</span> <span class="n">_CrossEncoder</span>
317+
<span class="kn">from</span><span class="w"> </span><span class="nn">sentence_transformers.cross_encoder</span><span class="w"> </span><span class="kn">import</span> <span class="n">CrossEncoder</span>
317318

318319
<span class="n">_SEMANTIC_AVAILABLE</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
319320
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
@@ -322,7 +323,8 @@ <h1>Source code for perda.utils.search</h1><div class="highlight"><pre>
322323
<span class="n">_MODEL_DIR</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="vm">__file__</span><span class="p">)</span><span class="o">.</span><span class="n">resolve</span><span class="p">()</span><span class="o">.</span><span class="n">parents</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">/</span> <span class="s2">&quot;models&quot;</span> <span class="o">/</span> <span class="s2">&quot;stsb-cross-encoder&quot;</span>
323324
<span class="n">_HF_MODEL_ID</span> <span class="o">=</span> <span class="s2">&quot;cross-encoder/stsb-distilroberta-base&quot;</span>
324325

325-
<span class="n">_model</span><span class="p">:</span> <span class="n">_CrossEncoder</span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># _CrossEncoder instance when loaded, else None</span>
326+
<span class="c1"># CrossEncoder instance when loaded, else None</span>
327+
<span class="n">_model</span><span class="p">:</span> <span class="n">Any</span> <span class="o">=</span> <span class="kc">None</span>
326328

327329
<span class="n">ABBREVIATIONS</span><span class="p">:</span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
328330
<span class="s2">&quot;pcm&quot;</span><span class="p">:</span> <span class="s2">&quot;powertrain control module&quot;</span><span class="p">,</span>
@@ -387,12 +389,12 @@ <h1>Source code for perda.utils.search</h1><div class="highlight"><pre>
387389
<span class="k">try</span><span class="p">:</span>
388390
<span class="k">if</span> <span class="ow">not</span> <span class="n">_MODEL_DIR</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
389391
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Downloading cross-encoder model (one-time setup)...&quot;</span><span class="p">)</span>
390-
<span class="n">_model</span> <span class="o">=</span> <span class="n">_CrossEncoder</span><span class="p">(</span><span class="n">_HF_MODEL_ID</span><span class="p">)</span>
392+
<span class="n">_model</span> <span class="o">=</span> <span class="n">CrossEncoder</span><span class="p">(</span><span class="n">_HF_MODEL_ID</span><span class="p">)</span>
391393
<span class="n">_MODEL_DIR</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">parents</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
392394
<span class="n">_model</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">_MODEL_DIR</span><span class="p">))</span>
393395
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Model saved to: </span><span class="si">{</span><span class="n">_MODEL_DIR</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
394396
<span class="k">else</span><span class="p">:</span>
395-
<span class="n">_model</span> <span class="o">=</span> <span class="n">_CrossEncoder</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">_MODEL_DIR</span><span class="p">))</span>
397+
<span class="n">_model</span> <span class="o">=</span> <span class="n">CrossEncoder</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">_MODEL_DIR</span><span class="p">))</span>
396398
<span class="k">return</span> <span class="kc">True</span>
397399
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
398400
<span class="nb">print</span><span class="p">(</span>

getting_started/notebook.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -334,9 +334,10 @@ <h3>Load Data (local csv)<a class="headerlink" href="#Load-Data-(local-csv)" tit
334334
</pre></div>
335335
</div>
336336
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">perda.analyzer</span><span class="w"> </span><span class="kn">import</span> <span class="n">Analyzer</span>
337+
<span class="kn">from</span><span class="w"> </span><span class="nn">perda.utils</span><span class="w"> </span><span class="kn">import</span> <span class="n">Preprocessing</span>
337338

338-
<span class="n">csvPath</span> <span class="o">=</span> <span class="s2">&quot;csv_files/26thMar12-00-34.csv&quot;</span>
339-
<span class="n">aly</span> <span class="o">=</span> <span class="n">Analyzer</span><span class="p">(</span><span class="n">csvPath</span><span class="p">)</span>
339+
<span class="n">csvPath</span> <span class="o">=</span> <span class="s2">&quot;csv_files/16thApr10-52-00.csv&quot;</span>
340+
<span class="n">aly</span> <span class="o">=</span> <span class="n">Analyzer</span><span class="p">(</span><span class="n">csvPath</span><span class="p">,</span> <span class="n">corrections</span><span class="o">=</span><span class="p">[</span><span class="n">Preprocessing</span><span class="o">.</span><span class="n">PATCH_NED_VELOCITY</span><span class="p">])</span>
340341

341342
<span class="c1"># Print summary of the loaded data</span>
342343
<span class="nb">print</span><span class="p">(</span><span class="n">aly</span><span class="p">)</span>

getting_started/notebook.ipynb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,10 @@
3030
"outputs": [],
3131
"source": [
3232
"from perda.analyzer import Analyzer\n",
33+
"from perda.utils import Preprocessing\n",
3334
"\n",
34-
"csvPath = \"csv_files/26thMar12-00-34.csv\"\n",
35-
"aly = Analyzer(csvPath)\n",
35+
"csvPath = \"csv_files/16thApr10-52-00.csv\"\n",
36+
"aly = Analyzer(csvPath, corrections=[Preprocessing.PATCH_NED_VELOCITY])\n",
3637
"\n",
3738
"# Print summary of the loaded data\n",
3839
"print(aly)"
@@ -461,7 +462,7 @@
461462
],
462463
"metadata": {
463464
"kernelspec": {
464-
"display_name": "pymain",
465+
"display_name": ".venv",
465466
"language": "python",
466467
"name": "python3"
467468
},
@@ -475,7 +476,7 @@
475476
"name": "python",
476477
"nbconvert_exporter": "python",
477478
"pygments_lexer": "ipython3",
478-
"version": "3.13.2"
479+
"version": "3.13.1"
479480
}
480481
},
481482
"nbformat": 4,

searchindex.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)