Closed erelson closed 11 years ago
There is are some interesting things we could do for "bad" voxels.....
For example, if we measure the rejection efficiency to be too low, instead of sampling uniformly in 3D, we could sample uniformly in 2D on one voxel face, and fire a ray to measure the non-void length(s) in the voxel, and sample within the non-void length of that ray. (hmmm - that's not quite a fair game.... but something like that.)
This feature was added with commit 1b31af6adabc5ed23178aa517a297d2b08fe2182
Two new options were added to r2s.cfg
:
At present, the defaults for both of these is False. These options correspond with new flags in the gammas
parameter line ('r' and 'a', respectively), but the user only needs to deal with r2s.cfg
for these...
Void rejection has the potential to be inefficient if a problem has numerous voxels that are mostly void. Resampling within such voxels would generally require many tries before hitting a non-void location.
Thus, the void rejection capability probably ought to be optional, in lieu of a workaround for 'poorly formed' voxels. This will apply to both the uniform and voxel sampling techniques.
Edit: See also #13, #19.