IsoNet-cryoET / IsoNet

Self-supervised learning for isotropic cryoET reconstruction
https://www.nature.com/articles/s41467-022-33957-8
MIT License
67 stars 12 forks source link

The question about deconvolution.py #27

Closed LanqingZhao closed 2 years ago

LanqingZhao commented 2 years ago

Could you please explain why the code in line 19 of deconvolution.py has an extra division of 2? It seems not to make sense. As I understand, you try to set up the units of spatial frequency. If you add an extra division of 2, this function would have an input and an output that do not match the subsequent functions (Wiener filter and SNR). If I am wrong, please walk me through . Thank you!

procyontao commented 2 years ago

Hi,

Sorry for the late reply.

I think the division of 2 reflects the Nyquist frequency which is (1/2)/pixelsize. And I believe this with and without this 2 does not matter anyway because the np.arange(0,1+1/2047.,1/2047.) is multiplied by a snrfalloff parameter which will be set arbitrarily.

Please find the corresponding MatLab code from Dimitry Tegunov here https://github.com/dtegunov/tom_deconv/blob/master/tom_ctf1d.m

LanqingZhao commented 2 years ago

Thank you for your explanation, Dr Liu!