magland / ml_ms4alg

MountainSort v4
7 stars 19 forks source link

Difficulty understanding `ms4.alg` parameters #41

Open marcoistasy opened 2 years ago

marcoistasy commented 2 years ago

Hello!

I am having a bit of difficulty understanding the various parameters of ms4.alg and how they ultimately affect the firings.mda output file.

In particular, I do not understand the adjacency_radius flag and the implications of specifying the geom.csv file (see Issue #39). From my understanding, the adjacency_radius flag may be set to 0 to sort each channel independently or to -1 to indicate a single electrode neighborhood. However, I have been able to successfully run ms4.alg with adjacency_radius=1 without specifying the geom.csv file and the geom.csv file alters the clustering when adjacency_radius=0, even though it should not have an effect. The output of the firings.mda is written below for several conditions:

> sign=1_adjacency=0_interval=4_threshold=3_csv=False

Number of unique channels: [1. 2. 3. 4. 5. 6. 7. 8.]
Number of unique clusters: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11.]

Channel #4.0 has the following cluster ids: [4.]
Channel #2.0 has the following cluster ids: [2.]
Channel #6.0 has the following cluster ids: [9.]
Channel #7.0 has the following cluster ids: [10.]
Channel #3.0 has the following cluster ids: [3.]
Channel #8.0 has the following cluster ids: [11.]
Channel #5.0 has the following cluster ids: [5. 6. 7. 8.]
Channel #1.0 has the following cluster ids: [1.]

> sign=1_adjacency=1_interval=4_threshold=3_csv=False

Number of unique channels: [1. 2. 3. 4. 5. 6. 7. 8.]
Number of unique clusters: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]

Channel #4.0 has the following cluster ids: [4.]
Channel #2.0 has the following cluster ids: [2.]
Channel #6.0 has the following cluster ids: [8.]
Channel #7.0 has the following cluster ids: [9.]
Channel #3.0 has the following cluster ids: [3.]
Channel #8.0 has the following cluster ids: [10.]
Channel #5.0 has the following cluster ids: [5. 6. 7.]
Channel #1.0 has the following cluster ids: [1.]

> sign=1_adjacency=0_interval=4_threshold=3_csv=True

Number of unique channels: [1. 2. 3. 4. 5. 6. 7. 8.]
Number of unique clusters: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]

Channel #4.0 has the following cluster ids: [4.]
Channel #2.0 has the following cluster ids: [2.]
Channel #6.0 has the following cluster ids: [ 9. 10.]
Channel #7.0 has the following cluster ids: [11.]
Channel #3.0 has the following cluster ids: [3.]
Channel #8.0 has the following cluster ids: [12.]
Channel #5.0 has the following cluster ids: [5. 6. 7. 8.]
Channel #1.0 has the following cluster ids: [1.]

> sign=1_adjacency=-1_interval=4_threshold=3_csv=True

Number of unique channels: [1. 2. 3. 4. 5. 6. 7. 8.]
Number of unique clusters: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]

Channel #4.0 has the following cluster ids: [5.]
Channel #2.0 has the following cluster ids: [3.]
Channel #6.0 has the following cluster ids: [10.]
Channel #7.0 has the following cluster ids: [11.]
Channel #3.0 has the following cluster ids: [4.]
Channel #8.0 has the following cluster ids: [12.]
Channel #5.0 has the following cluster ids: [6. 7. 8. 9.]
Channel #1.0 has the following cluster ids: [1. 2.]

> sign=1_adjacency=1_interval=4_threshold=3_csv=True

Number of unique channels: [1. 2. 3. 4. 5. 6. 7. 8.]
Number of unique clusters: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]

Channel #4.0 has the following cluster ids: [4.]
Channel #2.0 has the following cluster ids: [2.]
Channel #6.0 has the following cluster ids: [8.]
Channel #7.0 has the following cluster ids: [9.]
Channel #3.0 has the following cluster ids: [3.]
Channel #8.0 has the following cluster ids: [10.]
Channel #5.0 has the following cluster ids: [5. 6. 7.]
Channel #1.0 has the following cluster ids: [1.]

My question is should I not be seeing clusters shared across channels when adjacency_radius!=0? Why does specifying the geom.csv add a detected cluster when adjacency_radius=0? Should ms4.alg not raise an error when I run adjacency_radius=1 without specifying a geom.csv file?

Thank you for your help!

marcoistasy commented 2 years ago

Hello! I'm just following up on this as it has been a week :).