soft-matter / soft-matter/trackpy

Eccentricity Calculation

Open
#554 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
510
Forks
148
PR merge metrics
No merged PRs in 30d

Description

Hello! First off, thank you very much to all who have written and maintained this project, its been a very useful tool.

I'm trying to track the change in eccentricity of a cylindrical particle. However, the results I am getting from TrackPy do not agree with manual calculations. A cylinder with radial radius of 2.25 units and axial radius of 6.75 units results in a TrackPy eccentricity of around 0.5, however an ellipse that roughly approximates this shape should have an eccentricity around 0.94.

I've delved into the documentation and the Crocker paper and wasn't able to find anything helpful. I turned to the source code:

https://github.com/soft-matter/trackpy/blob/f1595d99fdaf33777ee4b0141d92f4b7334a21c9/trackpy/refine/center_of_mass.py#L278-L280

The eccentricity here seems to be the square root of both centroid radii squared divided by the centroid mass. I'm also unsure what the purpose of " - neighborhood[radius] + 1e-6" is on line 280. I'm unable to replicate this calculation manually, and am pretty lost at this point.

Any help or tips for where to look or start from would be really appreciated. Thanks!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the cylindrical-particle comparison described in the issue, then inspect trackpy/refine/center_of_mass.py at the linked lines. Read the relevant documentation and Crocker paper sections before tracing the eccentricity calculation and the neighborhood term. Done means the discrepancy is explained and, if appropriate, the behavior or documentation has a clearly defined correction.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.