[ ] I'm ready to merge
Not at all. This is just a preview of my proposed changes to seperate the BrainNetwork class into two distinct subclasses: BinaryBrainNetwork and WeightedBrainNetwork.
What's the context for this pull request?(this is a good place to reference any issues that this PR addresses)
Ruslan discovered that when you run the threshold method on an already binarised graph it returns garbage.
This made me think that there are potentially a lot of situations where treated a weighted network like a binary network or vice versa could be disastrous.
What's new?
My thinking is that the difference between a weighted and a binarised brain network should be very explicit since it's going to determine what sort of analyses we can do on it.
It should be possible to threshold a WeightedBrainNetwork into a BinaryBrainNetwork and it should be possible to initialise a WeightedBrainNetwork from a correlation matrix.
A BinaryBrainNetwork should support all of the network analysis methods. We could run these on a weighted graph no problem, but they would tell us nothing about our data. We will record the original weightings on existent BinaryBrainNetworks in case we want to restrict our focus to fewer edges later (the specific use case being plotting).
What should a reviewer feedback on?
Is this the right direction to go in to solve this problem.
Does anything need to be updated after merge?(e.g the wiki or the WhitakerLab website)
docs and tutorials would certainly need to be updated, but it's a little early for that.
[ ] I'm ready to merge Not at all. This is just a preview of my proposed changes to seperate the
BrainNetwork
class into two distinct subclasses:BinaryBrainNetwork
andWeightedBrainNetwork
.What's the context for this pull request? (this is a good place to reference any issues that this PR addresses) Ruslan discovered that when you run the
threshold
method on an already binarised graph it returns garbage. This made me think that there are potentially a lot of situations where treated a weighted network like a binary network or vice versa could be disastrous.What's new? My thinking is that the difference between a weighted and a binarised brain network should be very explicit since it's going to determine what sort of analyses we can do on it.
It should be possible to threshold a
WeightedBrainNetwork
into aBinaryBrainNetwork
and it should be possible to initialise aWeightedBrainNetwork
from a correlation matrix.A
BinaryBrainNetwork
should support all of the network analysis methods. We could run these on a weighted graph no problem, but they would tell us nothing about our data. We will record the original weightings on existentBinaryBrainNetwork
s in case we want to restrict our focus to fewer edges later (the specific use case being plotting).What should a reviewer feedback on? Is this the right direction to go in to solve this problem.
Does anything need to be updated after merge? (e.g the wiki or the WhitakerLab website)
docs and tutorials would certainly need to be updated, but it's a little early for that.