klusta-team / klustaviewa

LEGACY - Graphical interface for spike sorting manual stage in Python
Other
29 stars 17 forks source link

cluster quality values as 'NaN' and 'inf' in Klustaviewa #63

Open salazarr opened 7 years ago

salazarr commented 7 years ago

Hi,

After a few changes of configurations, I have been getting 'inf' or 'nan' values for some clusters and zeros or ones in others in klustaviewa. I have been tracking down where this can come from but has been unsuccessful so far.

Any help or idea would be very helpful, thanks?

In the past, I have been using single 32channels polytrodes and single 64channels buszaki probes and I was having normal cluster quality values. Unfortunately, I made a few changes before noticing the problem of 'inf' and 'nan' values.

These are:

1) upgrade of the klusta 2) dual recordings with two polytrodes and thus changes in the *.prb file

I believe that the problem comes from the probe file but I cannot figure what it is. You can find its content at the end of the email. Let me know if other files are needed

Thanks for your help,

Rodrigo.

channel_groups = { 0: {'channels': list(range(32)), 'geometry':{31: (-1, -15), 30: (0, 0), 29: (9, 15), 28: (-14, 30), 27: (19, 45.0), 26: (-24, 60.0), 25: (29, 75), 24: (-34, 90), 23: (39, 105), 22: (-44, 130), 21: (49, 145), 20: (-54, 160), 19: (59, 175), 18: (-64, 190), 17: (69, 205), 16: (-74, 220), 15: (79, 235), 14: (-84, 250), 13: (89, 265), 12: (-94, 280), 11: (99, 295), 10: (-104, 310), 9: (109, 325), 8: (-114, 340), 7: (119, 355), 6: (-124, 370), 5: (129, 385), 4: (-134, 400), 3: (139, 415), 2: (-144, 430), 1: (149, 445), 0: (-154, 460),}, 'graph': [(0, 1), (0, 2), (1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (3, 5), (4, 5), (4, 6), (5, 6), (5, 7), (6, 7), (6, 8), (7, 8), (7, 9), (8, 9), (8, 10), (9, 10), (9, 11), (10, 11), (10, 12), (11, 12), (11, 13), (12, 13), (12, 14), (13, 14), (13, 15), (14, 15), (14, 16), (15, 16), (15, 17), (16, 17), (16, 18), (17, 18), (17, 19), (18, 19), (18, 20), (19, 20), (19, 21), (20, 21), (20, 22), (21, 22), (21, 23), (22, 23), (22, 24), (23, 24), (23, 25), (24, 25), (24, 26), (25, 26), (25, 27), (26, 27), (26, 28), (27, 28), (27, 29), (28, 29), (28, 30), (29, 30), (29, 31), (30, 31),]},
1: {'channels': [32, 33, 34, 35, 36, 37, 38, 39], 'geometry': {32: (39, 105), 33: (-34, 90), 34: (29, 75), 35: (-24, 60.0), 36: (19, 45.0), 37: (-14, 30.0), 38: (9, 15.0), 39: (0.0, -15.0),}, 'graph': [(32, 33), (32, 34), (33, 34),(33, 35), (34, 35), (34, 36), (35, 36), (35, 37), (36, 37), (36, 38), (37, 38), (37, 39), (38, 39),]}, 2: {'channels': [40, 41, 42, 43, 44, 45, 46, 47], 'geometry': {40: (39, 105), 41: (-34, 90), 42: (29, 75), 43: (-24, 60.0), 44: (19, 45.0), 45: (-14, 30.0), 46: (9, 15.0), 47: (0.0, -15.0),}, 'graph': [(8+32, 9+32), (8+32, 10+32), (9+32, 10+32), (9+32, 11+32), (10+32, 11+32), (10+32, 12+32), (11+32, 12+32), (11+32, 13+32), (12+32, 13+32), (12+32, 14+32), (13+32, 14+32), (13+32, 15+32), (14+32, 15+32),]}, 3: {'channels': [48, 49, 50, 51, 52, 53, 54, 55], 'geometry': {48: (39, 105), 49: (-34, 90), 50: (29, 75), 51: (-24, 60.0), 52: (19, 45.0), 53: (-14, 30.0), 54: (9, 15.0), 55: (0.0, -15.0),}, 'graph': [(16+32, 17+32), (16+32, 18+32), (17+32, 18+32), (17+32, 19+32), (18+32, 19+32), (18+32, 20+32), (19+32, 20+32), (19+32, 21+32), (20+32, 21+32), (20+32, 22+32), (21+32, 22+32), (21+32, 23+32), (22+32, 23+32),]}, 4: {'channels': [56, 57, 58, 59, 60, 61, 62, 63], 'geometry': {56: (39, 105), 57: (-34, 90), 58: (29, 75), 59: (-24, 60.0), 60: (19, 45.0), 61: (-14, 30.0), 62: (9, 15.0), 63: (0.0, -15.0),}, 'graph': [(24+32, 25+32), (24+32, 26+32), (25+32, 26+32), (25+32, 27+32), (26+32, 27+32), (26+32, 28+32), (27+32, 28+32), (27+32, 29+32), (28+32, 29+32), (28+32, 30+32), (29+32, 30+32), (29+32, 31+32), (30+32, 31+32),]}, 5: {'channels': [64, 65, 66, 67, 68, 69, 70, 71], 'geometry': {64: (39, 105), 65: (-34, 90), 66: (29, 75), 67: (-24, 60.0), 68: (19, 45.0), 69: (-14, 30.0), 70: (9, 15.0), 71: (0.0, -15.0),}, 'graph': [(32+32, 33+32), (32+32, 34+32), (33+32, 34+32), (33+32, 35+32), (34+32, 35+32), (34+32, 36+32), (35+32, 36+32), (35+32, 37+32), (36+32, 37+32), (36+32, 38+32), (37+32, 38+32), (37+32, 39+32), (38+32, 39+32),]}, 6: {'channels': [72, 73, 74, 75, 76, 77, 78, 79], 'geometry': {72: (39, 105), 73: (-34, 90), 74: (29, 75), 75: (-24, 60.0), 76: (19, 45.0), 77: (-14, 30.0), 78: (9, 15.0), 79: (0.0, -15.0),}, 'graph': [(40+32, 41+32), (40+32, 42+32), (41+32, 42+32), (41+32, 43+32), (42+32, 43+32), (42+32, 44+32), (43+32, 44+32), (43+32, 45+32), (44+32, 45+32), (44+32, 46+32), (45+32, 46+32), (45+32, 47+32), (46+32, 47+32),]}, 7: {'channels': [80,81, 82, 83, 84, 85, 86, 87], 'geometry': {80: (39, 105), 81: (-34, 90), 82: (29, 75), 83: (-24, 60.0), 84: (19, 45.0), 85: (-14, 30.0), 86: (9, 15.0), 87: (0.0, -15.0),}, 'graph': [(48+32, 49+32), (48+32, 50+32), (49+32, 50+32), (49+32, 51+32), (50+32, 51+32), (50+32, 52+32), (51+32, 52+32), (51+32, 53+32), (52+32, 53+32), (52+32, 54+32), (53+32, 54+32), (53+32, 55+32), (54+32, 55+32),]}, 8: {'channels': [88, 89, 90, 91, 92, 93, 94, 95], 'geometry': {88: (39, 105), 89: (-34, 90), 90: (29, 75), 91: (-24, 60), 92: (19, 45), 93: (-14, 30), 94: (9, 15), 95: (0, -15),}, 'graph': [(56+32, 57+32), (56+32, 58+32), (57+32, 58+32), (57+32, 59+32), (58+32, 59+32), (58+32, 60+32), (59+32, 60+32), (59+32, 61+32), (60+32, 61+32), (60+32, 62+32), (61+32, 62+32), (61+32, 63+32), (62+32, 63+32),] } }

rossant commented 7 years ago

Hi, could you send me your dataset?

salazarr commented 7 years ago

Hi

I sent you some data a while ago but I guess that you did not receive them. Here they are again in case.

salazarr commented 7 years ago

Archive 2.zip

salazarr commented 7 years ago

the .dat is too big to be downloaded any other option?

rossant commented 7 years ago

could you use a file sharing service like dropbox or https://www.wetransfer.com/ or https://www.transfernow.net/ ?

salazarr commented 7 years ago

You should have receive an email with a link.

If not here it is:

https://we.tl/pVgyJY5v7F

I also noticed this message on the terminal:

(klusta)salazarr@salazarr-Precision-WorkStation-T7500 /media/salazarr/datadrive/electrophy/20160916/session01 $ klustaviewa 2016091601.prm /home/salazarr/miniconda3/envs/klusta/lib/python2.7/site-packages/IPython/qt.py:13: ShimWarning: The IPython.qt package has been deprecated. You should import from qtconsole instead. "You should import from qtconsole instead.", ShimWarning) 2016-09-28 09:55:55 kwikloader:134 Opening 2016091601.prm. /home/salazarr/miniconda3/envs/klusta/lib/python2.7/site-packages/numpy/core/_methods.py:55: RuntimeWarning: Mean of empty slice. warnings.warn("Mean of empty slice.", RuntimeWarning)

Thanks,

R.

rossant commented 7 years ago

Thanks, I can reproduce the problem, but I'm not sure what causes it. Could you try with the phy KwikGUI? The computation of the similarity should be more robust.

salazarr commented 7 years ago

Hi Cyrille,

I can run phy kwik-gui and I can find real values in the 'SimilarityView' window under the column 'similarity'. There are two clusters with values zeros and all other clusters have values up to 373...

Does this mean that you suggest to use phy kwik-gui to do the clustering?

rossant commented 7 years ago

KlustaViewa is on the deprecation road and is being replaced by phy, which will be maintained on the long term. I would suggest that if you have problems with KlustaViewa, you try to use phy. Please let me know if you have any question or issue!

salazarr commented 7 years ago

Thanks for the info. In a first sight, phy appears quite natural but I cannot find the way to switch between shanks? Do you have a guideline or on-line help to suggest?

Thanks,

Rodrigo.

rossant commented 7 years ago

You have to specify the channel group when launching the GUI:

phy kwik-gui file.kwik --channel-group 3

There is no documentation of the GUI yet, unfortunately... There is documentation for the TemplateGUI instead, which is another slightly different GUI that is used not with klusta, but with template matching algorithms such as KiloSort and SpykingCircus (used on channels with hundreds of probes).