Annotation Guide
iCluto provides a script for annotating trace data with physical events and segments.
Usage
icluto annotate <PATH TO TRACES.npy> <PATH TO ANNOTATIONS.json>
If the JSON file does not exist, it will be created. If it exists, existing labels will be loaded and displayed.
Interaction
The tool is primarily mouse-driven. Use the buttons at the bottom of the interface to switch modes, navigate traces, and perform actions.
Manual Annotation
- Select a mode by clicking the corresponding button (e.g., Tunneling).
- For Points (Bulk, Snap S/E, Limit): Click once on the plot.
- For Segments (Tunneling, Lim. S., Reconn., Molecule Segment): Click once for START and again for END.
Advanced Features
- Note Field: Use the text box at the bottom to add descriptive notes for each trace. Notes are saved automatically to the JSON file. Click the plot back after typing to focus on navigation.
- RANSAC Fitting: When a Tunneling segment is defined, the tool automatically performs a RANSAC linear fit on
log10(Conductance)vsIndex. - The fitted line is displayed in red.
- Fitting parameters can be tuned via CLI flags (
--ransac-threshold, etc.). - Export Scaling: Toggle between Exp: LOG and Exp: LIN to choose whether the exported CSV contains
log10(G/G0)or rawG/G0values.
Automated Suggestions
The Suggest button uses pre-trained models (including TunnelingUNet1D) to predict indices.
- The button is enabled only when a prediction is available for the active mode.
- It is greyed out when no automated suggestion is possible (we have not trained a model for this mode yet).
- Bulk Suggestion: Quickly double-click the Suggest button to populate all automated fields (Snap S/E, Limit, Tunneling).
Saving
All changes, including notes and RANSAC metadata, are auto-saved to the JSON file on every interaction.
Export
Export the current trace to a CSV file using the Export button. The CSV file will be saved in the same directory as the JSON file.