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