Open Brow71189 opened 2 years ago
I'm personally very inconsistent in documenting architectural decisions, so I'm not a good example; but in this case, I think it would be useful for you to use them for this project [drift tracking]. An example for Acquisition.py
is here.
Overall, it may be useful to read through this website. We can chat offline about it too.
I'm creating this as a draft for now so that you can already review the basic concept. I'm going to add a dedicated test file
DriftTracker_test.py
and test the different scenarios that the revamped DriftTracker supports now.The idea behind the changes is that we can track multiple sources of drift data and collect the measured drift rates in one place, the
DriftTracker
class. I've also separated out the cross-correlation algorithm from theDriftTracker
class, so that we can use different algorithms for different usecases. One question I'm not sure about yet is if we want to allow different cross-correlation algorithms for differentDriftDataSources
. Right now you can only define one algorithm which will be used for all calculations. There is the option to change the algorithm before each call tosubmit_image
, so you can still use different ones for different sources. But we might want to store the preferred cross-correlation algorithm with eachDriftDataSource
instead.