Can a fixed number of streamlines be generated with `seed_grid_per_voxel`?

Hi folks,
thanks for putting together and maintaining MRTrix.

I am trying to use tckgen using iFOD2 with ACT to get some tractography data.

I am trying to seed a particular region of the whole-brain GMWMI, and I have created the corresponding GMWMI mask. I would like to get a fixed number of successful streamlines.

My general call looks like this

tckgen \
  -algorithm ifod2 \
  -act "${5ttgen_fname}" \
  -backtrack \
  -seed_grid_per_voxel "${gmwmi_fname}" ${grid_size} \
  -nthreads ${n_threads} \
  -minlength ${min_length} \
  -maxlength ${max_length} \
  -select ${strml_count} \
  ${fod_fname} \
  ${tractogram_fname}

where strml_count is 500k.

For an attempt I have done with the whole brain GMWMI, the resulting tractogram contains a little over 6M streamlines (so selected is over 6M). For another attempt I have done with the particular GMWMI region, I get 134k streamlines selected.

My understanding would be that -seed_grid_per_voxel fully determines how many seeds are going to be generated. I would have expected tckgen to return a tractogram with exactly the desired streamline count as long as the successful tracking attempts exceed that value. From my first attempt, this seems not to be the case.

I see that if I use -seed_gmwmi instead of -seed_grid_per_voxel I do get 500k streamlines selected in either case, which matches my expectations.

So I am wondering whether the behavior about the number of selected streamlines cannot be achieved with -seed_grid_per_voxel.

Also, I am wondering whether specifying -crop_at_gmwmi means that all resulting streamlines will have at least one vertex in the GMWMI. That is, if I later do a tckedit where the inclusion mask is my GMWMI, whether I should get the exact same tractogram given at the input. I assume that the cropping will happen at the WMGMI that the 5ttgen image contains.

I am for sure missing very fundamental things here.

Thank you.