Skip to content

Confused about the simulation process #4

@eugenejyuan

Description

@eugenejyuan

Hi, I have some confusion about the synthetic data generation process.

One is that I noticed the value of the original density volume data (.mrc) is processed by the following formula src/dataio.py#L177
$$mrc\_data = 2e4 * (power\_signal / power\_init) * (mrc\_data.shape[0] / projection\_sz[0]) * mrc\_data$$

  • the term $power\_signal$ is commented as the sum of squares in src/reconstruct/main.py#L162, but $power\_init$ is the sum of absolute values of the src data. Is this the expected behavior?
  • I didn't get a mathematical intuition of the process, why a 2e4 multiplier, why the term $mrc\_data.shape[0] / projection\_sz[0]$ not $projection\_sz[0] / mrc\_data.shape[0]$. Could you kindly give me some comments?

Another question is about the snr parameter. I see the default value is 10 in configfile configfiles/mrc2star_80S_128.ini#L5. Usually SNR in cryoEM is believed near 0.1-0.01 or even lower. In the code, the sigma of additive Gaussian noise is controlled by $power\_signal/snr$ src/noise_utils.py#L10.

  • Any guidelines about how to choose the two hyper-params? (Is there a more explicit relation between the hyper-param $snr$ and the actual physical SNR?) Is 0.1 (or even smaller number) a more appropriate value for snr?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions