Hi Celine,
I have a question about solvent mask in cctbx. I generated a mask using
the mask manager. Then I am calculating the structure factors from the mask (using mask_manager.structure_factors() ). If I am trying to redo a map from the calculated structure factors (outside the cctbx and I hope
without any scaling), I get a map with a mean density of zero,
That's because the F000 is missing. Without the F000, the mean of an FFT map will always be exactly zero. -- This is a general feature of discrete Fourier transforms.
So I wonder what is exactly this matrix.col(fft_manager.n_real()).product() doing?
That's the number of grid points in the map. The FFT introduces this as a scale factor which we are taking out. -- Again, the number of grid point issue is a general feature of discrete Fourier transforms.
And how do I generate
structure factors for a mask without any scaling?
I'm guessing the scaling is not the problem, but just the absence of F000, which you can get as map_of_coeff[0]. I think it will also work if you give an array of Miller indices including (0,0,0). We could add suppress_scaling to the signature of the .structure_factors() method, but the scale is rather arbitrary anyway, so I don't think this will be very useful. Ralf
participants (1)
-
Ralf W. Grosse-Kunstleve