flightanalysis 0.2.15__tar.gz → 0.2.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/PKG-INFO +6 -6
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/f3a_criteria_maker.py +5 -6
- flightanalysis-0.2.16/examples/scoring/temp.py +24 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/sch_analysis.py +23 -10
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/criteria.py +4 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/f3a_criteria.py +7 -6
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/intra/continuous.py +7 -4
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/measurement.py +3 -3
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/results.py +1 -1
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scripts/batch_analyse.py +4 -6
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/PKG-INFO +6 -6
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/SOURCES.txt +14 -13
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/requires.txt +5 -5
- flightanalysis-0.2.16/requirements-dev.txt +11 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/requirements.txt +2 -2
- flightanalysis-0.2.15/requirements-dev.txt +0 -11
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/.github/workflows/publish_pypi.yml +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/.gitignore +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/LICENSE +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/MANIFEST.in +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/README.md +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/manual_F3A_F23_22_04_28_00000231.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/manual_F3A_P23_22_05_31_00000350.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/manual_F3A_P23_23_08_11_00000094.json +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/AMA_Intermediate2024.py +0 -0
- {flightanalysis-0.2.15/examples/scoring/manoeuvres → flightanalysis-0.2.16/examples/schedule_construction}/__init__.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/create_all.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_a25.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_f25.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_p23.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_p25.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3auk_clubman.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3auk_intermediate.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/imac_sport2024.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/imac_unlim2024.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/make_manoeuvre.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/nsrca_inter2024.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/judging.py +0 -0
- {flightanalysis-0.2.15/examples/scoring/manoeuvres/mans → flightanalysis-0.2.16/examples/scoring/manoeuvres}/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/inter_analysis.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/intra_analysis.py +0 -0
- {flightanalysis-0.2.15/flightanalysis/definition/builders → flightanalysis-0.2.16/examples/scoring/manoeuvres/mans}/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/mans/extract_mans.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/mans/tHat.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/positioning_analysis.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/el_analysis.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/alignment.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/analysis.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/basic.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/complete.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/scored.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/IMAC_Unlimited2024_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3a_a25_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3a_f25_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3a_p23_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3a_p25_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3auk_clubman_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3auk_inter_schedule.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/__init__.py +0 -0
- {flightanalysis-0.2.15/flightanalysis/scoring/criteria/inter → flightanalysis-0.2.16/flightanalysis/definition/builders}/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/builders/elbuilders.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/builders/lines.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/builders/manbuilder.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/collectors.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/eldef.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/mandef.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/maninfo.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/manoption.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/manparm.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/funopp.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/itemopp.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/mathopp.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/operation.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/scheddef.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/scheduleinfo.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/autorotation.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/element.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/line.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/loop.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/nose_drop.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/pitch_break.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/recovery.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/elements/stall_turn.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/manoeuvre.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/schedule.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/exponential.py +0 -0
- {flightanalysis-0.2.15/flightanalysis/scoring/criteria/intra → flightanalysis-0.2.16/flightanalysis/scoring/criteria/inter}/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/inter/combination.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/inter/comparison.py +0 -0
- {flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/flightanalysis/scoring/criteria/intra}/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/intra/bounded.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/intra/single.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/downgrade.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scripts/collect_scores.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scripts/plot_scores.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/dependency_links.txt +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/entry_points.txt +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/top_level.txt +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/pyproject.toml +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/setup.cfg +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/EmailedBox.f3a +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/conftest.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/data/manual_F3A_P23.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/data/p23.BIN +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/data/p23_box.f3a +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/data/p23_fc.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/data/p23_flight.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_criiteria.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_data.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/test_definition_eldef.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/test_definition_manparm.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/test_definition_mpopp.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/test_schedule_definition.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/test_schedule_definition_maninfo.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/__init__.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/loop_analysis.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/p23_th_e0.csv +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/p23_th_e0.json +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/p23_th_e0_template.csv +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element_line.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element_loop.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element_nose_drop.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element_pitch_break.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element_recovery.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/test_schedule_element_stallturn.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_measurement.py +0 -0
- {flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_schedule_manoeuvre.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flightanalysis
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.16
|
|
4
4
|
Summary: A package for analysing flight data
|
|
5
5
|
Author-email: Thomas David <thomasdavid0@gmail.com>
|
|
6
6
|
License: GNU GPL v3
|
|
@@ -15,8 +15,8 @@ Requires-Dist: fastdtw
|
|
|
15
15
|
Requires-Dist: simplejson
|
|
16
16
|
Requires-Dist: loguru
|
|
17
17
|
Requires-Dist: joblib
|
|
18
|
-
Requires-Dist: pfc-geometry>=0.2.
|
|
19
|
-
Requires-Dist: flightdata>=0.2.
|
|
18
|
+
Requires-Dist: pfc-geometry>=0.2.7
|
|
19
|
+
Requires-Dist: flightdata>=0.2.15
|
|
20
20
|
Provides-Extra: dev
|
|
21
21
|
Requires-Dist: numpy; extra == "dev"
|
|
22
22
|
Requires-Dist: pandas; extra == "dev"
|
|
@@ -25,9 +25,9 @@ Requires-Dist: fastdtw; extra == "dev"
|
|
|
25
25
|
Requires-Dist: simplejson; extra == "dev"
|
|
26
26
|
Requires-Dist: loguru; extra == "dev"
|
|
27
27
|
Requires-Dist: joblib; extra == "dev"
|
|
28
|
-
Requires-Dist: pfc-geometry>=0.2.
|
|
29
|
-
Requires-Dist: flightdata>=0.2.
|
|
30
|
-
Requires-Dist: ardupilot_log_reader>=0.3.
|
|
28
|
+
Requires-Dist: pfc-geometry>=0.2.7; extra == "dev"
|
|
29
|
+
Requires-Dist: flightdata>=0.2.15; extra == "dev"
|
|
30
|
+
Requires-Dist: ardupilot_log_reader>=0.3.3; extra == "dev"
|
|
31
31
|
Requires-Dist: pymavlink; extra == "dev"
|
|
32
32
|
|
|
33
33
|
# FlightAnalysis
|
|
@@ -7,14 +7,13 @@ f3a=dict(
|
|
|
7
7
|
track=Single(Exponential.fit_points(np.radians([30, 90]), [2, 6], 6)),
|
|
8
8
|
roll=Single(Exponential.fit_points(np.radians([30, 90]), [1, 6], 6)),
|
|
9
9
|
angle=Single(Exponential.fit_points(np.radians([30, 90]), [2, 6], 6)),
|
|
10
|
-
# distance = Single(Exponential.fit_points([20, 40], [0.5, 1]))
|
|
11
10
|
),
|
|
12
11
|
intra=dict(
|
|
13
|
-
track=ContAbs(Exponential.fit_points(np.radians([30, 90]), [2, 6], 6)),
|
|
14
|
-
roll=ContAbs(Exponential.fit_points(np.radians([30, 90]), [1.5, 6], 6)),
|
|
15
|
-
radius=ContRat(Exponential.fit_points([1,5], [0.5, 4], 3)),
|
|
16
|
-
speed=ContRat(Exponential.fit_points([1,5], [0.15, 0.75], 1)),
|
|
17
|
-
roll_rate=ContRat(Exponential.fit_points([1,5], [0.15, 0.75], 2)),
|
|
12
|
+
track=ContAbs(Exponential.fit_points(np.radians([30, 90]), [2, 6], 6), 20),
|
|
13
|
+
roll=ContAbs(Exponential.fit_points(np.radians([30, 90]), [1.5, 6], 6), 30),
|
|
14
|
+
radius=ContRat(Exponential.fit_points([1,5], [0.5, 4], 3), 40),
|
|
15
|
+
speed=ContRat(Exponential.fit_points([1,5], [0.15, 0.75], 1), 50),
|
|
16
|
+
roll_rate=ContRat(Exponential.fit_points([1,5], [0.15, 0.75], 2), 40),
|
|
18
17
|
stallturn_speed=InsideBound(Exponential.fit_points([2, 5], [0.3,1.5]), [-2,2]),
|
|
19
18
|
stallturn_width=InsideBound(Exponential.fit_points([2, 5], [0.5,2.5]), [-2,2]),
|
|
20
19
|
spin_entry_length=InsideBound(Exponential.fit_points([2, 5], [0.3,1.5]), [-5,5]),
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
class F3ASingle:
|
|
2
|
+
track=Single(Exponential(3.8197186342054885,0.9999999999999999, 6 ))
|
|
3
|
+
roll=Single(Exponential(2.872721387028467,1.6309297535714575, 6 ))
|
|
4
|
+
angle=Single(Exponential(3.8197186342054885,0.9999999999999999, 6 ))
|
|
5
|
+
class F3AIntra:
|
|
6
|
+
track=ContAbs(Exponential(3.8197186342054885,0.9999999999999999, 6 ), 10, 3)
|
|
7
|
+
roll=ContAbs(Exponential(3.3937161800825275,1.2618595071429148, 6 ), 20, 3)
|
|
8
|
+
radius=ContRat(Exponential(0.5,1.2920296742201793, 3 ), 25, 3)
|
|
9
|
+
speed=ContRat(Exponential(0.15,1.0, 1 ), 50, 3)
|
|
10
|
+
roll_rate=ContRat(Exponential(0.15,1.0, 2 ), 25, 3)
|
|
11
|
+
stallturn_speed=InsideBound(Exponential(0.08879139070041006,1.75647079736603, None ), [-2, 2])
|
|
12
|
+
stallturn_width=InsideBound(Exponential(0.14798565116735013,1.75647079736603, None ), [-2, 2])
|
|
13
|
+
spin_entry_length=InsideBound(Exponential(0.08879139070041006,1.75647079736603, None ), [-5, 5])
|
|
14
|
+
pitch_break_length=InsideBound(Exponential(0.7,2.321928094887362, None ), [-2, 2])
|
|
15
|
+
nose_drop_amount=OutsideBound(Exponential(20,1, None ), [-0.2617993877991494, 0.2617993877991494])
|
|
16
|
+
recovery_length=MaxBound(Exponential(0.7,2.321928094887362, None ), 2)
|
|
17
|
+
box=InsideBound(Exponential(76.39437268410977,1, None ), [-1.0471975511965976, 1.0471975511965976])
|
|
18
|
+
depth=MaxBound(Exponential(0.02500000000000001,0.9999999999999999, None ), 170)
|
|
19
|
+
class F3AInter:
|
|
20
|
+
radius=Comparison(Exponential(1.0,1.0, 2 ))
|
|
21
|
+
speed=Comparison(Exponential(0.25,1.0000000000000002, 1 ))
|
|
22
|
+
roll_rate=Comparison(Exponential(0.25,1.0000000000000002, 1 ))
|
|
23
|
+
length=Comparison(Exponential(1.0,1.0, 2 ))
|
|
24
|
+
free=Comparison(Exponential(0,1, None ))
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from typing import Self, Union
|
|
3
3
|
from json import load, dump
|
|
4
|
-
from flightdata import Flight, State, Origin, Collection
|
|
4
|
+
from flightdata import Flight, State, Origin, Collection, NumpyEncoder
|
|
5
5
|
from flightanalysis.definition import SchedDef, ScheduleInfo
|
|
6
6
|
from . import manoeuvre_analysis as analysis
|
|
7
7
|
from loguru import logger
|
|
@@ -10,7 +10,7 @@ import os
|
|
|
10
10
|
import pandas as pd
|
|
11
11
|
from importlib.metadata import version
|
|
12
12
|
from packaging import version as pkgversion
|
|
13
|
-
|
|
13
|
+
from pathlib import Path
|
|
14
14
|
|
|
15
15
|
class ScheduleAnalysis(Collection):
|
|
16
16
|
VType=analysis.Analysis
|
|
@@ -21,8 +21,8 @@ class ScheduleAnalysis(Collection):
|
|
|
21
21
|
self.sinfo = sinfo
|
|
22
22
|
|
|
23
23
|
@staticmethod
|
|
24
|
-
def from_fcj(file: Union[str, dict], info: ScheduleInfo=None) -> ScheduleAnalysis:
|
|
25
|
-
data =
|
|
24
|
+
def from_fcj(file: Union[Union[str, bytes, os.PathLike], dict], info: ScheduleInfo=None) -> ScheduleAnalysis:
|
|
25
|
+
data = file if isinstance(file, dict) else load(open(file, 'r'))
|
|
26
26
|
|
|
27
27
|
flight = Flight.from_fc_json(data)
|
|
28
28
|
|
|
@@ -50,8 +50,8 @@ class ScheduleAnalysis(Collection):
|
|
|
50
50
|
|
|
51
51
|
return ScheduleAnalysis(mas,info)
|
|
52
52
|
|
|
53
|
-
def append_scores_to_fcj(self, file: Union[str, dict]) -> dict:
|
|
54
|
-
data =
|
|
53
|
+
def append_scores_to_fcj(self, file: Union[str, dict], ofile: str=None) -> dict:
|
|
54
|
+
data = file if isinstance(file, dict) else load(open(file, 'r'))
|
|
55
55
|
|
|
56
56
|
new_results = dict(
|
|
57
57
|
fa_version = version('flightanalysis'),
|
|
@@ -69,14 +69,27 @@ class ScheduleAnalysis(Collection):
|
|
|
69
69
|
else:
|
|
70
70
|
data['fcs_scores'].append(new_results)
|
|
71
71
|
|
|
72
|
+
if ofile:
|
|
73
|
+
if ofile=='same':
|
|
74
|
+
ofile = file
|
|
75
|
+
dump(data, open(ofile, 'w'), cls=NumpyEncoder, indent=2)
|
|
76
|
+
|
|
72
77
|
return data
|
|
73
|
-
|
|
78
|
+
|
|
79
|
+
# def export_fcj_and_internals(self, file: Union[str, dict]):
|
|
80
|
+
# data = load(open(file, 'r')) if isinstance(file, str) else file
|
|
81
|
+
# fcj = self.append_scores_to_fcj(data)
|
|
82
|
+
|
|
74
83
|
|
|
75
84
|
def run_all(self) -> Self:
|
|
76
85
|
def parse_analyse_serialise(pad):
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
try:
|
|
87
|
+
pad = analysis.parse_dict(pad)
|
|
88
|
+
pad = pad.run_all()
|
|
89
|
+
logger.info(f'Completed {pad.name}')
|
|
90
|
+
except Exception as e:
|
|
91
|
+
logger.error(f'Failed to process {pad.name}: {repr(e)}')
|
|
92
|
+
return pad.to_dict()
|
|
80
93
|
|
|
81
94
|
logger.info(f'Starting {os.cpu_count()} analysis processes')
|
|
82
95
|
madicts = Parallel(n_jobs=os.cpu_count())(
|
|
@@ -38,6 +38,10 @@ class Criteria:
|
|
|
38
38
|
_so = f"{self.__class__.__name__}(Exponential({self.lookup.factor},{self.lookup.exponent}, {self.lookup.limit} )"
|
|
39
39
|
if hasattr(self, 'bound'):
|
|
40
40
|
_so = f"{_so}, {self.bound}"
|
|
41
|
+
if hasattr(self, 'max_window'):
|
|
42
|
+
_so = f"{_so}, {self.max_window}"
|
|
43
|
+
if hasattr(self, 'window_ratio'):
|
|
44
|
+
_so = f"{_so}, {self.window_ratio}"
|
|
41
45
|
return _so + ')'
|
|
42
46
|
|
|
43
47
|
@dataclass
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/f3a_criteria.py
RENAMED
|
@@ -6,11 +6,11 @@ class F3ASingle:
|
|
|
6
6
|
roll=Single(Exponential(2.872721387028467,1.6309297535714575, 6 ))
|
|
7
7
|
angle=Single(Exponential(3.8197186342054885,0.9999999999999999, 6 ))
|
|
8
8
|
class F3AIntra:
|
|
9
|
-
track=ContAbs(Exponential(3.8197186342054885,0.9999999999999999, 6 ))
|
|
10
|
-
roll=ContAbs(Exponential(3.3937161800825275,1.2618595071429148, 6 ))
|
|
11
|
-
radius=ContRat(Exponential(0.5,1.2920296742201793, 3 ))
|
|
12
|
-
speed=ContRat(Exponential(0.15,1.0, 1 ))
|
|
13
|
-
roll_rate=ContRat(Exponential(0.15,1.0, 2 ))
|
|
9
|
+
track=ContAbs(Exponential(3.8197186342054885,0.9999999999999999, 6 ), 20, 3)
|
|
10
|
+
roll=ContAbs(Exponential(3.3937161800825275,1.2618595071429148, 6 ), 30, 3)
|
|
11
|
+
radius=ContRat(Exponential(0.5,1.2920296742201793, 3 ), 40, 3)
|
|
12
|
+
speed=ContRat(Exponential(0.15,1.0, 1 ), 50, 3)
|
|
13
|
+
roll_rate=ContRat(Exponential(0.15,1.0, 2 ), 40, 3)
|
|
14
14
|
stallturn_speed=InsideBound(Exponential(0.08879139070041006,1.75647079736603, None ), [-2, 2])
|
|
15
15
|
stallturn_width=InsideBound(Exponential(0.14798565116735013,1.75647079736603, None ), [-2, 2])
|
|
16
16
|
spin_entry_length=InsideBound(Exponential(0.08879139070041006,1.75647079736603, None ), [-5, 5])
|
|
@@ -18,7 +18,7 @@ class F3AIntra:
|
|
|
18
18
|
nose_drop_amount=OutsideBound(Exponential(20,1, None ), [-0.2617993877991494, 0.2617993877991494])
|
|
19
19
|
recovery_length=MaxBound(Exponential(0.7,2.321928094887362, None ), 2)
|
|
20
20
|
box=InsideBound(Exponential(76.39437268410977,1, None ), [-1.0471975511965976, 1.0471975511965976])
|
|
21
|
-
depth=MaxBound(Exponential(0.02500000000000001,0.9999999999999999,
|
|
21
|
+
depth=MaxBound(Exponential(0.02500000000000001,0.9999999999999999, None ), 170)
|
|
22
22
|
class F3AInter:
|
|
23
23
|
radius=Comparison(Exponential(1.0,1.0, 2 ))
|
|
24
24
|
speed=Comparison(Exponential(0.25,1.0000000000000002, 1 ))
|
|
@@ -28,6 +28,7 @@ class F3AInter:
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
|
|
31
32
|
class F3A:
|
|
32
33
|
inter = F3AInter
|
|
33
34
|
intra = F3AIntra
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/intra/continuous.py
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
import numpy as np
|
|
3
3
|
import numpy.typing as npt
|
|
4
|
-
import pandas as pd
|
|
5
4
|
from .. import Criteria
|
|
6
5
|
from dataclasses import dataclass
|
|
7
6
|
from flightanalysis.scoring import Measurement, Result
|
|
@@ -13,6 +12,9 @@ class Continuous(Criteria):
|
|
|
13
12
|
only downgrades for increases (away from zero) of the value.
|
|
14
13
|
treats each separate increase (peak - trough) as a new error.
|
|
15
14
|
"""
|
|
15
|
+
max_window: int = 40
|
|
16
|
+
window_ratio: int = 3
|
|
17
|
+
|
|
16
18
|
@staticmethod
|
|
17
19
|
def get_peak_locs(arr, rev=False):
|
|
18
20
|
increasing = np.sign(np.diff(np.abs(arr)))>0
|
|
@@ -66,14 +68,15 @@ class Continuous(Criteria):
|
|
|
66
68
|
_mean = np.mean(sample)
|
|
67
69
|
sample = (sample - _mean) * window / max_window + _mean
|
|
68
70
|
return sample
|
|
69
|
-
|
|
71
|
+
|
|
72
|
+
|
|
70
73
|
class ContAbs(Continuous):
|
|
71
74
|
def prepare(self, values: npt.NDArray, expected: float):
|
|
72
75
|
sample = values - expected
|
|
73
76
|
if len(sample) <= 8:
|
|
74
77
|
return np.linspace(values[0],values[-1], len(sample))
|
|
75
78
|
else:
|
|
76
|
-
return Continuous.convolve_wind(values,
|
|
79
|
+
return Continuous.convolve_wind(values, self.window_ratio, self.max_window)
|
|
77
80
|
|
|
78
81
|
@staticmethod
|
|
79
82
|
def mistakes(data, peaks, troughs):
|
|
@@ -98,7 +101,7 @@ class ContRat(Continuous):
|
|
|
98
101
|
len(values)
|
|
99
102
|
))
|
|
100
103
|
else:
|
|
101
|
-
return np.abs(Continuous.convolve_wind(values,
|
|
104
|
+
return np.abs(Continuous.convolve_wind(values, self.window_ratio, self.max_window))
|
|
102
105
|
|
|
103
106
|
@staticmethod
|
|
104
107
|
def mistakes(data, peaks, troughs):
|
|
@@ -4,7 +4,7 @@ from geometry import Point, Quaternion, PX, PY, PZ
|
|
|
4
4
|
import numpy as np
|
|
5
5
|
import pandas as pd
|
|
6
6
|
import numpy.typing as npt
|
|
7
|
-
from dataclasses import dataclass
|
|
7
|
+
from dataclasses import dataclass
|
|
8
8
|
from typing import Union, Self
|
|
9
9
|
|
|
10
10
|
|
|
@@ -72,7 +72,7 @@ class Measurement:
|
|
|
72
72
|
def _vector_vis(direction: Point, loc: Point) -> Union[Point, npt.NDArray]:
|
|
73
73
|
#a vector error is more visible if it is perpendicular to the viewing vector
|
|
74
74
|
# 0 to np.pi, pi/2 gives max, 0&np.pi give min
|
|
75
|
-
return direction, (1 - 0.
|
|
75
|
+
return direction, (1 - 0.9* np.abs(Point.cos_angle_between(loc, direction))) * Measurement._pos_vis(loc)
|
|
76
76
|
|
|
77
77
|
@staticmethod
|
|
78
78
|
def _roll_vis(fl: State, tp: State) -> Union[Point, npt.NDArray]:
|
|
@@ -89,7 +89,7 @@ class Measurement:
|
|
|
89
89
|
ao[np.abs(afl) > np.abs(atp)] = atp[np.abs(afl) > np.abs(atp)]
|
|
90
90
|
ao[np.sign(azfl) != np.sign(aztp)] = 0 # wings have passed through the view vector
|
|
91
91
|
|
|
92
|
-
rvis = (1-0.
|
|
92
|
+
rvis = (1-0.9*np.abs(ao))
|
|
93
93
|
|
|
94
94
|
return fl.att.transform_point(PZ()), rvis * Measurement._pos_vis(fl.pos)
|
|
95
95
|
|
|
@@ -40,15 +40,13 @@ def main():
|
|
|
40
40
|
logger.info(f'Processing file {i} of {len(all_logs)} - {file}')
|
|
41
41
|
data = load(open(file, 'r'))
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
else:
|
|
46
|
-
sa = ScheduleAnalysis.from_fcscore(data)
|
|
43
|
+
sa = ScheduleAnalysis.from_fcj(data)
|
|
44
|
+
|
|
47
45
|
logger.info(sa.sinfo)
|
|
48
46
|
sa = sa.run_all()
|
|
49
47
|
|
|
50
|
-
with open(outdir / f'{file.stem}
|
|
51
|
-
dump(sa.
|
|
48
|
+
with open(outdir / f'{file.stem}.json', 'w') as f:
|
|
49
|
+
dump(sa.append_scores_to_fcj(data), f, indent=4, cls=NumpyEncoder)
|
|
52
50
|
logger.info(f'scores:\n{dumps(sa.scores(), indent=2)}')
|
|
53
51
|
except Exception as e:
|
|
54
52
|
logger.error(f'Error processing {file}: {e}')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flightanalysis
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.16
|
|
4
4
|
Summary: A package for analysing flight data
|
|
5
5
|
Author-email: Thomas David <thomasdavid0@gmail.com>
|
|
6
6
|
License: GNU GPL v3
|
|
@@ -15,8 +15,8 @@ Requires-Dist: fastdtw
|
|
|
15
15
|
Requires-Dist: simplejson
|
|
16
16
|
Requires-Dist: loguru
|
|
17
17
|
Requires-Dist: joblib
|
|
18
|
-
Requires-Dist: pfc-geometry>=0.2.
|
|
19
|
-
Requires-Dist: flightdata>=0.2.
|
|
18
|
+
Requires-Dist: pfc-geometry>=0.2.7
|
|
19
|
+
Requires-Dist: flightdata>=0.2.15
|
|
20
20
|
Provides-Extra: dev
|
|
21
21
|
Requires-Dist: numpy; extra == "dev"
|
|
22
22
|
Requires-Dist: pandas; extra == "dev"
|
|
@@ -25,9 +25,9 @@ Requires-Dist: fastdtw; extra == "dev"
|
|
|
25
25
|
Requires-Dist: simplejson; extra == "dev"
|
|
26
26
|
Requires-Dist: loguru; extra == "dev"
|
|
27
27
|
Requires-Dist: joblib; extra == "dev"
|
|
28
|
-
Requires-Dist: pfc-geometry>=0.2.
|
|
29
|
-
Requires-Dist: flightdata>=0.2.
|
|
30
|
-
Requires-Dist: ardupilot_log_reader>=0.3.
|
|
28
|
+
Requires-Dist: pfc-geometry>=0.2.7; extra == "dev"
|
|
29
|
+
Requires-Dist: flightdata>=0.2.15; extra == "dev"
|
|
30
|
+
Requires-Dist: ardupilot_log_reader>=0.3.3; extra == "dev"
|
|
31
31
|
Requires-Dist: pymavlink; extra == "dev"
|
|
32
32
|
|
|
33
33
|
# FlightAnalysis
|
|
@@ -11,9 +11,23 @@ examples/data/__init__.py
|
|
|
11
11
|
examples/data/manual_F3A_F23_22_04_28_00000231.json
|
|
12
12
|
examples/data/manual_F3A_P23_22_05_31_00000350.json
|
|
13
13
|
examples/data/manual_F3A_P23_23_08_11_00000094.json
|
|
14
|
+
examples/schedule_construction/AMA_Intermediate2024.py
|
|
15
|
+
examples/schedule_construction/__init__.py
|
|
16
|
+
examples/schedule_construction/create_all.py
|
|
17
|
+
examples/schedule_construction/f3a_a25.py
|
|
18
|
+
examples/schedule_construction/f3a_f25.py
|
|
19
|
+
examples/schedule_construction/f3a_p23.py
|
|
20
|
+
examples/schedule_construction/f3a_p25.py
|
|
21
|
+
examples/schedule_construction/f3auk_clubman.py
|
|
22
|
+
examples/schedule_construction/f3auk_intermediate.py
|
|
23
|
+
examples/schedule_construction/imac_sport2024.py
|
|
24
|
+
examples/schedule_construction/imac_unlim2024.py
|
|
25
|
+
examples/schedule_construction/make_manoeuvre.py
|
|
26
|
+
examples/schedule_construction/nsrca_inter2024.py
|
|
14
27
|
examples/scoring/__init__.py
|
|
15
28
|
examples/scoring/f3a_criteria_maker.py
|
|
16
29
|
examples/scoring/judging.py
|
|
30
|
+
examples/scoring/temp.py
|
|
17
31
|
examples/scoring/manoeuvres/__init__.py
|
|
18
32
|
examples/scoring/manoeuvres/inter_analysis.py
|
|
19
33
|
examples/scoring/manoeuvres/intra_analysis.py
|
|
@@ -92,19 +106,6 @@ flightanalysis/scoring/criteria/intra/single.py
|
|
|
92
106
|
flightanalysis/scripts/batch_analyse.py
|
|
93
107
|
flightanalysis/scripts/collect_scores.py
|
|
94
108
|
flightanalysis/scripts/plot_scores.py
|
|
95
|
-
scripts/AMA_Intermediate2024.py
|
|
96
|
-
scripts/__init__.py
|
|
97
|
-
scripts/create_all.py
|
|
98
|
-
scripts/f3a_a25.py
|
|
99
|
-
scripts/f3a_f25.py
|
|
100
|
-
scripts/f3a_p23.py
|
|
101
|
-
scripts/f3a_p25.py
|
|
102
|
-
scripts/f3auk_clubman.py
|
|
103
|
-
scripts/f3auk_intermediate.py
|
|
104
|
-
scripts/imac_sport2024.py
|
|
105
|
-
scripts/imac_unlim2024.py
|
|
106
|
-
scripts/make_manoeuvre.py
|
|
107
|
-
scripts/nsrca_inter2024.py
|
|
108
109
|
tests/EmailedBox.f3a
|
|
109
110
|
tests/__init__.py
|
|
110
111
|
tests/conftest.py
|
|
@@ -5,8 +5,8 @@ fastdtw
|
|
|
5
5
|
simplejson
|
|
6
6
|
loguru
|
|
7
7
|
joblib
|
|
8
|
-
pfc-geometry>=0.2.
|
|
9
|
-
flightdata>=0.2.
|
|
8
|
+
pfc-geometry>=0.2.7
|
|
9
|
+
flightdata>=0.2.15
|
|
10
10
|
|
|
11
11
|
[dev]
|
|
12
12
|
numpy
|
|
@@ -16,7 +16,7 @@ fastdtw
|
|
|
16
16
|
simplejson
|
|
17
17
|
loguru
|
|
18
18
|
joblib
|
|
19
|
-
pfc-geometry>=0.2.
|
|
20
|
-
flightdata>=0.2.
|
|
21
|
-
ardupilot_log_reader>=0.3.
|
|
19
|
+
pfc-geometry>=0.2.7
|
|
20
|
+
flightdata>=0.2.15
|
|
21
|
+
ardupilot_log_reader>=0.3.3
|
|
22
22
|
pymavlink
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/manual_F3A_F23_22_04_28_00000231.json
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/manual_F3A_P23_22_05_31_00000350.json
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/data/manual_F3A_P23_23_08_11_00000094.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/create_all.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_a25.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_f25.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_p23.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15/scripts → flightanalysis-0.2.16/examples/schedule_construction}/f3a_p25.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/inter_analysis.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/intra_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/mans/extract_mans.py
RENAMED
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/examples/scoring/manoeuvres/positioning_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/analysis/manoeuvre_analysis/scored.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/IMAC_Unlimited2024_schedule.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3auk_clubman_schedule.json
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/data/f3auk_inter_schedule.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/builders/elbuilders.py
RENAMED
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/builders/manbuilder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/__init__.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/funopp.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/itemopp.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/mathopp.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/definition/operations/operation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/exponential.py
RENAMED
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/inter/combination.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/inter/comparison.py
RENAMED
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/intra/bounded.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis/scoring/criteria/intra/single.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/flightanalysis.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_definition/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/__init__.py
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/loop_analysis.json
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/p23_th_e0.csv
RENAMED
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_element/p23_th_e0.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flightanalysis-0.2.15 → flightanalysis-0.2.16}/tests/test_schedule/test_schedule_manoeuvre.py
RENAMED
|
File without changes
|