Bug #1560
closedctf estimation used in beam-tilt coma calibration fails
0%
Description
reported by Bob Grassuci in http://emg.nysbc.org/boards/6/topics/1142
Calibration failed Unsupported operand type(s) for -: 'None type' and 'None type'
And "Can only concatenate tuple(not float) to tuple
There must be some error handling problem.
Files
Updated by Bob Grassucci almost 13 years ago
Sample image that failed. 512X512 4X binning, Pixel size 6 A. 300kV
Updated by Anchi Cheng almost 13 years ago
Finally have some time to track this down. I will work on the error handling so that it does not cause this kind of ambiguous error message.
Unsupported operand type(s) for -: 'None type' and 'None type came from line 896 in leginon/calibrationclient.py where two defocus values it need to subtract are None due to failed ctf estimation.
However, the fact remains that the ctf estimation failed on images similar to this test image.
From my direct test, this particular image did not failed although I was not clear whether 6 A pixel size is before or after binning of 4. I tested as after binning The fitting result was not very good (giving larger astigmation than expect) which is means the algorithm need improvement.
I will write a short python script that users can use to check the ctf estimation directly,
Updated by Anchi Cheng almost 13 years ago
- File testctf.py testctf.py added
Here is the python script. If you run it under the same environment as leginon, it should be able to find all the libraries it needs.
The format for running is:
Usage: python testctf.py ht pixelsize mrcfile ht: High Tension of the microscope in kilovolts pixelsize: image pixelsie in Angstroms mrcfile: path to a square mrc file to be analyzed For example: python ./testctf.py 200 1.71 /yourdata/yourimage.mrc
Updated by Anchi Cheng over 12 years ago
- Status changed from Assigned to In Code Review
- Assignee changed from Anchi Cheng to Jim Pulokas
r16531 handles the None returned from failed ctf estimation before operations. This is a bit of mess because I want to use the same function for calls from Calibrator and Acquisition subclasses with different behavior in each case. Can use refactoring someday.
Need to merge to 2.2 branch
Updated by Jim Pulokas over 12 years ago
- Status changed from In Code Review to Closed
reviewed. already merged, so closing.