Bug #3356
closedCtf Display does not work as well when extending resolution past 5 Å
0%
Description
Ctf Display does not work as well when extending resolution past 5 Å
num of sections to divide the 1D spectrum into
initially it was 3 sections to 5 A (or 0.2 A-1)
for going to 3 A (0.33 A-1) should be 5 sections
to cover the same space per section 0.2/3 = 0.067
0.33/0.067 = 15/3 = 5 sections
so the new number of sections will be 15/maxRes and it is dynamic
or one could use the square of the resolution, but let's try this first
Updated by Scott Stagg over 9 years ago
I think we might be seeing a bug related to this. With some negative stain images, the database insertion is failing. Below is the error:
... Computing median of power spectra series ... Compute PSD with fieldsize 2048 and 9 images complete in 55.18 sec !!! WARNING: Requested resolution (3.000) is not available (8.100) ... Preform a rotational average and remove spikes... PART 1: SETUP PARAMETERS AND ELLIPTICAL AVERAGE ... Number of available peaks is 250 /panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctftools.py:490: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future xdataint = xdataint[:outercutsize] ... Determine and subtract noise model PART 2: BACKGROUND NOISE SUBTRACTION ... starting peak extension Peak Extension Complete in 3.75 msec Traceback (most recent call last): File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/bin/pyace2.py", line 361, in <module> imgLoop.run() File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/appionLoop2.py", line 93, in run self.loopCommitToDatabase(imgdata) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/appionLoop2.py", line 143, in loopCommitToDatabase return self.commitToDatabase(imgdata) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/bin/pyace2.py", line 286, in commitToDatabase ctfinsert.validateAndInsertCTFData(imgdata, self.ctfvalues, self.ctfrundata, self.params['rundir']) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfinsert.py", line 45, in validateAndInsertCTFData ctfvalues = runCTFdisplayTools(imgdata, ctfvalues, opimagedir, fftpath, fftfreq) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfinsert.py", line 83, in runCTFdisplayTools ctfdisplaydict = ctfdisplay.makeCtfImages(imgdata, ctfvalues, fftpath, fftfreq) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfdisplay.py", line 1257, in makeCtfImages ctfdisplaydict = a.CTFpowerspec(imgdata, ctfdata, fftpath, fftfreq, twod=twod) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfdisplay.py", line 1139, in CTFpowerspec normpowerspec = self.normalizeCtf(powerspec, twod=twod) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfdisplay.py", line 210, in normalizeCtf fitvalleydata[startIndex:endIndex], "below") File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfnoise.py", line 550, in modelCTFNoise filterctfdata, contraintFunction) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfnoise.py", line 399, in getAllInitialParameters fitparams, value = self.fitLinear(xdata, ctfdata, contraintFunction) File "/panfs/storage.local/imb/stagg/software/myami_dev/appion/appionlib/apCtf/ctfnoise.py", line 183, in fitLinear z = numpy.polyfit(xdata, ctfdata, 1) File "/usr/lib64/python2.6/site-packages/numpy/lib/polynomial.py", line 551, in polyfit raise TypeError("expected non-empty vector for x") TypeError: expected non-empty vector for x
The pixel size for these images is 4.05 and we can see one Thon ring. We aren't having any problems with cryo data.
Updated by Neil Voss almost 9 years ago
- Related to Feature #3950: Create CTF test dataset within Docker added
Updated by Anchi Cheng almost 9 years ago
Neil,
It occurs to me that the way you generate 1D plot can be applied to any image given. How about feed in the empty image from the algorithm Bob Glaeser suggested awhile ago, see Issue #2078. You should get a perfect 1D background to subtract. No fitting needed except the water ring itself which I would think will be easier once all other components are gone.
Updated by Neil Voss almost 9 years ago
Hi Anchi, The background noise is not as difficult a problem as the envelope. But it would be interesting to try this.
The main issue is where I decide to cut the sections for the fit. In close to focus images there are not as many peaks and valleys that make good cut points.
Updated by Neil Voss almost 9 years ago
- Status changed from Assigned to Closed
- Assignee deleted (
Neil Voss)
I am closing this issue as other (more specific) issues are the main culprit. See issue #3950 for a list.