HiHi Saad, sorry, let's simplify it like this:if I have, for arguments sake, a surface seed mask that is in the middle of the GM, and a single classification target that is the WM surface then:will the output seeds_to_WM.asc contain for each seed vertex the number of lines seeded that hit the WM mask exactly once?i.e. with a single classification target, do multiple intersections count multiple times? or just once? As I remember, they count multiple times.The two sentences above (before and after i.e.) are not saying the same thing.No, the counting does NOT count streamlines multiple times if they hit the same target more than once.And no, the numbers in the seed_to_target file is not the number of streamines that hit the target exactly once. It is the number of streaminesthat hit the target *at least* once.Cheers,Saad
So, to make them count exactly once, I should specify the classification target as a termination mask also, right?But If I don't specify the termination mask it might actually run a lot faster.I just want the fastest way to get, for each seed, the number of lines that hit a single target exactly once. Ideally also some information about how long each track that hit the target was (or the mean length per seed vertex).the surface masks have a lot of nodes so using them as waypoints, targets etc is computationally very expensive. I'm guessing that defining a surface mask as both a classification target and a termination mask means it's intersection assessment is computed twice?I'm guessing voxel based masks are computationally much faster than surfaces?best,Colin
On 2 August 2013 09:35, Saad Jbabdi <[log in to unmask]> wrote:HiI'm not following. What is this test that you are talking about?Saad.On 1 Aug 2013, at 12:46, Colin Reveley <[log in to unmask]> wrote:Hi -
can I just confirm - I think that if I define a seed mask and a target mask and set e.g. --omatrix3 then if a track intersects the target masks multiple times, each intersection will generate a fresh entry in the output matrix?
the behavior I'm looking for is to count only the first intersection. Making the target a stop mask won't work in this case. the seed is a surface of the entire gray matter. the target is a surface of the entire grey matter a very small distance deep to the seed.
what's being tested is not intersection with the target mask. the output matrix is assumed to be an identity matrix pretty much. the subsequent test on the tracks once they enter the WM decrements the matrix entries by discarding tracks that don't pass a test.
i.e. I'm trying to make a map on the surface of how many tracks seeded from each node pass the test, and plot the map on the surface.
So to get the behavior I want it occurs to me that I could simply discard entries in the output matrix that are far from the diagonal.
or, rather than use a surface as the target I could fill the target surface with voxels. it should then be hard for a track to enter it more than once. The disadvantage of that approach is that it'll be harder to tell if there have been multiple intersections (there could be potentially).
Is there a smart (ideally computationally efficient) way to get the behavior I want (for each seed node, count how many of the seeded tracks are not discarded by a test of some sort, plot those numbers as a surface)
thanks,
Colin--Saad JbabdiUniversity of Oxford, FMRIB CentreJR Hospital, Headington, OX3 9DU, UK(+44)1865-222466 (fax 717)--Saad JbabdiUniversity of Oxford, FMRIB CentreJR Hospital, Headington, OX3 9DU, UK(+44)1865-222466 (fax 717)