janelia-flyem / gala

Automatic segmentation of electron microscopy volumes
BSD 3-Clause "New" or "Revised" License
76 stars 29 forks source link

Make graph backends more easily swappable #5

Open jni opened 11 years ago

jni commented 11 years ago

Rather than having agglo.Rag, stack_np.Stack, and any future additions to the backends, it would be simpler for users to have syntax:

g = gala.Graph(backend='NeuroProof')

This offers the advantages of a simpler codebase, and the ability to easily switch default backends based on evolving needs of the FlyEM project, while maintaining all backends for specific user needs.

Related to this issue is my recent discovery of the graph-tools and zen libraries, both of which could make excellent substitutes for NetworkX.

stephenplaza commented 11 years ago

No qualms here, but this probably would have been done originally if it weren't deemed important to keep the current implementation and the NeuroProof one as separate as possible :) Low priority for now since there is a major rewrite occurring in NeuroProof now.

jni commented 11 years ago

Yep yep, I was writing this as a way to keep it in the backburner. I would have raised it on my own fork of Gala if that weren't forbidden for some reason on github!