Skip to content

Commit 05c9911

Browse files
authored
Merge pull request #420 from imagej/curation
update snt documentation
2 parents c836ae0 + 5163fb1 commit 05c9911

4 files changed

Lines changed: 62 additions & 6 deletions

File tree

_pages/plugins/snt/curation.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ tags: snt,tracing,neuroanatomy,qc,ground-truth
1515

1616

1717
{% capture version%}
18-
**This page was last revised for [version 5.0.8](https://github.com/morphonets/SNT/releases)**.
18+
**This page was last revised for [version 5.0.10](https://github.com/morphonets/SNT/releases)**.
1919
{% endcapture %}
2020
{% include notice content=version %}
2121

@@ -106,6 +106,16 @@ A "run" is a consecutive sequence of nodes where each radius exceeds the previou
106106
When a run's length meets or exceeds this threshold, a warning is produced.
107107
**Range:** 3–100 (no. of nodes)
108108

109+
### Min. signal contrast ratio
110+
Measures how well each path stands out from the background in the image. At every node (excluding the first and last), a perpendicular cross-section is sampled using a Bresenham line that extends 3× the path radius (minimum 5 px) on each side.
111+
The sampled intensities are split by percentile: the lower quartile (P25) estimates background, the upper quartile (P75) estimates signal. The contrast ratio is defined as:
112+
113+
$$\frac{\mathrm{median}(\text{signal}) + 1}{\mathrm{median}(\text{background}) + 1}$$
114+
115+
A path whose median contrast ratio falls below this threshold is flagged. The +1 offset prevents division by zero and stabilizes the ratio for dim images. When set to **-1** (Auto), the threshold is computed automatically from the image's intensity range as $$\frac{I_{\max} + 1}{I_{\min} + 1} \times \frac{1}{2}$$, representing half of the best achievable contrast ratio for the image. The computed value is displayed in the spinner after the scan completes; use the undo button to reset to auto mode. This check requires an image to be loaded and image statistics to be computed.
116+
117+
**Range:** -1 (auto) or 1.0–100.0
118+
109119

110120
## Toolbar Actions
111121

_pages/plugins/snt/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ When tracing 4D or 5D images, TRACES is preferable because the channel and/or ti
5757
| Presence | Ubiquitous among reconstruction software. The *de facto* standard in data sharing | Exclusive to SNT. But [open and easily parsable](/plugins/snt/extending#traces-file-format) |
5858

5959
### Which file formats for neuronal reconstruction are supported by SNT?
60-
SNT can read TRACES, SWC, NDF (NeuronJ data format), and JSON files (as used by the [MouseLight](https://ml-neuronbrowser.janelia.org/) project). Other file formats can be converted to [SWC](#swc) using [xyz2swc](https://neuromorpho.org/xyz2swc/ui/).
60+
SNT can read TRACES, SWC, NDF (NeuronJ data format), JSON files (as used by the [MouseLight](https://ml-neuronbrowser.janelia.org/) project), and [Neurolucida XML](https://neuromorphological-file-specification.readthedocs.io/) (MBF Bioscience's Neuromorphological File Specification). Neurolucida XML files support both tree structures and markers. Other file formats can be converted to [SWC](#swc) using [xyz2swc](https://neuromorpho.org/xyz2swc/ui/).
6161

6262
### My neuronal reconstructions are saved under a format that is not supported. How can I open them?
6363
Unsupported and proprietary file formats can be converted to [SWC](#swc) using [xyz2swc](https://neuromorpho.org/xyz2swc/ui/).

_pages/plugins/snt/manual.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tags: snt,reconstruction,tracing,arbor,neuron,morphometry,dendrite,axon,neuroana
99
---
1010

1111
{% capture version%}
12-
**This page was last revised for [version 5.0.8](https://github.com/morphonets/SNT/releases)**.<br>
12+
**This page was last revised for [version 5.0.10](https://github.com/morphonets/SNT/releases)**.<br>
1313
Please help us to keep up-to-date documentation by [editing](https://github.com/imagej/imagej.github.io/edit/main/_pages/plugins/snt/manual.md) this page directly to fill in any documentation gap. Do [reach out](https://forum.image.sc/tag/snt) if you need assistance!
1414
{% endcapture %}
1515
{% include notice content=version %}
@@ -67,7 +67,7 @@ In either scenario. You should toggle the *validate spatial calibration* checkbo
6767

6868
Imports of neuronal reconstructions from multiple sources, including:
6969

70-
- **{% include bc path='Local Files' %}** [TRACES](/plugins/snt/faq#in-which-format-should-i-save-my-tracings-traces-or-swc), [SWC](/plugins/snt/faq#what-is-a-swc-file) (single files or bulk import of a directory of files), NDF ([NeuronJ](/plugins/neuronj) data format), or JSON.
70+
- **{% include bc path='Local Files' %}** [TRACES](/plugins/snt/faq#in-which-format-should-i-save-my-tracings-traces-or-swc), [SWC](/plugins/snt/faq#what-is-a-swc-file) (single files or bulk import of a directory of files), NDF ([NeuronJ](/plugins/neuronj) data format), JSON, or [Neurolucida XML](https://neuromorphological-file-specification.readthedocs.io/) (MBF Bioscience). Neurolucida files import both tree structures and markers (loaded as [bookmarks](#bookmarks-tab)).
7171

7272
- **{% include bc path='Remote Databases' %}** Import of neuronal reconstructions from [FlyCircuit](http://www.flycircuit.tw/), [InsectBrain](https://insectbraindb.org/app/), [MouseLight](https://ml-neuronbrowser.janelia.org/), and [NeuroMorpho](http://neuromorpho.org/).
7373

@@ -554,6 +554,12 @@ This tab hosts the Bookmark Manager, a utility that stores image locations to be
554554

555555
- Use the {% include bc path='Export' %} button to save the current list to either: 1) a CSV file, 2) ImageJ's ROI Manager or 3) the overlay of the active image. Note that when images are saved as TIFF, ROIs are saved in the file's header, and automatically loaded by ImageJ when the image is open.
556556

557+
The right-click contextual menu of the Bookmark Manager also provides commands for consolidating bookmarks:
558+
559+
- **{% include bc path='Colocalize...' %}** Matches bookmarks across different channels within a specified distance threshold, replacing matched groups with their centroids. This is useful for identifying co-labeled structures in multichannel images. Only bookmarks from different channels are matched.
560+
561+
- **{% include bc path='Merge...' %}** Merges nearby bookmarks within each channel independently, replacing clustered bookmarks with their centroids. This is useful for consolidating redundant or overlapping bookmarks that were placed on the same structure within a single channel.
562+
557563

558564
## 3D Tab
559565

@@ -839,6 +845,10 @@ Assigns the no. of markers (e.g., spines or varicosities) to be associated to se
839845

840846
Simplifies paths by reducing their node density. Given an inputted maximum permitted distance between adjacent nodes, performs {% include wikipedia title="Ramer–Douglas–Peucker algorithm" %} downsampling on the selected Path(s) (undoable operation).
841847

848+
#### Correct Z-Shrinkage...
849+
850+
Corrects Z-axis shrinkage from tissue processing (e.g., histological sectioning and mounting). The command prompts for a correction factor, typically the ratio of *cut thickness / mounted thickness*. Values greater than 1 expand Z coordinates; values less than 1 compress them. If an image is loaded, a warning is displayed when corrected nodes would fall outside image bounds. This operation cannot be undone.
851+
842852
#### Rebuild...
843853

844854
Analyzes and rebuilds path relationships to fix structural issues. The command first scans all paths for problems, then offers to rebuild if issues are found. Detected issues include:
@@ -1099,7 +1109,12 @@ NB:
10991109

11001110
#### Spines/Varicosities ›
11011111

1102-
This menu contains commands tools for analyzing at manually placed markers along paths such as dendritic spines or axonal varicosities. The starting point for such analyses are multipoint ROIs placed along paths. These are detailed in [Spine/Varicosity Analysis](/plugins/snt/spines-varicosities).
1112+
This menu contains tools for detecting and analyzing spines, varicosities, boutons, and other features along or around traced paths. It includes two automated detectors and tools for working with manual annotations:
1113+
- **Detect Maxima Around Paths...**: Detection of intensity peaks in perpendicular cross-sections outside the path centerline (off-skeleton)
1114+
- **Detect Swellings Along Paths...**: Detection of radius swellings along the neurite centerline (on-skeleton)
1115+
- **Commands for handling manually placed markers**
1116+
1117+
These tools are detailed in [Spine/Varicosity Analysis](/plugins/snt/spines-varicosities).
11031118

11041119
#### Time-lapses ›
11051120

_pages/plugins/snt/spines-varicosities.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ tags: snt,tracing,neuroanatomy,maxima
1414

1515

1616
{% capture version%}
17-
**This page was last revised for [version 5.0.7](https://github.com/morphonets/SNT/releases)**.
17+
**This page was last revised for [version 5.0.10](https://github.com/morphonets/SNT/releases)**.
1818
{% endcapture %}
1919
{% include notice content=version %}
2020

@@ -70,6 +70,37 @@ Note that the mask is a voxel-level approximation of the continuous search annul
7070
See {% include bc path='Scripts|Demos|Peripath Detection Demo' %} ({% include bc path='Templates|Neuroanatomy|Analysis|Peripath Detection Demo' %} in the Script Editor) for a working example that runs detection and generates the torus mask on one of the demo datasets.
7171

7272

73+
## Along-Path Detection (Radius Swellings)
74+
75+
SNT can also detect swellings (boutons, varicosities, blebs) **along** traced paths using the _Along-Path Detector_, which analyzes longitudinal radius profiles. The algorithm works as follows:
76+
- At each node, the node radius is compared to the average radius of its neighbors within a sliding window
77+
- A node is flagged as a swelled candidate when its radius exceeds the neighbor average by a configurable factor
78+
- Optionally, a intensity (brighness) threshold can filter candidates further
79+
- Adjacent candidates are merged via non-maximum suppression
80+
81+
Unlike the Peripath Detector (which searches for bright *off-skeleton* [outside path centerline] maxima in perpendicular cross-sections), the Along-Path Detector identifies *on-skeleton* [along path centerline] swellings, i.e., regions where the neurite itself is wider than its surroundings. This is particularly suited for axonal varicosities and en-passant boutons.
82+
83+
To run {% include bc path='Analyze|Spines/Varicosities|Detect Swellings Along Paths...' %} Select the path(s) of interest. Note that **Paths must have radii**: Paths without radii are skipped.
84+
85+
The command's dialog provides the following parameters:
86+
87+
- **Swelling factor** A node is flagged when its radius exceeds the average of its neighbors by at least this factor. Default: 1.5 (i.e., 1.5× the local average). Lower values increase sensitivity; higher values restrict detection to more prominent swellings
88+
89+
- **No. of neighbors** Total number of neighboring nodes used to compute the local average radius, split evenly on each side of the test node. Default: 10. Larger values smooth out local noise but may miss closely spaced features
90+
91+
- **Min. intensity** Minimum on-skeleton (centerline) intensity for a detection to be accepted. Three modes: **0** disables intensity filtering (radius-only detection); **-1** auto-computes a threshold as the midpoint of the image's dynamic range; any **positive value** sets an explicit threshold in image intensity units
92+
93+
- **Intensity channel** The image channel for intensity sampling (1-based; only shown for multi-channel images and when intensity filtering is enabled)
94+
95+
- **Merging distance** Minimum separation between detections in physical units. Nearby detections are merged, keeping the one with the highest score. Set to 0 for automatic (defaults to 2× mean radius across all paths)
96+
97+
- **Exclude junctions/tips** When enabled, nodes near branch points and path tips are excluded from detection. These regions may have naturally enlarged radii that produce false positives. The exclusion zone extends by the half-window size on each side of every junction and at each path endpoint. Default: enabled
98+
99+
- **Output** Results can be exported as _ROIs_ (added to the ROI Manager, grouped per path) or as _Bookmarked locations_ (added to the [Bookmark Manager](/plugins/snt/manual#bookmarks-tab))
100+
101+
Detected counts are automatically assigned to each path's spine/varicosity tally, just as with the Peripath Detector.
102+
103+
73104
## Manual Annotation
74105

75106
This approach uses manually placed multi-Point ROIs along paths as markers for neurite features. Currently only counts and densities are supported. A typical workflow proceeds as follows:

0 commit comments

Comments
 (0)