filtering tracts and discrepancy with connectivity matrix

22 views
Skip to first unread message

Sarah Muldoon

unread,
Jun 9, 2021, 3:08:53 PM6/9/21
to DSI Studio
Hi Frank,

We are trying to do a connectivity analysis of a few ROI, but we are seeing a discrepancy when we analyze visually using the Filter tracts function or quantify within matlab.

If we select two ROIs and set them to "end" and filter the tracts, the number of connections matches the connectivity matrix (end to end matrix).  However, if we select one region and set it to "end" and filter the tracts, the number of tracts does not match the sum of the corresponding row (divded by 2) of the connectivity matrix (the number of tracts displayed is much higher).  Do we not understand the filter function?  The only other possibility I can think of is that there are a ton of connections that start and end within the region and are deleted when the diagonal is set to zero.

However, we also have problems with the pass through method.  If we select an ROI and set it to "ROI" and filter the tracts, the number of tracts displayed is much lower (opposite of above) than the sum of the row of the pass through matrix (divided by 2).

It seems to me that we don't understand how to correctly use the filter function but I can't find any documentation about this.  How can we try to trouble shoot?  We are seeing things visually when we look at the tracts that don't seem to show up when we analyze the connectivity matrix. Is there a way to verify that differences might be due to the diagonal entry being set equal to zero?  Or could it be a different issue?

Thank you so much for your help!
Sarah

Frank Yeh

unread,
Jun 9, 2021, 3:16:45 PM6/9/21
to dsi-s...@googlegroups.com
>
> If we select two ROIs and set them to "end" and filter the tracts, the number of connections matches the connectivity matrix (end to end matrix). However, if we select one region and set it to "end" and filter the tracts, the number of tracts does not match the sum of the corresponding row (divded by 2) of the connectivity matrix (the number of tracts displayed is much higher).

Each track has two termination locations, and selecting only one "end"
region requires either of the two termination locations to stop in the
region.
Thus it is not as strict as selecting two "end" regions (which
requires both to stop within the two end regions ).


>
> However, we also have problems with the pass through method. If we select an ROI and set it to "ROI" and filter the tracts, the number of tracts displayed is much lower (opposite of above) than the sum of the row of the pass through matrix (divided by 2).

A tract can be counted multiple times as long as it fulfills the
requirement to pass the region pair.

>
> It seems to me that we don't understand how to correctly use the filter function but I can't find any documentation about this. How can we try to trouble shoot? We are seeing things visually when we look at the tracts that don't seem to show up when we analyze the connectivity matrix. Is there a way to verify that differences might be due to the diagonal entry being set equal to zero? Or could it be a different issue?

There are some tricky cases that can be double-counted and caused inconsistency.

Hope my input helps to troubleshoot the problem.
Frank

>
> Thank you so much for your help!
> Sarah
>
> --
> You received this message because you are subscribed to the Google Groups "DSI Studio" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to dsi-studio+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dsi-studio/f3ff3de8-537d-4c87-80c2-99272b7995c5n%40googlegroups.com.

Sarah Muldoon

unread,
Jun 9, 2021, 3:41:03 PM6/9/21
to dsi-s...@googlegroups.com
Thanks for the amazingly quick response!


On Wed, Jun 9, 2021 at 3:16 PM Frank Yeh <fran...@gmail.com> wrote:
>
> If we select two ROIs and set them to "end" and filter the tracts, the number of connections matches the connectivity matrix (end to end matrix).  However, if we select one region and set it to "end" and filter the tracts, the number of tracts does not match the sum of the corresponding row (divded by 2) of the connectivity matrix (the number of tracts displayed is much higher).

Each track has two termination locations, and selecting only one "end"
region requires either of the two termination locations to stop in the
region.
Thus it is not as strict as selecting two "end" regions (which
requires both to stop within the two end regions ).
I understand what you are saying. But if I select, say region 10, the sum of all of the entries in row 10 of the connectivity matrix should be equal to all of the tracts that end in region 10 since it should be counting all of the tracts that have one end in region 10 and one end somewhere else. This isn't what we're finding!  The sum of the row in the connectivity matrix is much less than the number of tracts displayed when we filter!

 

>
> However, we also have problems with the pass through method.  If we select an ROI and set it to "ROI" and filter the tracts, the number of tracts displayed is much lower (opposite of above) than the sum of the row of the pass through matrix (divided by 2).

A tract can be counted multiple times as long as it fulfills the
requirement to pass the region pair.
So if we select "pass through" to make the connectivity matrix you are saying that the connectivity matrix will count some tracts more than once?
 

>
> It seems to me that we don't understand how to correctly use the filter function but I can't find any documentation about this.  How can we try to trouble shoot?  We are seeing things visually when we look at the tracts that don't seem to show up when we analyze the connectivity matrix. Is there a way to verify that differences might be due to the diagonal entry being set equal to zero?  Or could it be a different issue?

There are some tricky cases that can be double-counted and caused inconsistency.

Hope my input helps to troubleshoot the problem.
Frank

>
> Thank you so much for your help!
> Sarah
>
> --
> You received this message because you are subscribed to the Google Groups "DSI Studio" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to dsi-studio+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dsi-studio/f3ff3de8-537d-4c87-80c2-99272b7995c5n%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "DSI Studio" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dsi-studio/55JNey2lU6o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dsi-studio+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dsi-studio/CAG_Qrt%2BFMV%2BYzN_dgWq7QG1VLobt%2B_8oRPQsuEG3zY853AAi5g%40mail.gmail.com.


--
Sarah F. Muldoon
Associate Professor
Department of Mathematics
Computational and Data-Enabled Science and Engineering Program
Neuroscience Program

Office: 208 Mathematics
Mail: 244 Mathematics Building
University at Buffalo, SUNY
Buffalo, NY 14260

Frank Yeh

unread,
Jun 9, 2021, 3:49:22 PM6/9/21
to dsi-s...@googlegroups.com
> I understand what you are saying. But if I select, say region 10, the sum of all of the entries in row 10 of the connectivity matrix should be equal to all of the tracts that end in region 10 since it should be counting all of the tracts that have one end in region 10 and one end somewhere else. This isn't what we're finding! The sum of the row in the connectivity matrix is much less than the number of tracts displayed when we filter!


A track with one end terminating in the region but another end
terminates nowhere in the unrelated locations (e.g. not even listed in
any of the region) will be counted.


>
> So if we select "pass through" to make the connectivity matrix you are saying that the connectivity matrix will count some tracts more than once?

Yes, you are right, unless the region can be arranged in a way to
avoid double counting.
This is even the same for "end" if you have overlapping regions.


Best,
Frank

Sarah Muldoon

unread,
Jun 9, 2021, 4:01:10 PM6/9/21
to dsi-s...@googlegroups.com
Ok, I think I understand the pass though issue now.  

However, for the end-end example, it happens to be the case that we cover the entire brain with our atlas so there shouldn't be any tracts that terminate "outside" of a region.  In this case it would mean that the tract would start and end within the same region (normally would be on the diagonal of the connectivity matrix). Does your algorithm ever count this possibility and then set the diagonal = 0 at the end?  If so, is there a way to display the number of tracts that start and end within the same region?  Unfortunately, this might actually matter in our case! 

--
You received this message because you are subscribed to a topic in the Google Groups "DSI Studio" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dsi-studio/55JNey2lU6o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dsi-studio+...@googlegroups.com.

Frank Yeh

unread,
Jun 9, 2021, 4:13:08 PM6/9/21
to dsi-s...@googlegroups.com
>
> However, for the end-end example, it happens to be the case that we cover the entire brain with our atlas so there shouldn't be any tracts that terminate "outside" of a region. In this case it would mean that the tract would start and end within the same region (normally would be on the diagonal of the connectivity matrix). Does your algorithm ever count this possibility and then set the diagonal = 0 at the end? If so, is there a way to display the number of tracts that start and end within the same region? Unfortunately, this might actually matter in our case!
>

I checked the code. If a track starts and ends at the same region,
they will be counted and the number will appear on the diagonal
entries of the matrix.
Frank
Reply all
Reply to author
Forward
0 new messages