- Rendering of the super-resolution image: In
Picasso: Render, open a movie file by dragging a localization file (ending with '.hdf5') into the window or by selectingFile > Open. The super-resolution image will be rendered automatically. A region of choice can be zoomed into by a rectangular selection using the left mouse button. The 'View' menu contains more options for zooming and panning. - (Optional) Adjust rendering options by selecting
View > Display Settings. The field 'Oversampling' defines the number of super-resolution pixels per camera pixel. The contrast settingsMin. DensityandMax. Densitydefine at which number of localizations per super-resolution pixel the minimum and maximum color of the colormap should be applied. - (Optional) For multiplexed image acquisition, open HDF5 localization files from other channels subsequently. Alternatively, drag and drop all HDF5 files to be displayed simultaneously.
Picasso offers three procedures to correct for drift: AIM (Ma, H., et al. Science Advances. 2024., option A), use of specific structures in the image as drift markers (option B) and an RCC algorithm (option C). AIM is precise, robust, quick, requires no user interaction or fiducial markers (although adding them will may improve performance). Although RCC does not require any additional sample preparation, option B depends on the presence of either fiducial markers or inherently clustered structures in the image. On the other hand, option B often supports more precise drift estimation and thus allows for higher image resolution. To achieve the highest possible resolution (ultra-resolution), we recommend AIM or consecutive applications of option C and multiple rounds of option B. The drift markers for option B can be features of the image itself (e.g., protein complexes or DNA origami) or intentionally included markers (e.g., DNA origami or gold nanoparticles). When using DNA origami as drift markers, the correction is typically applied in two rounds: first, with whole DNA origami structures as markers, and, second, using single DNA-PAINT binding sites as markers. In both cases, the precision of drift correction strongly depends on the number of selected drift markers.
- In
Picasso: Render, selectPostprocess > Undrift by AIM. - The dialog asks the user to select:
Segmentation- the number of frames per interval to calculate the drift. The lower the value, the better the temporal resolution of the drift correction, but the higher the computational cost.Intersection distance (nm)- the maximum distance between two localizations in two consecutive temporal segments to be considered the same molecule. This parameter is robust, 3*NeNA for optimal result is recommended.Max. drift in segment (nm)- the maximum expected drift between two consecutive temporal segments. If the drift is larger, the algorithm will likely diverge. Setting the parameter up to3 * intersection_distancewill result in fast computation.
- After the algorithm finishes, the estimated drift will be displayed in a pop-up window, and the display will show the drift-corrected image.
- In
Picasso: Render, pick drift markers as described in Picking of regions of interest. Use thePick similaroption to automatically detect a large number of drift markers similar to a few manually selected ones. - If the structures used as drift markers have an intrinsic size larger than the precision of individual localizations (e.g., DNA origami, large protein complexes), it is critical to select a large number of structures. Otherwise, the statistic for calculating the drift in each frame (the mean displacement of localization to the structure's center of mass) is not valid.
- Select
Postprocess > Undrift from pickedto compute and apply the drift correction. - (Optional) Save the drift-corrected localizations by selecting
File > Save localizations.
- In
Picasso: Render, selectPostprocess > Undrift by RCC. - A dialog will appear asking for the segmentation parameter. Although the default value, 1,000 frames, is a sensible choice for most movies, it might be necessary to adjust the segmentation parameter of the algorithm, depending on the total number of frames in the movie and the number of localizations per frame. A smaller segment size results in better temporal drift resolution but requires a movie with more localizations per frame.
- After the algorithm finishes, the estimated drift will be displayed in a pop-up window, and the display will show the drift-corrected image.
- Manual selection. Open
Picasso: Renderand load the localization HDF5 file to be processed. - Switch the active tool by selecting
Tools > Pick. The mouse cursor will now change to a circle. Alternatively, openTools > Tools Settingsto change the shape into a rectangle. Lastly, choosingPolygonallows for drawing polygons of any shape. - Set the size of the pick circle by adjusting the
Diameterfield in the tool settings dialog (Tools > Tools Settings). Alternatively, chooseWidthfor a rectangular shape. - Pick regions of interest using the circular mouse cursor by clicking the left mouse button. All localizations within the circle will be selected for further processing.
- (Optional) Automated region of interest selection. Select
Tools > Pick similarto automatically detect and pick structures that have similar numbers of localizations and RMS deviation (RMSD) from their center of mass than already-picked structures. The upper and lower thresholds for these similarity measures are the respective standard deviations of already-picked regions, scaled by a tunable factor. This factor can be adjusted using the fieldTools > Tools Settings > Pick similar ± range. To display the mean and standard deviation of localization number and RMSD for currently picked regions, selectView > Show infoand clickCalculate info below. - (Optional) Exporting of pick information. All localizations in picked regions can be saved by selecting
File > Save picked localizations. The resulting HDF5 file will contain a new integer columngroupindicating to which pick each localization is assigned. - (Optional) Statistics about each pick region can be saved by selecting
File > Save pick properties. The resulting HDF5 file is not a localization file. Instead, it holds a data set calledgroupsin which the rows show statistical values for each pick region. - (Optional) The picked positions and diameter itself can be saved by selecting
File > Save pick regions. Such saved pick information can also be loaded intoPicasso: Renderby selectingFile > Load pick regions.
NOTE: Rectangular picks can be used to generate the projections of localizations onto the rectangle's axes. To do so, select rectangular picks and save picked localizations (File > Save picked localizations). The resulting hdf5 files will contain columns x_pick_rot and y_pick_rot, which are the projections of localizations onto and against the "drawing" axis of the rectangle, respectively.
The 3D rotation window allows the user to render 3D localization data. To use it, select a single pick region (Tools > Pick) and click View > Update rotation window. Some of the display settings (colors, blur method, etc.) are automatically uploaded to the rotation window.
The user may perform multiple actions in the rotation window, including: saving rotated localizations, building animations (.mp4 format), rotating by a specified angle, etc.
Note that to build animations, the user must have ffmpeg installed on their system.
Rotation around z-axis is available by pressing Ctrl/Command. Rotation axis can be frozen by pressing x/y/z to freeze around the corresponding axes (to freeze around the z-axis, Ctrl/Command must be pressed as well).
There are several things to keep in mind when using the rotation window. Firstly, using individual localization precision is very slow and is not recommended as a default blur method. Also, the size of the rotation window can be altered, however, if it becomes too large, rendering may start to lag.
In Picasso 0.6.0, a new RESI (Resolution Enhancement by Sequential Imaging) dialog was introduced. It allows for a substantial resolution boost by sequential imaging of a single target with multiple labels with Exchange-PAINT (Reinhardt, et al., Nature, 2023. DOI: 10.1038/s41586-023-05925-9).
To use RESI, prepare your individual RESI channels (localization, undrifting, filtering and alignment). Load such localization lists into Picasso Render and open Postprocess > RESI. The dialog shown above will appear. Each channel will be clustered using the SMLM clusterer (other clustering algorithms could be applied as well although only the SMLM clusterer is implemented for RESI in Picasso). Clustering parameters can be defined for each RESI channel individually, although it is possible to apply the same parameters to all channels by clicking Apply the same clustering parameters to all channels, which will copy the clustering parameters from the first row and paste it to all other channels.
Next, the user needs to specify whether or not to save clustered localizations or cluster centers from each of the RESI channels individually, and whether to apply basic frame analysis (to minimize the effect of sticking events). For the explanation of the parameters, see SMLM clusterer below.
Upon clicking Perform RESI analysis, each of the loaded channels is clustered, cluster centers are extracted and combined from all RESI channels to create the final RESI file.
In Picasso 0.9.5, a new algorithm for molecular mapping (i.e., finding the positions of individual molecules from localizations) was introduced: G5M (Gaussian Mixture Modeling with Modifications for Molecular Mapping; Kowalewski, Reinhardt et al. Nature Comms, 2026. DOI: 10.1038/s41467-026-70198-5). G5M is based on Gaussian Mixture Modeling (GMM) but includes several modifications to make it suitable for molecular mapping. All the technicalities as well as the user guide of the method are explained in the publication mentioned and its Supplementary Information. Please refer to picasso.g5m for the details of the implementation. Below is a brief summary of the user guide.
G5M requires some preprocessing of localizations to filter out the badly fitted ones, especially the ones arising from crosstalk (overlapping blinking). These can be excluded from 2D data where the ellipticity and size of the image of an emitter in x and y can be filtered (in Picasso these are found under names “ellipticity”, “sx” and “sy”, respectively). Moreover, the photon count can be cut-off as crosstalk is likely to result in a higher-intensity signal. In 3D data these filters are less reliable due to astigmatism, however, “d_zcalib” could be used. We strongly encourage avoiding dense blinking, where emission signals from neighboring molecules overlap, especially during 3D image acquisition.
Prior to molecular mapping, clustering of localizations is required to split the data into smaller chunks. For many datasets, DBSCAN works well. While in some cases some adjustments may be needed, we recommend the following DBSCAN parameters: In 2D, DBSCAN radius (epsilon) of 2*LP, in 3D - 3*LP (LP - average localization precision of the dataset, for example, NeNA or median localization precision). Default min. samples is set to 4. Clustering in Picasso adds the group column to the localization file, which is required for G5M. Note: G5M relies on the information in the ``group`` column, therefore, if it is overwritten (for example, by picking localizations after DBSCAN clustering), G5M will not work.
To account for fluorophore non-specific sticking, frame analysis is normally recommended (especially the filtering of st. dev. of frame per molecule). However, if localizations from neighboring localization clouds overlap, this is not sufficient due to ambigous assignment of localizations to molecules. Therefore, we recommend filtering of molecules that express too few binding events (saved in the column n_events). In the publication, we recommend a threshold of at least 3 binding events per molecule.
The final postprocessing step is log-likelihood filtering (using the column p_val). The recommended threshold is > 0.0015, however, it might need to be adjusted for your data, especially in 3D this can be too conservative.
As a final check for overfitting (i.e., too many assigned molecules), G5M automatically saves a bar plot of the number of binding events per molecule (n_events column) for sparse (with neighbors within 25 nm) and clustered (without neighbors within 80 nm) molecules. While this is only a qualitative verification, it is a simple method to spot potential overfitting issues. If the clustered molecules show fewer binding events that the sparse molecules, overfitting likely occurred. See Fig. S15 of the publication for an example of well-behaved data. As of v0.9.8, Picasso saves the plot showing relative σ values (i.e., the fitted Gaussian σ divided by the average loc. precision around the molecule). This can be used to estimate if the loc. precision values are accurate (if not, many molecules will have relative σ values close to the user-selected min./max. σ).
If the outcome of G5M seems unsatisfactory, please check the following:
- Make sure that
groupcolumn is present in the localization file and contains the correct information (i.e., from DBSCAN clustering, not from picking localizations); - Make sure that the loc. precision values (columns
lpx,lpy,lpz) are correct, comparing NeNA and median loc. precision is a reasonable proxy (without fiducial markers); the most common issue is a miscalibrated camera, leading to incorrect photon counts and thus incorrect loc. precisions; - Another reason why the loc. precision values can be off is due to the small box size in the localization step; especially in 3D astigmatic imaging, single-emitter images can be quite large, potentially exceeding the user-defined box size; in such cases, we recommend increasing the box size in the localization step and rerunning the analysis;
- Inspect if the localizations were preprocessed as described above;
- Rerun the analysis without postprocessing (filtering) and redo it manually, since some steps may be too stringent, such as
p_valorn_events(latter especially for short acquisition times); - Adjust min./max. σ, especially too low max. σ may lead to high false positive error rates (i.e., overfitting); We suggest inspecting
rel_sigmavalues of the assigned molecules, which are calculated as the fitted σ divided by the mean localization precision of the surrounding localizations. If the values are close to the user-selected min./max. σ, min./max. σ might need to be adjusted. Alternatively, this might be a sign of inaccurate/inprecise loc. precision values, see above; - Adjust min. locs;
- Adjust DBSCAN (or other clustering algorithm) parameters. For example, if G5M takes too long to run, the DBSCAN clusters most likely contain too many molecules. In such a case, we recommend splitting such clusters further;
Allows to change the display settings. Open via View > Display Settings.
Adjust the general display settings.
Set the magnification factor.
Set the oversampling. Choose dynamic to automatically adjust to current window size when zooming.
Click show minimap to display a minimap in the upper left corner to localize where the current field of view is within the image.
Define the minimum and maximum density of the and select a colormap. Over 100 colormaps are available. The last option Custom requires the user to load their own .npy file containg a numpy array with a custom colormap. The selected colormap will be saved when closing render.
Select a blur method. Available options are: * None * One-Pixel-Blur * Individual Localization Precision * Individual Localization Precision, iso
Select the pixel size of the camera. This will be automatically set to a default value or the value specified in the *.yaml file.
Activate scale bar. The length of the scale bar is calculated with the Pixel Size set in the Camera dialog. Activate Print scale bar length to additionally print the length.
This allows rendering properties by color.
Displays the info dialog.
Shows the image width/height, the coordinates, and dimensions of the current FoV.
Displays the median fit precision of the dataset. Clicking on Calculate allows calculating the precision via the NeNA approach. See DOI: 10.1007/s00418-014-1192-3.
Displays the FRC resolution of the dataset. Takes in the image in the current FOV and calculates the FRC resolution via splitting the localizations into two halves. Based on the approach from 10.1038/nmeth.2448. Does not take into account the Q factor for multiple blinking.
Shows the number of localizations in the current FoV.
Allows calculating statistics about the picked localizations. Press Calculate info below to calculate. Ignore dark times allows treating consecutive localizations as on, even if there are localizations (specified by the parameter) missing between them. When defining the number of units per pick, you can calibrate the influx rate via Calibrate influx. A histogram of the dark and bright time can be plotted when clicking Histograms.
Open an .hdf5 file to open in render.
Opens localizations that were saved via the rotation window, see above.
Save the localizations that are currently loaded in render to an hdf5 file.
Save the localizations that are within a picked region (yellow circle, rectangle or polygon). Each pick will get a different group number. To display the group number in Render, select Annotate picks in Tools/Tools Settings.
In case of rectangular picks, the saved localizations file will contain new columns x_pick_rot and y_pick_rot, which are localization coordinates into the coordinate system of the pick rectangle (coordinate (0,0) is where the rectangle was started to be drawn, and y_pick_rot is in the direction of the drawn line.)
These columns can be used to plot density profiles of localizations along the rectangle dimensions easily (e.g., with "Filter").
Calculates the properties of each pick (i.e., mean frame, mean x mean y as well as kinetic information and saves it as an hdf5 file.
Saves the positions of the picked regions (yellow circles) in a .yaml file. The file will contain the following: A list of center positions and the value of the diameter. It is possible to manually add center positions or copy from another pick regions file with a text editor.
Resets the current picked regions and loads regions from a .yaml file that contains pick regions.
This function allows to export the current ROI for Imaris. Note that this is currently only implemented for Windows. Click on File / Export ROI for imaris and enter a filename for export. Picasso will export the current region of interest with the current oversampling settings. If multiple channels are loaded it will export the channels with the same colors as set in Picasso (Shortcut CTRL+F or View / Files to change.) Depending on the size of the ROI, the export will take a couple of seconds. Once exporting is finished, the file will be saved at the set location. The resulting file can be opened e.g. with ImarisViewer or Imaris. Note that the orientation is the same as in Picasso.
Select export for various other programs. Note that some exporters only work for 3D files (with z coordinates). For additional file converters check out the convert folder at Picasso's GitHub page.
This will export the dataset in a .csv file to use with ThunderSTORM.
Note that for large datasets the writing of the file may take some time.
Note that the pixel size value that is set in Display Settings will be used for exporting.
Thefollowing columns will be exported: 3D: id, frame, x [nm], y [nm], z [nm], sigma1 [nm], sigma2 [nm], intensity[photon], offset[photon], uncertainty_xy [nm] 2D: id, frame, x [nm], y [nm], sigma [nm], intensity [photon], offset [photon], uncertainty_xy [nm]
The uncertainty_xy is calculated as the mean of lpx and lpy. For 2D, sigma is calculated as the mean of sx and sy.
For the case of linked localizations, a column named detections will be added, which contains the len parameter - that’s the duration of a blinking event and not the number n of linked localizations. This is meant to be better for downstream kinetic analysis. For a gradient that is well-chosen n ~ len and for a gap size of 0 len = n.
Export as .txt file to be used for the fourier ring correlation plugin in ImageJ.
Export as .txt file to be used for Chimera import.
Export as .3d file to be used ViSP.
Removes all .hdf5 files loaded, restarts the render window.
Opens the Display Settings Dialog.
Open a dialog to select the color and toggle visibility for each loaded dataset.
Moves the current field of view in a particular direction. Also possible by using the arrow keys.
Zoom into the image.
Zoom out of the image.
Fits the reconstructed image to be fully displayed in the window.
Opens the slicer dialog which allows for slicing through 3D datasets.
Opens/updates rotation window, see above. Requires a single picked region of interest to be selected.
Shows info for the current dataset. See Info Dialog.
Selects the zoom tool. The mouse can now be used for zoom and pan.
Selects the pick tool. The mouse can now be used for picking localizations. The user can set the pick shape in the Tools settings (CTRL + T) dialog. The default shape is Circle with the diameter to be set. For rectangles, the user draws the length, while the width is controlled via a parameter for all drawn rectangles, similar to the diameter for circular picks. For a polygonal pick, the user clicks with the left button to draw the desired polygon. The right button deletes the last selected vertex. The polygon can be close by clicking with the left button on the starting vertex.
Selects the measure tool. The mouse can now be used for measuring distances. Left click adds a crosshair for measuring; right-click deletes the last crosshair.
Define the settings of the tools, i.e., the radius of the pick and an option to annotate each pick. For the circular picks the range of pick similar can be set.
Automatically identifies picks that are similar to the current picks.
Remove localizations found in picked region(s) of interest. Can be applied to separate or all channels simultaneously.
Changes FoV to display a pick region specified by the user.
Automatically picks fiducials. To do so, the whole FOV image is rendered at one-pixel-blur. Then, such image pixel intesities are histogramed and the 99th is used as a threshold for selecting image maxima using Localize's identification.
Shows the time trace of the currently selected pick(s).
Opens a dialog to that goes through all picks, displays its trace and asks to keep or discard it.
Opens a dialog to that goes through all picks, displays a xy-scatterplot and asks to keep or discard it.
Displays a 3D scatterplot of the localizations of the currently selected pick(s).
Opens a dialog to that goes through all picks, displays an xyz-scatterplot and asks to keep or discard it.
Opens a dialog to that goes through all picks, displays four panels with an xyz-scatterplot and a top, bottom and side projection and asks to keep or discard it.
Allows filtering picks by the number of localizations in each pick. When clicking, a histogram of the number of localizations of all selected picks will be calculated. A lower and upper boundary can be selected to filter the picks.
Clears all currently selected picks.
Allows loading another pick regions file to subtract from the currently selected picks. Can be slow for a large number of picks.
Allows performing k-means clustering in picks. Users can specify the number of clusters and deselect individual clusters. Picks can be kept or removed. After looping through all picks an hdf5 file with the cluster information can be saved.
Opens a dialog that allows the user to specify a mask for filtering localizations within and outside it.
Allows the user to display only a fraction of localizations to speed up rendering.
Performs drift correction using the AIM algorithm (Ma, H., et al. Science Advances. 2024).
Performs drift correction using the picked localizations as fiducials. Also performs drift correction in z if the dataset has 3D information.
Performs drift correction using the picked localizations as fiducials. Does not perform drift correction in z even if dataset has 3D information.
Performs drift correction by redundant cross-correlation.
Undo previous drift correction (only 2D part). Can be pressed again to redo.
After drift correction, a drift file is created. If the drift file is present, the drift can be displayed with this option.
Applies drift from a user-specified. txt file. Keep in mind that the .txt drift files after consecutive undrifting rounds produce cumulative drift. Therefore, if 3 rounds of undrifing were performed, only the last file specifies the drift calculated in the 3 steps.
Removes the group information when loading a dataset that contains group information. This will, i.e., turn the multicolor representation into a single color representation.
If more than one channel is present, this function rejects localizations from across the channels whose group field is not present in all channels. This is useful for removing, for example, clustered localizations after their cluster centers were filtered with frame analysis.
Allows to "unfold" an average to display each structure individually in a line.Note that the structures need to be grouped and processed with Picasso: Average beforehand.
Arranges an average in a square so that each structure is displayed individually. This function does not require Picasso: Average beforehand. Instead, grouped or picked (circular picks) localizations are accepted.
Links consecutive localizations
Aligns channels to each other when several datasets are loaded. If picks are selected, the alignment will be via the center of mass of the picks; otherwise, an RCC will be used.
Combines all localizations in each pick to one.
This tool allows you to apply expressions to localizations, for example:
x +=1will shift all localization by one to the rightx +=1; y+=1will shift all localization by one to the right and one up.flip x zwill exchange the x-axis with y-axis if z localizations are present (side projection), similar forflip y z.spiral r nwill plot each localization over the time of the movie in a spiral with radius r and n number of turns (e.g., to detect repetitive binding),uspiralto reverse.
NOTE: using two variables in one statement is not supported (e.g. x = y) To filter localizations use picasso filter.
Cluster localizations with the dbscan clustering algorithm.
Cluster localizations with the hdbscan clustering algorithm.
Cluster localizations with the custom algorithm designed for SMLM. In short, localizations with the maximum number of neighboring localizations within a user-defined radius are chosen as cluster centers, around which all localizations within the given radius belong to one cluster. If two or more local maxima are within the radius, the clusters are merged.
SMLM clusterer requires three (or four if 3D data is processed) arguments:
- Radius: final size of the clusters.
- Radius z (3D only): final size of the clusters in the z axis. If the value is different from radius in xy plane, clusters have ellipsoidal shape. Radius z can have a different value to account for a difference in localization precision in lateral and axial directions.
- Min. locs: minimum number of localizations in a cluster.
- Basic frame analysis: If True, each cluster is checked for its value of mean frame (if it is within the first or the last 20% of the total acquisition time, it is discarded). Moreover, localizations inside each cluster are split into 20 time bins (across the whole acquisition time). If a single time bin contains more than 80% of localizations per cluster, the cluster is discarded.
Note to all clustering algorithms: it is highly recommended to remove any fiducial markers before clustering, to lower clustering time, given they are of no interest to the user. To do that, the markers can be picked and removed using Tools > Remove localizations in picks.
Opens a dialog where different clustering parameters can be checked on the loaded dataset. Requires a single pick region of interest to be selected.
Calculates distances to the k-th nearest neighbors between two channels (can be the same channel). k is defined by the user. The distances are stored in nm as a .hdf5 localizations file with new columns nnd_1, nnd_2, ..., nnd_k for each localization in channel 1. The distances are calculated in 3D if both datasets have z information.

