GilesStrong / tomopt

TomOpt: Differential Muon Tomography Optimisation
GNU Affero General Public License v3.0
4 stars 0 forks source link

Feat new sigmoid-detector model #166

Closed GilesStrong closed 1 year ago

GilesStrong commented 1 year ago

Adds a new differential detector-model based on sigmoid-edges. This aims to provide a better approximation of the resolution and efficiency of a physical detector, whilst still having sensitivity to muons outside the detector boundaries. The smooth attribute can be used to adjust the rate of change of resolution|efficiency near the borders:

It is assumed that a smoother panel is more useful for optimising the xy position and span of the panels, whereas the sharper panels will more closely provide the precision of physical panels, and so can be used to better optimise the z position.

To help with this, SigmoidPanelSmoothnessSchedule is a callback that can be used to adjust the smoothness during optimisation.

Closes #153; closes #55

Effect of smoothness on panels

Smooth = 1:

Screenshot 2022-12-08 at 12 49 05

Smooth = 0.1:

Screenshot 2022-12-08 at 12 49 15

Validation loss computed with physical panels. Initial smoothness set to 1 and annealed to 0.1. Training and validation are initially different, but at lower smooth values, the training better matches the validation.

Screenshot 2022-12-08 at 12 49 33
GilesStrong commented 1 year ago

@MaximeLagrange can you take a look at this and see if there's anything you'd have done differently? And review the code, if you want.