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

Symbol hierarchy and reorganization #906

Open
johnnychen94 opened this issue Jul 22, 2020 · 1 comment
Open

Symbol hierarchy and reorganization #906

johnnychen94 opened this issue Jul 22, 2020 · 1 comment
Labels
api API changes breaking
Milestone

Comments

@johnnychen94
Copy link
Member

Currently, a lot of symbols are directly reexported by its sub-packages without much organization, and that contributes to the long list of exported symbols:

julia> names(Images)
657-element Array{Symbol,1}:

Organizing these in a hierarchical and meaningful way is definitely a thing that we need to do for the 1.0 release.

I don't have a detailed proposal right now, but the basic idea is to introduce several submodules and organize them in a way like how scikit-image does:

Images.Core
Images.Utils
Images.IO
Images.Draw
Images.Measure # ImageQualityIndexes, ImageDistances
Images.Morphology
Images.Restoration # denoise, deblur, etc
Images.Transformation
# etc
@johnnychen94 johnnychen94 added this to the v1.0 milestone Jul 22, 2020
@johnnychen94 johnnychen94 added breaking api API changes labels Jul 22, 2020
@timholy
Copy link
Member

timholy commented Jul 23, 2020

Worth thinking about. I do worry about difficult-to-categorize functions, though. In the modern world I've moved to "flatter" organizations but that usually is because of a search ability. I wonder if we need to improve discoverability of methods by other mechanisms?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api API changes breaking
Projects
None yet
Development

No branches or pull requests

2 participants