As in #174, we should explicitly separate thresholding as a separate behavior in graph reconstruction. The reconstructors should return either complete graphs or weight matrices, that are then thresholded or backboned with a separate .threshold() (or something similar) call.
The advantages of this, from my perspective, are:
- the current thresholding behavior is filled with odd defaults and unexpected behavior around
kwargs. We did this to make things as simple as possible, but adding the slight additional complexity of requiring two method calls to get a useful graph makes the process much more explicit and predictable.
- By being explicit about thresholding as a separate behavior, it sets us up to write more modular (and useful) thresholding and backboning code, perhaps even as another submodule. (
netrdb)