ROIManager › Evaluate · version 2 · runs once per ROI
Counts the corners a nuclear pore shows and the localizations it has.
A nuclear pore has eight corners, and each corner of the Nup96 ring holds four copies of the protein. How many corners a pore shows, and how many localizations it has, together tell how well the sample was labelled and how often a fluorophore blinks (Thevathasan et al. 2019, doi:10.1038/s41592-019-0574-9).
This evaluator measures both, one pore (one ROI) at a time:
The numbers go into the site table, and NPC Labeling Efficiency turns them into the labelling efficiency. Its page explains why the counts are taken this way.
It is not in a new evaluation pipeline by itself: add it in the evaluation window when the sites are pores. It needs ROIs centred roughly on the pores, such as those of NPC, pores seen face on, grouped localizations, and the localization precision (xy_err_nm).
1. Centre. A circle of the set radius (55 nm) is fitted to the ROI's localizations better than corner precision (20 nm), starting from the ROI's centre, and again to those near the first answer.
2. The ring band. The localizations better than corner precision, from 40 to 70 nm from the centre (radius ± ring width), are the ones the corners are counted with. Nearer the centre a corner's segment is narrower than a localization's spread, so those are left out.
3. Rotation. The pore can be turned by any angle. Its rotation is the angle at which the eight corners best match the counted localizations, precise ones counting more.
4. Corners. The ring is cut into eight equal segments, each centred on a corner. A segment with a counted localization is a corner seen: n_corners.
5. Localizations. The localizations better than count precision (30 nm) within count window (100 nm) of the centre: n_localizations.

Six simulated pores at 30 % labelling: the localizations counted for the corners (blue) and the others (grey), the ring band (dotted), the segment borders, and the corners seen (filled red). The truly labelled corners of each pore are given in the title beside the count.
The centre minimises over the precise localizations,
the distance of localization
from the centre,
the radius, and
the soft-L1 loss with the ring width as its scale (see NPC); then twice more over those within
of the answer,
the ring width. With fewer than 3 precise localizations, all of them are used.
The rotation is the weighted circular mean of the angles of the counted localizations, taken
times over so that all corners fall on one direction:
the corners,
the distance from the centre and
the precision, the weight one over the square of the angular precision. The corners are at
; a localization belongs to the corner whose segment, of width
centred on it, holds its angle, and a segment with at least min per corner is a corner seen.
Why a cutoff, and why 20 nm. A localization with a precision of 15 nm or more crosses into a neighbouring segment often enough to open an empty corner, and with many blinks per fluorophore that happens in many pores; with no cutoff the efficiency came out up to 32 points too high on simulations. A tight cutoff loses the corners whose blinks were all dim. 20 nm is between the two, and the analysis models both what spills and what is lost, so it does not have to be exact.
SMAP's count, n_corners_smap, is that of SMAP's NPCLabelingQuantify: every localization from 30 to 70 nm from the centre with a precision better than 0.4 of the arc between two corners at 50 nm (15.7 nm), around the same centre and with the rotation found the same way.
Without a precision column every localization is counted, for the corners and for N, and the analysis can only use SMAP's method.
| setting | default | what it does |
|---|---|---|
radiusradius_nm | 55 nm | Radius of the ring band the corners are counted in. The radius of the protein's ring. Leave the band (radius ± ring width) where the segmenter has it, so that what is counted is what was judged. at least 1 nm |
ring widthring_width_nm | 15 nm | Half the width of the ring band. at least 1 nm |
corner precisionprecision_nm | 20 nm | Corners are counted with the localizations more precise than this. The cutoff the analysis models (see In detail): the same as the segmenter's judge on precision. at least 0.1 nm |
count precisionn_precision_nm | 30 nm | The localizations per pore are those more precise than this. Loose enough that most of a pore's localizations count, tight enough that the scattered imprecise localizations of neighbouring pores do not. at least 0.1 nm |
count windown_window_nm | 100 nm | ... and within this distance of the centre. About the ring's radius plus three of the count's precisions. at least 1 nm |
cornerscorners | 8 | Symmetry of the pore: segments around the ring. at least 2 |
min per corner (more)min_locs | 1 | Localizations a corner needs to count as seen.
|
One row per ROI in the site table:
n_corners, the corners seen with the precise localizations;n_localizations, the localizations better than count precision;n_corners_smap, SMAP's count;n_ring_locs, the localizations the corners were counted with;radius_nm, the radius fitted free to them, and ring_radius_nm, their median distance from the centre (the analysis takes the ring's radius from it);rotation_deg, the rotation x_nm, y_nm, the fitted centre.The figure shows the pore with the ring band, the segment borders and the corners, filled when seen, and is redrawn for each ROI as the ROI manager walks the list.
Ported from SMAP's ROIManager/Evaluate/NPCLabelingQuantify_s (Ries 2020), whose count is kept as n_corners_smap.