Skip to content
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

feat: support arbitrary labels #11

Closed
wants to merge 1 commit into from
Closed

Conversation

william-silversmith
Copy link
Contributor

Using unordered map instead of an array is several times slower,
but we can support the use of IDs that are larger than the array
size. Right now, one must run renumber on arbitrary data before
running cc3d. The array also takes up a lot of space.

For ordinary data, the hashmap is more memory efficient. However,
on the pathological case of sequence data, memory blows up.

Ideally, you should be able to choose which version of union-find
to use.

Using unordered map instead of an array is several times slower,
but we can support the use of IDs that are larger than the array
size. Right now, one must run renumber on arbitrary data before
running cc3d. The array also takes up a lot of space.

For ordinary data, the hashmap is more memory efficient. However,
on the pathological case of sequence data, memory blows up.

Ideally, you should be able to choose which version of union-find
to use.
@william-silversmith william-silversmith self-assigned this May 28, 2019
@william-silversmith william-silversmith added the feature New feature or request label May 29, 2019
@william-silversmith
Copy link
Contributor Author

Just was thinking that using an array was always a good optimization for Wu et al because they were working with binary data only. This eliminated the complication that comes from arbitrary labels, since the first key is always 1.

@william-silversmith
Copy link
Contributor Author

It does support arbitrary labels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant