Dear PyTom developers,
I noticed that there might be a redundant multiplication with wedgePart in wedgeParticle in gpuStructures.py.
When performing alignment, the bestAlignmentGPU function in alignmentFunctions.py will do
in which
|
self.volume_fft = self.fftnP(self.volume.astype(self.cp.complex64),plan=self.fftplan) * self.wedgePart |
the particle will be fourier transformed and multiplied with 3DCTF (wedgePart array in the code),
However, in
wedgeRotatedRef
|
self.simulatedVolume = self.ifftnP(self.fftnP(self.rotatedRef.astype(self.cp.complex64), plan=self.fftplan) * self.wedgePart, |
the reference is also fourier transformed and multiplied with 3DCTF,
Since the particle is comprised of images which have been corrupted by CTF, I think the multiplication with 3DCTF in wedgeParticle seems to be redundant.
Let the FT of reference be $V$, and the FT of particle be $X$, we should have $X = V\times CTF$. We can then match $X$ with $V\times CTF$,
but the current implementation matches $X\times CTF$ with $V\times CTF$.
However, this will only make a difference only when the true CTF volume is used in generating rotated ref. If the wedgePart is a fourier mask where the region covered by tilting are set to 1, the implementation in wedgeParticle is fine since multiplying with 1 is an identity oepration.
Dear PyTom developers,
I noticed that there might be a redundant multiplication with wedgePart in
wedgeParticleingpuStructures.py.When performing alignment, the
bestAlignmentGPUfunction inalignmentFunctions.pywill doPyTom/pytom/alignment/alignmentFunctions.py
Line 915 in 4089d5d
in which
PyTom/pytom/gpu/gpuStructures.py
Line 385 in 4089d5d
the particle will be fourier transformed and multiplied with 3DCTF (wedgePart array in the code),
However, in
wedgeRotatedRefPyTom/pytom/gpu/gpuStructures.py
Line 381 in 4089d5d
the reference is also fourier transformed and multiplied with 3DCTF,
Since the particle is comprised of images which have been corrupted by CTF, I think the multiplication with 3DCTF in$V$ , and the FT of particle be $X$ , we should have $X = V\times CTF$ . We can then match $X$ with $V\times CTF$ ,$X\times CTF$ with $V\times CTF$ .
wedgeParticleseems to be redundant.Let the FT of reference be
but the current implementation matches
However, this will only make a difference only when the true CTF volume is used in generating rotated ref. If the
wedgePartis a fourier mask where the region covered by tilting are set to 1, the implementation inwedgeParticleis fine since multiplying with 1 is an identity oepration.