Tractography with dipy resulting in more streamlines than seeds


I surface seeded an image with 2 million seeds, then generated streamlines from those seeds with deterministic maximum direction getter and local tracking. This though resulted in 2.7 million streamlines. How can there be more streamlines than seeds??? I am struggling to make sense of this.

Creating the seeds:

seeds = utils.random_seeds_from_mask(seed_mask, affine, seeds_count=int(seed_num), seed_count_per_voxel=False)

Instantiating the direction getter:

dg = DeterministicMaximumDirectionGetter.from_pmf(pmf, max_angle=35, sphere=sphere)

Calling the local tracker:

streamlines_generator = LocalTracking(dg, stop_criterion, seeds, affine=affine, step_size=step_size)

I’m positive that seed_num = 2,000,000. I did use CMC stopping criteria, if that’s relevant.