Repository navigation
Customer reqs/8596 speed up otanalytics by using vectorized operations #741
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
briemla
merged 137 commits into
main
from
customer-reqs/8596-speed-up-otanalytics-by-using-vectorized-operations
Oct 27, 2025
Merged
Changes from all commits
Commits
Show all changes
137 commits
Select commit
Hold shift + click to select a range
418e911
Add intersection of track segments with a single line
briemla 831208d
Add test cases
briemla 854b7fd
Introduce constants
briemla 13915c0
Use constants in tests
briemla 016be45
Separate functionality
briemla d766152
Intersect a polygon
briemla aaf8f3e
Use constant
briemla 4c5e17d
Move polygon
briemla 8ff8b27
Implement intersection with first line segment of section
briemla d19b5e1
Process all legs of a segment
briemla 86e9cc7
Fix type cast
briemla e7a2b29
Ensure offset is used
briemla 44e7e6c
Add pure pandas and 2h test data
briemla 0b9b88d
Add 4h benchmark
briemla cc530d8
Extend benchmark to check pure pandas implementation
briemla 15ee577
Optimize calculation
briemla b594181
Add offset
briemla 706357b
Fix missing offset in intersection coordinate calculation
briemla aa3bc49
Update todo comments
briemla 16f1255
Fix different track id classes and add further todos
briemla b52bc2e
Use pandas geometry dataset
briemla 9cba860
Remove shapely geometry store in base_application
briemla a719ad5
Implement add_all, remove and get_for
briemla 476f2ad
Fix broken test
briemla 4bacd4f
Clean up unused method
briemla f027d5d
Add script to convert ottrk to feather format
briemla 078f2a4
Directly use pandas version
briemla 18cc478
Implement feather track parser
briemla fb0cf9e
Use feathers parser
briemla 0793c73
Convert a bunch of files to feathers
briemla 88d296a
Allow TrackParser implementations to parse multiple files more optimized
briemla 697e600
Parse multiple files at once in FeathersParser
briemla 3b6ece1
Use multi file parsing when loading ottrk files
briemla 0b1a7f6
Remove unnecessary code
briemla 2a5191f
Remove unnecessary code
briemla 111e4e1
Remove unnecessary code
briemla db673f0
Extract convertion code into plugin
briemla 45b6188
Automatically convert files from ottrk to feathers format
briemla 2bd0aaf
Add polars datasets
briemla b96d811
Implement contains method
briemla 29426ef
Use efficient conversion from polars to pandas
briemla f025d6f
Simplify shown video
briemla d9b1208
Transfer from unittest to pytest and use polars instead of pandas parser
briemla 2965f3c
Move calculation of ids inside section into dataset
briemla eaedc36
Fix different datatypes of ids
briemla 21e7a45
Use polars track dataset with simplified cutting
briemla 2fe3146
Fix track id datatypes
briemla a2e5e17
Set tracks after initial cutting
briemla 9a418a8
Fix track ids after cutting
briemla 5bc8a9a
Add TrackIdSet to efficiently handle TrackIds
briemla f30e092
WORK IN PROGRESS: Use TrackIdSet where possible
briemla 5da2e42
Use TrackIdSet where possible
briemla 84af6a6
Use TrackIdSet to remove multiple tracks at once
briemla c98d540
Use TrackIdSet methods to speed up track statistics
briemla aff4371
Remove unused method
briemla 5cee394
Fix broken test
briemla e683f4d
Encapsulate resulting intersection points
briemla f69e727
Move calculation of events into domain class to improve performance w…
briemla 64762de
Introduce EventDataset to encapsulate events.
briemla 53d874e
Use EventDataset instead of bare list
briemla 7c6f080
Remove unused code
briemla 07cd29e
Raise exception
briemla a4a501c
Change internal type
briemla 56d18b7
Remove unused code
briemla 8b8a4f3
Create abstract base for event data
briemla 9fd65e6
Merge origin/main into feature branch customer-reqs/8596-speed-up-ota…
briemla 66319c1
Merge origin/main into feature branch customer-reqs/8596-speed-up-ota…
briemla d990731
Fix failed test after merge
briemla 0d238ce
Remove unused import
briemla d86b89f
Move log output
briemla f0a21a8
Extract IntersectionPointsDataset interface
briemla 3f81f32
Implement polars version of IntersectionPointsDataset
briemla 0a94240
Use polars geometry set
briemla 5ead350
Convert pandas test to polars test
briemla b5c1780
Remove unused pandas implementation
briemla 5282b87
Remove clean architecture violation by introducing a TrackIdSetFactory
briemla c8f324c
Increase chunk size to speed up regression tests
briemla 8cefbf2
Fix clean architecture violation
briemla 9a4d8cd
Fix clean architecture violation by using a factory
briemla 002c8ef
Fix clean architecture violation by using TrackIdSet instead of iterable
briemla 361ba4c
Fix clean architecture violation by using TrackIdSet instead of iterable
briemla 48973e1
Extract classes into separate file
briemla fabdccd
Extract test code
briemla bcc5bb8
Add filtered versions of TrackDataset for polars
briemla 4ddd992
Add script to check clean architecture violations
briemla 51c2b05
Fix imports
briemla ba1ceb9
Activate filter classes using polars
briemla f161c22
Remove unused wrapped method
briemla 94389fe
Renamed wrapped method name
briemla 8835027
Extract constants
briemla 334b222
Fix version in precommit
briemla 0d96b57
Fix version in precommit
briemla b0432d4
Clean up benchmark
briemla f8b7ecc
Implement missing method
briemla 5d871dd
Add documentation
briemla f9ce9ee
Replace `print` statements with `logger` for consistent logging and u…
randy-seng 227678e
Refactor: Introduce constants for file extensions and update referenc…
randy-seng 77fd2aa
Add TODO comments to check and potentially remove unimplemented methods
randy-seng f1ef2bc
Remove duplicate import in `test_inside_cutting_section` test.
randy-seng 3026172
Add assertions for `update_detection_classes` calls in `TestLoadTrack…
randy-seng b236979
Reintroduce removed types for mypy.
briemla 6651de5
Merge remote-tracking branch 'origin/customer-reqs/8596-speed-up-otan…
briemla be93ae7
Sort ids
briemla c2c7955
Rename method
briemla e9b56a6
Remove unnecessary local import
briemla d8ba935
Return old track ids when cutting
briemla a088489
Use unpack where possible
briemla 58e9a83
Use unpack where possible
briemla 6bba8a6
Remove unnecessary conversion
briemla a9ea720
Change calculation of intersection parameters to follow the normally …
briemla ddfc106
Fix assertions in regression tests
briemla ab9a6b1
Simplify file loading in assertions
briemla 526e5ff
Fix intersection calculation
briemla c4196dd
Refactor: Introduce constants for metadata keys and update references…
randy-seng 67804c6
Refactor: Introduce constants for recorded start date in test metadat…
randy-seng e3191c3
Refactor: Streamline unpacking track IDs by using set comprehension f…
randy-seng e50b2fe
Remove redundant import `EmptyTrackIdSet` from `polars_track_store.py`.
randy-seng 00476f3
Fix intersection calculation
randy-seng 870d10d
Fix direction vector calculation in PolarsGeometryDataset
randy-seng cf67bba
Add interpolated columns to output
briemla bc36368
Fix wrong columns and extract hostname
briemla 86590eb
Fix missing override when using filterd track dataset
briemla fed50c6
Compare csv files using polars and differ between events and counts
briemla 72eed3f
Fix track id for not cut tracks
briemla 03f2d1f
Merge branch 'main' into customer-reqs/8596-speed-up-otanalytics-by-u…
briemla df148db
Merge remote-tracking branch 'origin/customer-reqs/8596-speed-up-otan…
briemla e7ebc4d
OP#8596:
briemla 8cb25c0
Merge remote-tracking branch 'refs/remotes/origin/bug/8708-regression…
briemla 6927543
Merge branch 'main' into customer-reqs/8596-speed-up-otanalytics-by-u…
randy-seng 8100e71
OP#8596:
briemla 1b26c44
OP#8596:
briemla fc7f249
OP#8596:
briemla 3503baf
OP#8596:
briemla 83d42b0
Merge remote-tracking branch 'origin/customer-reqs/8596-speed-up-otan…
briemla 159c477
Merge branch 'main' into customer-reqs/8596-speed-up-otanalytics-by-u…
randy-seng ef009d3
OP#8596: Sort intersected series after filtering in `polars_track_id_…
randy-seng 81aae18
Merge branch 'main' into customer-reqs/8596-speed-up-otanalytics-by-u…
randy-seng File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.