The Idea of Automated Fitting
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start by reading the Bluesky callbacks documentation linked in the issue and reviewing the existing rscan and go peak workflow shown there. Define how multiple fitting options and post-scan results would support future plans, then verify that the mechanism is centrally available and satisfies both acceptance criteria.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Currently GDA provides automated fitting for 1D datasets, and serves results to users to act upon. This is incredibly useful for alignment scans. It fits multiple options (see the image below, from left to right):
- One Gaussian to a scan: Used for aligning to the centre of something vaguely guassian shaped, here an imperfect top-hat. This can be used for determining the centre position of any multitude of objects.
- One Gaussian to the 1st derivative of a scan: Usually used for aligning to a knife edge scan, for example finding the edge of a slit or any other object with a hard edge.
- Two Gaussians to the 1st derivative of a scan: Usually used to find the middle of two edges something vaguely top-hat shaped. This can be used for aligning a number of things which have an inconsistent intensity across (a heterogeneous sample for instance), but have clear edges.
The current use of this feature is by doing a scan, then requesting to move to a particular position:
rscan my_motor -5 5 1 my_detector
go peak
This is particularly useful for more complex (automated) fitting routines which are in regular use around the ring. Need to align your slits? That's a relatively stable process which takes 15 minutes, but you don't need there to be making the decisions about where your slit edge sits. You just need reliable fitting which your plan can act on.
There is a potential solution in bluesky, but currently I believe this implementation has drawbacks:
- It seems you can only fit one model at a time - not ideal if we're not sure if fit 1 or fit 3 will work better for us (usually this distinction is made by eye and by asking the question "Is my signal Gaussian enough for that Gaussian fit?")
- As far as I can tell, you need to provide a model and initial guess before you collect your signal (when you subscribe before the scan). I've found that even relatively good guesses for a perfect Gaussian (accurate position and sigma, but inaccurate intensities) will fail to find a fit completely. Not ideal for a generic scan when I may have decades of intensity differences across different detectors.
Perhaps this is a candidate for use with the new live-processing service, perhaps @RJCD-Diamond could comment on this?
Acceptance Criteria
- There is a mechanism for automated alignment which allows users to action future plans based on these fitting results.
- This mechanism is centrally available so at least the most-used fitting procedures don't need to be defined at each instrument.
- Lingua principale
- Python
- Stelle
- 13
- Fork
- 14
- Merge medio
- 6g 15h
- PR unite (30g)
- 14
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DiamondLightSource/blueapi
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
DiamondLightSource/blueapi#1626 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
DiamondLightSource/blueapi#1623 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Cannot Install SoftiocApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
DiamondLightSource/blueapi#1605 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
DiamondLightSource/blueapi#1494 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
DiamondLightSource/blueapi#1716 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di DiamondLightSource/blueapi
Issue simili
-
Validate non-divisible effective batch sizes in the Unsloth LoRA backendForse già presa @debesh-biswas l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
`rx.Model` event arguments emit `PydanticDeprecatedSince20` once per payload keyForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
reflex-dev/reflex#7634 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
documentation
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
topoteretes/cognee#6239 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ranaroussi/yfinance#3009 ·
I maintainer di solito rispondono entro 1 giorno
-
Test discovery aborts on GPU builds without cuStateVec: check_cuStateVec expects a failed result but set_config() now raises RuntimeErrorForse già presa @dmeliksetian l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Qiskit/qiskit-aer#2495 ·
I maintainer di solito rispondono entro 1 giorno