-
Notifications
You must be signed in to change notification settings - Fork 75
Methods to measure complexity of trajectories (paths) #406 Open #506
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
base: main
Are you sure you want to change the base?
Methods to measure complexity of trajectories (paths) #406 Open #506
Conversation
|
|
@niksirbi So should i continue with this implementation and make it compatible with everything? Does it cover the functionality? |
Hi @demoncoder-crypto, thanks for taking the time to contribute to From a cursory look, you've made a great start in this PR:
We will need to review the PR in detail, and also take a look at the relevant papers, but this might take some time given our increased workload at the moment. Nevertheless, we definitely want these metrics in In the meantime, see if you can deal with some of the CI failures. |
|
Thanks For replying @niksirbi, I would love to fix CI failures but because the implementation is quite up in the air as I assumed that this would how the implementation would go. If I fix CI failures on half implemented solution I would have to go back and change everything from start. regarding the code and why did i make a certain change Please ask me anytime I am very happy to answer but I am still unsure if this is the path forward because there was nothing mentioned in Pull request by the initial person so I am not sure if this what they are looking for. Thanks once again means a lot. |
You are right about that. That's why the usual workflow we'd recommend is the following:
You've done everything right, except that I'd rather have this as "Draft PR" for now. I actually have a proposal on how to move forward with this more efficiently:
In general we try to make small changes in each PR, which makes both the implementation and the reviewing easier. Let me know if this plan sounds good to you. |
|
That Sounds amazing, not only it would clearly define what we are working on but also gives us the room for improvement to execute it perfectly. Just let me know what issue is decided as a path to move forward and I will start implementing them slowly iterate over it. Thanks |
|
Great @demoncoder-crypto, I've started creating sub-issues to #406, starting with #517 for the straightness index, which I see you already started working on in #514. The idea is that we will gradually create more sub-issues, one for each complexity metric that we think is worth implementing. I've also converted this PR to draft. The individual smaller PRs will take precedence, and we will just keep this one around for reference. |
|
Hii @niksirbi, |
|
I appreciate your motivation @vtushar06, but this is currently not a priority as the team is focusing on other features. When we find the time to get back to this, we'll start by finalising PR #517 before attempting to implement other such metrics. In any case, I'd rather have PRs completed by their original author whenever possible, assuming they are available when we turn our attention to path complexity metrics. I can ping you if/when we'll need additional support on this topic. |
|
Got it, thanks @niksirbi! Happy to help whenever needed. |



This PR implements trajectory complexity measures for analyzing animal movement paths.
New features:
compute_straightness_index: Ratio of Euclidean distance to path lengthcompute_sinuosity: Local measure of path complexity using a sliding windowcompute_angular_velocity: Rate of change in directioncompute_tortuosity: Measures path winding (fractal dimension and angular variance methods)compute_directional_change: Quantifies total turning within a time windowFixes Issue #406
This PR addresses the need for methods to measure complexity of trajectories (paths).
I have not tested it thoroughly or implemented it properly right now. I just wanted to know if this is the issue what we were trying to solve and I am on the right track to solve it.