SF feature request #77 - more efficient single pass algorithm for ccNcompt
Nobody has claimed this yet.
- Dominant language
- Perl
- Stars
- 105
- Forks
- 49
- PR merge metrics
- No merged PRs in 30d
Description
https://sourceforge.net/p/pdl/feature-requests/77/
ccNcompt currently uses a 2-pass algorithm, but there is a more efficient single pass algorithm described in "A linear-time component-labeling algorithm using contour tracing technique" (2004):
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.6330
And here is an implementation in C: http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization
There's also pseudocode in the wikipedia article: https://en.wikipedia.org/wiki/Connected-component_labeling#Pseudocode_for_the_one-component-at-a-time_algorithm
Karl adds:
That's fine to add a new one pass algorithm but please give it a new function name! (The old one has stood the test of time.)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing ccNcompt implementation and reviewing the linked paper, C implementation, and pseudocode for the proposed single-pass approach. Add the algorithm under a new function name while preserving the existing function, and verify that connected-component labeling remains correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- perl
- Domain
- computer-vision
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100