You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When doing 3D radial averaging, the average should be generated from from the entire 3d volume, not just repeatedly using the z = 0 plane of the image (indexed 0...img.zdim). By only pulling from the z=0 plane while calculating the radius using the actual z coordinate of the voxel, this would result in an incorrect 3d radial average.
This radial averaging function (RadialAvg::fftwHalf_3D_lin in src/jaz/image/radial_avg.h) seems to only be used during particle reconstruction (both in STA and SPA) and also during 3D subtomogram extraction. It is called by the Reconstruction::ctfCorrect3D_heuristic function, to generate a radial average of the rings of the 3D CTF, and use the average to prevent any CTF values that are too low (0.001x lower than the average) respective to this average from being used for CTF correction (see: https://github.com/3dem/relion/blob/master/src/jaz/tomography/reconstruction.h#L527-L541)
Testing with real data during subtomogram particle reconstruction (this isn't very comprehensive), it seems like there is no significant difference between the output without the fix and with the fix, since this radial average is just used to prevent CTF values along that radius from being too low (here in the Reconstruction::ctfCorrect3D_heuristic function) but many (if not all) of the values along the radius are not less than 0.001x the average weight. In the case with synthetic data (generated using PolNet) run through a reconstruction without orientations (that holds no biological relevance) a discrepancy can be observed, but I'm not sure this is worth regarding. Nevertheless, for the sake of correctness, I thought this was worth mentioning. Thank you!
Reconstruction::ctfCorrect3D_heuristic which calls RadialAvg::fftwHalf_3D_lin is also called in SpaBackproject::reconstructNew, which seems to be a standalone script?
Reconstruction::ctfCorrect3D_heuristic which calls RadialAvg::fftwHalf_3D_lin is also called in SpaBackproject::reconstructNew, which seems to be a standalone script?
Although I do not know if this is a commonly used tool in the SPA workflow (not built as part of the relion build/bin folder).
OK. This is an experimental program not intended for general use.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When doing 3D radial averaging, the average should be generated from from the entire 3d volume, not just repeatedly using the z = 0 plane of the image (indexed
0...img.zdim). By only pulling from the z=0 plane while calculating the radius using the actual z coordinate of the voxel, this would result in an incorrect 3d radial average.This radial averaging function (
RadialAvg::fftwHalf_3D_lininsrc/jaz/image/radial_avg.h) seems to only be used during particle reconstruction (both in STA and SPA) and also during 3D subtomogram extraction. It is called by theReconstruction::ctfCorrect3D_heuristicfunction, to generate a radial average of the rings of the 3D CTF, and use the average to prevent any CTF values that are too low (0.001x lower than the average) respective to this average from being used for CTF correction (see: https://github.com/3dem/relion/blob/master/src/jaz/tomography/reconstruction.h#L527-L541)Testing with real data during subtomogram particle reconstruction (this isn't very comprehensive), it seems like there is no significant difference between the output without the fix and with the fix, since this radial average is just used to prevent CTF values along that radius from being too low (here in the
Reconstruction::ctfCorrect3D_heuristicfunction) but many (if not all) of the values along the radius are not less than 0.001x the average weight. In the case with synthetic data (generated using PolNet) run through a reconstruction without orientations (that holds no biological relevance) a discrepancy can be observed, but I'm not sure this is worth regarding. Nevertheless, for the sake of correctness, I thought this was worth mentioning. Thank you!