Drift Manager » History » Version 1
Amber Herold, 04/23/2010 09:55 AM
1 | 1 | Amber Herold | h1. Drift Manager |
---|---|---|---|
2 | |||
3 | |||
4 | The Drift Manager monitor has two functions. It works with <link |
||
5 | linkend="transmanager_node">Transform Manager</link> to keep the accuracy of targeting |
||
6 | through long experiment and certain operation such as the change of stage z position. |
||
7 | |||
8 | |||
9 | * Monitoring drift when requested |
||
10 | |||
11 | |||
12 | * Declaring that a drift has occured. |
||
13 | |||
14 | |||
15 | |||
16 | |||
17 | The first way of determining that drift is occurring is by measuring it directly. A drift |
||
18 | measurement is initiated in one of two ways: |
||
19 | |||
20 | |||
21 | * The user may manually monitor drift in the DriftManager node. This can be either a |
||
22 | single measurement of the current drift rate or a loop that measures the drift rate until |
||
23 | it falls below a threshold set in the DriftManager settings dialog. |
||
24 | |||
25 | |||
26 | * The Focus node can request drift monitoring in preparation for doing auto focus. If |
||
27 | drifting is in progress, DriftManager enters a measurement loop until drift falls below |
||
28 | the threshold and declares that a drift has occured |
||
29 | |||
30 | |||
31 | |||
32 | |||
33 | Drifting can also be assumed to have occurred without doing a measurement. This is done as |
||
34 | a result of certain operations of Leginon: |
||
35 | |||
36 | |||
37 | * When stage Z position is changed, there is often a side effect of X and Y position |
||
38 | shifting also. Drift is always declared after stage Z correction is made in a focus |
||
39 | sequence. |
||
40 | |||
41 | |||
42 | * When in queuing mode, it is often desirable to assume that drift has occured whenever |
||
43 | a queue of targets is submitted. This is due to the possible long time durations and large |
||
44 | stage movements. There is an option in each targeting node to "Declare drift when queue |
||
45 | submitted". |
||
46 | |||
47 | |||
48 | * Sometimes targeting accuracy is failing because the image from which the targets were |
||
49 | selected was acquired using a preset with a bad image shift. The targets can be corrected |
||
50 | using the following method: pause the processing of the targets, adjust the image shift of |
||
51 | the bad preset, declare drift in DriftManager, continue processing the targets. The image |
||
52 | shift adjustment will be treated as a drift and the targets will be corrected. |
||
53 | |||
54 | |||
55 | * When various environmental factors have changed that the user thinks have caused a |
||
56 | drift. One example is filling up the liquid nitrogen dewar. In this case, the user must |
||
57 | click the "Declare Drift" button in the DriftManager node. |
||
58 | |||
59 | |||
60 | |||
61 | In the above cases, whether drift is measured or assumed, a drift time stamp is entered |
||
62 | into the database to mark when the drift occured. Acquisition nodes have an option "Adjust |
||
63 | targets for drift" which causes them to look for these drift time stamps before processing a |
||
64 | target and acquiring an image. If a drift occured after the target was created, the target is |
||
65 | declared invalid. To adjust the target, the Acquisition node must send a request to the |
||
66 | DriftManager to measure the total drift that has occurred since the target was created. The |
||
67 | DriftManager will load the target's parent image from the database and reacquire it under its |
||
68 | original imaging conditions as a different version. The correlation shift is then stored in |
||
69 | the database so that any target that came from this image can be adjusted in the same way. |
||
70 | |||
71 | <highlights> |
||
72 | |||
73 | Initiating drift monitoring by a focuser node requires two bindings to do such |
||
74 | task. |
||
75 | |||
76 | <simplelist type="vert"> |
||
77 | <member> FocuserNode - (DriftMonitorRequestEvent) -> DriftManagerNode</member> |
||
78 | <member> DriftManagerNode - (DriftMonitorResultEvent) -> FocusNode</member> |
||
79 | </simplelist> |
||
80 | |||
81 | For DriftManager to change presets, two bindings are needed: |
||
82 | |||
83 | <simplelist type="vert"> |
||
84 | <member> DriftManagerNode - (ChangePresetEvent) -> PresetsManagerNode</member> |
||
85 | <member> PresetsManagerNode -(PresetChangedEvent) -> DriftManagerNode</member> |
||
86 | </simplelist> |
||
87 | |||
88 | |||
89 | </highlights> |
||
90 | |||
91 | |||
92 | h2. Settings |
||
93 | |||
94 | |||
95 | |||
96 | * Wait for drift to be less than "3e-10" m = the distance threshold for drift |
||
97 | checking to stop. A drift above the threshold will cause the Drift Manager to continue |
||
98 | to monitor drift. |
||
99 | |||
100 | |||
101 | * Wait "2.5" seconds between checking drift = the amount of time paused between |
||
102 | acquisition of images to measure drift. This applies to requests from Focuser nodes, |
||
103 | too. |
||
104 | |||
105 | |||
106 | * the typical <link linkend="camconfig">Instrument and Camera |
||
107 | Configuration</link> |
||
108 | |||
109 | |||
110 | |||
111 | |||
112 | |||
113 | |||
114 | |||
115 | |||
116 | |||
117 | h2. Toolbar |
||
118 | |||
119 | |||
120 | |||
121 | * Measure Drift = stand alone button to quickly and manually assess drift |
||
122 | once. |
||
123 | |||
124 | |||
125 | * Check Drift = stand alone button to start drift monitoring sequence. |
||
126 | |||
127 | |||
128 | * Abort = this will abort the Drift Manager drift monitoring sequence. |