Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gaussian spread of X0 inference should be recomputed according to dtheta #38

Open
GilesStrong opened this issue Jun 2, 2021 · 3 comments
Labels
enhancement New feature or request good first issue Good for newcomers Inference Issue affects the quality of inference low priority Should be fixed eventually, but isn't urgent

Comments

@GilesStrong
Copy link
Owner

Problem statement

Following the eventual merger of #37 each muon will predict the X0 for all voxels, with a weight computed as a 3D Gaussian around the POCA scatter location. The X0 predicted, though is the X0 computed using the dtheta at the nominal scatter location, however if the scattering actually took place at a different location, then the dtheta angle will be different and a different X0 will be predicted.

Difficulties

  • X0 should vary continuously with location, so the prediction of X0 per voxel, should be an integration over the volume of the voxel.
  • Each X0 prediction must also be accompanied by an uncertainty on the prediction in order to weight that muons contributions to the final X0 prediction for each voxel, but computing the uncertainty is expensive due to auto-diff
  • The nominal dtheta is computed by direct extrapolation of the muon lines from the hit-pairs, however arbitrary scatter locations will no longer be the result of direct extrapolation, therefore some new way to compute the muon lines must be used.
    • Simplest way would be to draw lines from the new scatter location to the points in between the hit pairs
    • Otherwise could do some kind of fit based on the hit resolutions
@GilesStrong GilesStrong added enhancement New feature or request low priority Should be fixed eventually, but isn't urgent labels Jun 2, 2021
@vischia
Copy link
Collaborator

vischia commented Jun 2, 2021

Would it make sense to make a more localized version, where nearby voxels are averaged out, as in the smoothing done in voxel-based morphometry for neurosciences ( https://www.jneurosci.org/content/29/31/9661 )---or to apply some other idea from that, such as comparing with templates of no-muon-passage (effectively testing muon vs no-muon for each voxel or smoothed voxel)?

@GilesStrong GilesStrong added the Inference Issue affects the quality of inference label Jun 4, 2021
@vischia
Copy link
Collaborator

vischia commented Sep 6, 2021

So, sorry to come back to this, but the ongoing talk by Patrick Stowell at the workshop made me think again to voxel-based morphometry, where one builds a catalog representing the "average template" and then does something akin to anomaly detection.

I am still wrapping my head around the idea that it may be worth trying for at least some aspects of TopOpt, maybe we can discuss this when brainstorming?

Also, does Gunes have access to this github repository? Maybe it would be a good idea to give him access. I'll inquire on slack if he'd be interested.

@GilesStrong
Copy link
Owner Author

@vischia I'm not quite sure if I understand what you mean. Something like: build a density map for POCA hits in a default volume (e.g. all beryllium) and compare that to maps computed for unknown volumes to highlight regions of interest?

@GilesStrong GilesStrong added this to Nice to have in VoxelNet Mar 25, 2022
@GilesStrong GilesStrong removed this from Nice to have in VoxelNet May 23, 2022
@GilesStrong GilesStrong added the good first issue Good for newcomers label Oct 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers Inference Issue affects the quality of inference low priority Should be fixed eventually, but isn't urgent
Development

No branches or pull requests

2 participants