Actions
Bug #1849
closedAce2 estimate gets astigmatism angle wrong for image created by Ace2correct
Start date:
06/12/2012
Due date:
% Done:
0%
Estimated time:
Affected Version:
Pre-2.0
Show in known bugs:
No
Workaround:
Description
Ace2 estimate gets astig angle wrong for image created by Ace2correct. I am really worried about this bug, could someone confirm.
#angle zero ace2correct.exe -img inputimage.mrc -out angle00.mrc -df -1.45e-6,-1.65e-6,0 \ -cs 0.002 -kv 120 -apix 1.5 -ampc 0.07 -apply #angle 90 degrees = pi/2 = 1.5707 ace2correct.exe -img inputimage.mrc -out angle90.mrc -df -1.45e-6,-1.65e-6,1.5707 \ -cs 0.002 -kv 120 -apix 1.5 -ampc 0.07 -apply #angle zero correction: ace2.exe --image angle00.mrc --apix 1.5 --kvolts 120 --amp 0.07 --sabr 2.0 --binby 2 ... Defocus: -1.65064 -1.43813 2.96289 Amplitude Contrast: 18.36% Confidence Score: 0.98 ace2.exe --image angle90.mrc --apix 1.5 --kvolts 120 --amp 0.07 --sabr 2.0 --binby 2 ... Defocus: -1.64363 -1.44704 -2.45801 Amplitude Contrast: 17.37% Confidence Score: 0.97 ...
So, for both images the angle is approx 0 (-2.4 and 2.9) degrees, NOT 90 as expected.
Note: ace2 (mm) and ace2correct (meters) take different units for Cs.
It seems that it keeps the angle in the following range -45<angle<45, which is okay if you switch defocus1 < defocus2 to defocus1 > defocus2 (as in ctffind). But if (as I find in ace2) |defocus1| is always greater than |defocus2|, which means that you need at least 180 degrees to specify the astig angle.
Using the ap6 database at AMI/NRAMM with
SELECT ROUND(ctf.angle_astigmatism,1) AS angle, defocus1>defocus2 AS 1_greater, ROUND(defocus1*1e6,2) AS def1, ROUND(defocus2*1e6,2) AS def2 FROM ApCtfData AS ctf LEFT JOIN ApAceRunData as run ON ctf.`REF|ApAceRunData|acerun` = run.DEF_id WHERE run.`REF|ApAce2ParamsData|ace2_params` IS NOT NULL AND defocus1<>defocus2 ORDER BY angle LIMIT 2; +-------+-----------+-------+-------+ | angle | 1_greater | def1 | def2 | +-------+-----------+-------+-------+ | -45.0 | 0 | -2.05 | -1.97 | | -45.0 | 0 | -1.19 | -1.18 | +-------+-----------+-------+-------+ 2 rows in set (0.05 sec) SELECT ROUND(ctf.angle_astigmatism,1) AS angle, defocus1>defocus2 AS 1_greater, ROUND(defocus1*1e6,2) AS def1, ROUND(defocus2*1e6,2) AS def2 FROM ApCtfData AS ctf LEFT JOIN ApAceRunData as run ON ctf.`REF|ApAceRunData|acerun` = run.DEF_id WHERE run.`REF|ApAce2ParamsData|ace2_params` IS NOT NULL AND defocus1<>defocus2 ORDER BY angle DESC LIMIT 2; +-------+-----------+-------+-------+ | angle | 1_greater | def1 | def2 | +-------+-----------+-------+-------+ | 45.0 | 0 | -1.77 | -1.70 | | 45.0 | 0 | -1.91 | -1.83 | +-------+-----------+-------+-------+ 2 rows in set (0.05 sec) SELECT COUNT(ctf.DEF_id) FROM ApCtfData AS ctf LEFT JOIN ApAceRunData as run ON ctf.`REF|ApAceRunData|acerun` = run.DEF_id WHERE run.`REF|ApAce2ParamsData|ace2_params` IS NOT NULL AND defocus1>defocus2 LIMIT 1; +-------------------+ | COUNT(ctf.DEF_id) | +-------------------+ | 0 | +-------------------+ 1 row in set (0.07 sec) SELECT COUNT(ctf.DEF_id) FROM ApCtfData AS ctf LEFT JOIN ApAceRunData as run ON ctf.`REF|ApAceRunData|acerun` = run.DEF_id WHERE run.`REF|ApAce2ParamsData|ace2_params` IS NOT NULL AND defocus1<defocus2 LIMIT 1; +-------------------+ | COUNT(ctf.DEF_id) | +-------------------+ | 3438 | +-------------------+ 1 row in set (0.11 sec)
Please tell me, I am wrong here.
Files
Actions