Particle detection
Particle candidates were identified by treating each processed frame with a Laplacian of Gaussian filter that matched the size of the PSFs durante our mass photometry setups (Supplementary Fig. 16). 0011 for all scadenza except the data per Extended Data Figs. 2, 3, 8 and Supplementary Figs. 3 and 13, for which the threshold was set esatto 0.0014), and applying a local maximum filter. The pixels that passed the threshold map and were also local maxima were used as coordinates for particle candidates. For each pair of candidate coordinates, per 13 ? 13 pixel region of interest was constructed with the candidate pixel at the center, and this region of interest was passed through our PSF-fitting procedure sicuro quantify particle contrast and location. If per particle candidate was too close preciso an edge of the field of view puro construct per 13 ? 13 region of interest, that is, within 6 pixels of an edge, it was discarded. Con some cases, preparazione noise features were identified as particle candidates and this could lead esatto the PSF fit converging onto a nearby particle sopra the region of interest, which resulted sopra duplicate fits. Preciso avoid problems with trajectory linking, only the first instance of per fitted particle was retained and duplicates were deleted.
Particle quantification and the point spread function model
The location and contrast of the particle candidates were quantified through least-squares minimization of the residual between the 13 ? 13 region of interest and our PSF model (for details on how the fitting error in particle locations was extracted please refer sicuro the Supplementary Information). Due onesto the interferometric nature of dynamic mass photometry, we based our PSF model on the shape of a jinc function 50 rather than its square, which is more commonly used sopra fluorescence-based techniques:
The first jinc function models the light scattered by a small particle, which is clipped by the circular objective aperture, where r is the distance from the PSF center, w the width of the jinc function and a its amplitude. In mass photometry setups a partial reflector positioned in the back focal plane helps to increase particle contrast by attenuating the light reflected by the coverslip 18 , which we account for by including a second jinc function. This combination of two jinc functions is then multiplied by a Gaussian with standard deviation ?, which is an empirical adjustment to reflect the appearance of the PSFs in our setups, which appear to have weaker outer lobes than we can account for with jinc functions alone. We calibrated this PSF model using standard mass photometry landing assays that were carried out ?2 h before or after the dynamic mass photometry experiments. We then extracted and saved the ratio of the amplitudes of the two jinc functions (a1/a2), the width of the first jinc function (w1) and the standard deviation of the Gaussian (?). The width of the second jinc function (w2) is calculated using prior knowledge of the dimensions of the back aperture and partial reflector (here, w2 = 2.27w1). The analysis of these landing assays was carried out using DiscoverMP (Refeyn Ltd), and the extracted parameters used for each measurement are supplied with the raw data.
Trajectory linking
The successfully fitted particles were linked into trajectories using the open-source Python package trackpy 51 . More specifically, we used the trackpy.link_df function with verso maximum search distance of 4 pixels from frame esatto frame and a ‘memory’ of 3 frames. The memory parameter refers onesto the maximum number of frames during which a feature can vanish (as per result of unsuccessful PSF fitting, for example) and reappear and still be considered the same particle. Due onesto this memory parameter, our linked trajectories can contain gaps of up preciso 3 frames sopra length each. To obtain accurate trajectory lengths, the missing frames were treated as trajectory points at which the contrast and position could not be determined.