spherical-volume-rendering / svr-algorithm

A spherical volume rendering algorithm that performs ray casting through a spherical voxel grid.
Other
6 stars 7 forks source link

Difference in behavior when num_polar_sections != num_azimuthal_sections #205

Open matthewturk opened 3 years ago

matthewturk commented 3 years ago

I'm working through things related to #203 and #204 and I believe I have identified the principle problem, which is that there is some behavioral difference in the initialization of center_to_polar_bound_vectors_ and center_to_azimuthal_bound_vectors_ when num_polar_sections == num_azimuthal_sections and when the converse. The more correct (appearing) behavior is when they are equal, but I'm not sure I can completely convince myself of the correctness of that. The thing that gives me the most pause is that in the case that the count is equal, I don't see why it would get the correct answer for the values for both polar and azimuthal, since they span different values.

Anyway, I'm working on it, and have a partially completed pull request in the works.

ak-2485 commented 3 years ago

"The thing that gives me the most pause is that in the case that the count is equal, I don't see why it would get the correct answer for the values for both polar and azimuthal, since they span different values." By spanning different values are you talking about the range restriction on the angle of inclination/azimuthal angle?

matthewturk commented 3 years ago

Yup!

On Thu, Aug 6, 2020 at 9:06 PM Ariel Kellison notifications@github.com wrote:

"The thing that gives me the most pause is that in the case that the count is equal, I don't see why it would get the correct answer for the values for both polar and azimuthal, since they span different values." By spanning different values are you talking about the range restriction on the angle of inclination/azimuthal angle?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/spherical-volume-rendering/svr-algorithm/issues/205#issuecomment-670280792, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAVXO3VKOND3XX3JEPWVCLR7NOT7ANCNFSM4PUYF5MA .

cgyurgyik commented 3 years ago

I've reduced this to only use a single set of calculations, rather than optimize for the case when num_angular == num_azimuthal. PTAL at #208 , paying special attention to start bounds, end bounds, and radii used for calculations. I believe the addition of MaxBound and MinBound may lead to some slight miscalculations in some places.