SlicerRt / SlicerRT

Open-source toolkit for radiation therapy research, an extension of 3D Slicer. Features include DICOM-RT import/export, dose volume histogram, dose accumulation, external beam planning (TPS), structure comparison and morphology, isodose line/surface generation, etc.
https://slicerrt.org
127 stars 60 forks source link

Gamma dose comparison should allow sub-voxel search #111

Closed gregsharp closed 5 years ago

gregsharp commented 5 years ago

The gamma dose comparison should allow sub-voxel search, and that choice should be enabled by default. The necessary line of code to enable sub-voxel search is:

gamma->set_interp_search (true);

cpinter commented 5 years ago

Thanks for adding this ticket!

Could you please provide me some text that I can as the tooltip? I think it's important to describe exactly what it interpolates, especially that the same checkbox is repurposed. Thanks!

kmalexander5 commented 5 years ago

Thanks Greg and Csaba!

I think the 'Use linear interpolation' checkbox (calling resample-nn) should be eliminated all together.
For the new checkbox to enable the sub-voxel search, maybe we should use the same terminology as the Ju et al 2008 paper. Checkbox can be labelled 'Use geometric gamma calculation' or something like that.

The tooltip could read: "By checking this box, gamma will be calculated according to Ju et al 2008, which finds the point with the minimum gamma value by using the normal vector between the two candidate points."

cpinter commented 5 years ago

Thanks, @kmalexander5 ! I agree, I repurposed the old linear interpolation checkbox for the interp_search function. So we don't want to mention interpolation at all? It seems odd considering the name of the Plastimatch function.

kmalexander5 commented 5 years ago

True @cpinter, but the paper is actually titled 'Geometric interpretation of the gamma dose distribution comparison technique: Interpolation-free calculation'. So adding in the word interpolation to the check box might seem odd!

cpinter commented 5 years ago

OK so it seems that the Plastimatch function name is misleading a bit.

Anyway, I'll make these changes then. Thanks!

kmalexander5 commented 5 years ago

What do you think @gregsharp?

cpinter commented 5 years ago

Should it be on by default?

cpinter commented 5 years ago

I added the option image It is on by default.

Please test it in tomorrow's preview build and close ticket if works as expected.

kmalexander5 commented 5 years ago

Awesome - just seeing these now. Thanks @cpinter!

Either way - unchecked or checked is fine. I'd tend to suggest to leave it off by default so the user can make a conscious decision to use it.

I imagine I won't be able to do a proper test until the back-end that is resampling the evaluated volume in Plastimatch is eliminated (@gregsharp). Regardless - I'll check it out! Thanks.

cpinter commented 5 years ago

It actually makes a big difference. I just tried the standard IGRT test data and checking it increased pass rate from 80% to 94% (as I remember). So I suggest you do try it tomorrow. That said I should update the slicelets too. I'll do that now

cpinter commented 5 years ago

Are things working as expected? Can I close this issue?

kmalexander5 commented 5 years ago

Seems to improve the comparison and produce more reasonable values. I'd say this can be closed, as the back-end Plastimatch issues will be corrected on gitlab. Will do more thorough testing when Plastimatch is updated. Thanks @cpinter !

cpinter commented 5 years ago

Excellent, thanks! Yes, further changes need to happen at their respective places. Since this particular issue seems to be solved, I'm closing the ticket.