navis-org / navis

Python library for analysis of neuroanatomical data.
https://navis-org.github.io/navis/
GNU General Public License v3.0
83 stars 33 forks source link

Thoughts on synblast #108

Open clbarnes opened 2 years ago

clbarnes commented 2 years ago

Rather than having 2 trees for input and output synapses, or a binary axis on the lookup table for "same" and "different" types for the nearest match, we could go more like NBLAST and give each point an attribute describing its neighbourhood, as the exact point match isn't that informative in dense regions with approximate nearest neighbours. This will need some tweaking, but it would be something like:

When querying point matches, you'd do 1 - abs(q_neighbourhood - t_neighbourhood); i.e. if they had identical neighbourhoods, you'd have 1 (just like distdots) and if one was entirely output and the other entirely input, you'd have 0.

I have an implementation for this, although I haven't hooked it in to the smat training structure to test it yet.

schlegelp commented 2 years ago

Oh interesting. I have FlyWire matches for ~2800 hemibrain types which gives a decently sized test set.