payload: {"action":"created","issue":{"url":"https://api.github.com/repos/soft-matter/trackpy/issues/527","repository_url":"https://api.github.com/repos/soft-matter/trackpy","labels_url":"https://api.github.com/repos/soft-matter/trackpy/issues/527/labels{/name}","comments_url":"https://api.github.com/repos/soft-matter/trackpy/issues/527/comments","events_url":"https://api.github.com/repos/soft-matter/trackpy/issues/527/events","html_url":"https://github.com/soft-matter/trackpy/pull/527","id":409408815,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUyNDAwNDk1","number":527,"title":"New locate function for colloidal particles in brightfield images","user":{"login":"rbnvrw","id":1511097,"node_id":"MDQ6VXNlcjE1MTEwOTc=","avatar_url":"https://avatars2.githubusercontent.com/u/1511097?v=4","gravatar_id":"","url":"https://api.github.com/users/rbnvrw","html_url":"https://github.com/rbnvrw","followers_url":"https://api.github.com/users/rbnvrw/followers","following_url":"https://api.github.com/users/rbnvrw/following{/other_user}","gists_url":"https://api.github.com/users/rbnvrw/gists{/gist_id}","starred_url":"https://api.github.com/users/rbnvrw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbnvrw/subscriptions","organizations_url":"https://api.github.com/users/rbnvrw/orgs","repos_url":"https://api.github.com/users/rbnvrw/repos","events_url":"https://api.github.com/users/rbnvrw/events{/privacy}","received_events_url":"https://api.github.com/users/rbnvrw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-02-12T17:13:54Z","updated_at":"2019-02-14T17:18:43Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/soft-matter/trackpy/pulls/527","html_url":"https://github.com/soft-matter/trackpy/pull/527","diff_url":"https://github.com/soft-matter/trackpy/pull/527.diff","patch_url":"https://github.com/soft-matter/trackpy/pull/527.patch"},"body":"Hi all,\r\n\r\nI added a new locate function (`locate_brightfield_ring`) which we have used in the following paper to locate micron-sized colloidal particles in brightfield movies: https://doi.org/10.1039/C8SM01661E (also on ArXiV: https://arxiv.org/abs/1807.07354\r\n\r\nThe tracking procedure is explained in the paper (see also figure in the SI) and is in my experience more reliable than the standard TrackPy routines for these particles, because they are not Gaussian features, contrary to for example confocal images (see images in SI for examples).\r\n\r\nSpecifically, it uses the normal `locate` function to get a rough estimate of the particle position, then it refines this position by fitting the ring of dark intensity around the particle, which in my experience always occurs in the images, regardless of specific focal plane. The normal locate/refinement fails because it assumes that the particle is a Gaussian blob.\r\n\r\nAnother feature is that you can supply initial positions instead of the 'guess' by the `locate` function, allowing for faster linking in the case of multiple frames and/or initial selection of a subset of particles to track by the user.\r\n\r\nI have added unit tests that test the validity of the functions for generated images of multiple noise levels and intensity profiles. I also test that the normal `locate` function fails in these cases.\r\n\r\nI hope this will be useful to someone and am happy to hear any feedback you might have.\r\nI tried to adhere to the coding style of the package, but if you want me to change anything, please let me know. Also let me know if you want me to add something to the documentation.\r\n\r\nBest,\r\nRuben\r\n"},"comment":{"url":"https://api.github.com/repos/soft-matter/trackpy/issues/comments/463712681","html_url":"https://github.com/soft-matter/trackpy/pull/527#issuecomment-463712681","issue_url":"https://api.github.com/repos/soft-matter/trackpy/issues/527","id":463712681,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2MzcxMjY4MQ==","user":{"login":"nkeim","id":2985325,"node_id":"MDQ6VXNlcjI5ODUzMjU=","avatar_url":"https://avatars2.githubusercontent.com/u/2985325?v=4","gravatar_id":"","url":"https://api.github.com/users/nkeim","html_url":"https://github.com/nkeim","followers_url":"https://api.github.com/users/nkeim/followers","following_url":"https://api.github.com/users/nkeim/following{/other_user}","gists_url":"https://api.github.com/users/nkeim/gists{/gist_id}","starred_url":"https://api.github.com/users/nkeim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nkeim/subscriptions","organizations_url":"https://api.github.com/users/nkeim/orgs","repos_url":"https://api.github.com/users/nkeim/repos","events_url":"https://api.github.com/users/nkeim/events{/privacy}","received_events_url":"https://api.github.com/users/nkeim/received_events","type":"User","site_admin":false},"created_at":"2019-02-14T17:18:43Z","updated_at":"2019-02-14T17:18:43Z","author_association":"CONTRIBUTOR","body":"@rbnvrw This looks fantastic! I'm looking forward to trying it on my own images. Thank you for thinking to contribute this to trackpy, and for writing tests!!\r\n\r\nThe CI errors are from a new version of Pandas. I created issue #529 .\r\n\r\nI can review the code, though it might be a couple weeks before I have time, so it would be great if someone else is interested!\r\n\r\nIn terms of documentation, have you considered adding a brief tutorial to https://github.com/soft-matter/trackpy-examples ? That seems to be how a lot of users discover new features, especially because you can show sample images."}}
other: {"actor":{"display_login":"nkeim"}}