While the ODF estimation itself is continuous, and in our CSD-based tractography algorithms we make use of the entire continuous ODF, in a number of contexts we perform a subsequent segmentation of the ODF to obtain a discrete number of fibres per voxel. The options for this process can be seen in the
fod2fixel command. However even here, we most commonly do not specify a maximum number of crossing fibres per voxel, instead applying thresholds that each fibre must survive during the segmentation process.
Not sure whether or not this will be relevant to exactly what you’re trying to achieve; feel free to give more details here if your path forward is still unclear.