Skip to content

Commit a320074

Browse files
committed
snt: document BDV and new timelapse commands
1 parent 172a4a8 commit a320074

7 files changed

Lines changed: 50 additions & 30 deletions

File tree

‎_pages/plugins/snt/big-data.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ SNTv5 implemented _preliminary_ support for big data. The following operations a
2323
| Automated tracing | Supported (experimental) | See [Auto-tracing](./auto-tracing#grayscale-images)<sup>1,2</sup> |
2424
| Tracing along way-points | Supported in headless scripts<sup>2</sup> | A* tracing performed using pre-existing coordinates is fully supported via scripting<sup>2</sup>|
2525
| Path optimization | Supported in headless scripts<sup>2</sup> | [Optimization of curvatures](./manual#refinefit-), including extraction of radii<sup>2</sup>. |
26-
| 3D Visualization: Interactive re-slicing browser | Supported via [BigDataViewer](/plugins/bdv/) | Visualization of reconstructions, including [color mappings](./manual#color-mapping-), etc. |
26+
| 3D Visualization: Interactive re-slicing browser | Supported via [BigDataViewer](./manual#big-data-viewer) | Visualization of reconstructions, including [color mappings](./manual#color-mapping-), etc. |
2727
| 3D Visualization: Interactive volume viewer | Supported via [BigVolumeViewer](./manual#big-volume-viewer) and [sciview](./manual#sciview) | Visualization of 3D reconstructions, including [color mappings](./manual#color-mapping-), etc. |
2828

2929
<sup>1</sup>For interactive tracing, please use [HortaCloud](https://hortacloud.org/): This is SNT's development team recommended tool for tracing Terabyte-size datasets

‎_pages/plugins/snt/delineations.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ To re-define a delineation it is sufficient to re-define or re-adjust an existin
9595
- <i class="fas fa-object-group"></i> Merges two or more delineations into one
9696
- <i class="fas fa-swatchbook"></i> Applies one of the default color schemes to the delineations list
9797
- <i class="fas fa-pen"></i> Enables/Disables direct editing of delineation names
98-
- _Outside color_ widget: Defines the color for non-delineated sections, i.e., those sections that remain _outside_ delineated areas
98+
- _Non-delineating color_ widget: Defines the color for non-delineated sections, i.e., those sections that remain "outside" delineated areas
9999

100100

101101
## Hierarchical Labels and Level-split Analysis
@@ -120,7 +120,7 @@ Measurements are retrieved using the <i class="fas fa-chart-bar"></i> _Plot_ and
120120

121121
In addition to defined delineations, plots and tables may include two other categories:
122122

123-
- _Non-delineated_: This category corresponds to all the path sections that remained in-between or outside delineations. _Non-delineated_ sections are labeled by [outside color](#editing-delineations)
123+
- _Non-delineated_: This category corresponds to all the path sections that remained in-between or outside delineations. _Non-delineated_ sections are labeled with the [non-delineating color](#editing-delineations)
124124

125125
- _Unaffected paths_: This category corresponds to full paths that have no XY coordinates inside any delineation. _Unaffected paths_ retain their rendered colors
126126

‎_pages/plugins/snt/index.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The [source repository](https://github.com/morphonets/SNT) contains more details
4242
/media/plugins/snt/snt-angular-sholl.png | Advanced [Sholl-based quantifications](/plugins/snt/sholl#angular-sholl)
4343
/media/plugins/snt/snt-root-angle-analysis.png | [Root Angle Analysis](/plugins/snt/analysis#root-angle-analysis)
4444
/media/plugins/snt/snt-local-angle-surface-analysis.png | Analysis of [surface angles/arbor orientation](/plugins/snt/metrics#extension-angle)
45+
/media/plugins/snt/snt-time-profiler-v.png | [Calcium dynamics along neurites](/plugins/snt/walkthroughs#generic-measurements)
4546
/media/plugins/snt/snt-growth-analysis.png | [Growth Analysis](/plugins/snt/analysis#growth-analysis)
4647
/media/plugins/snt/snt-delineation-analysis2.png | [Delineation analyses](/plugins/snt/walkthroughs#delineation-analysis)
4748
/media/plugins/snt/snt-ferris-wheel.png | Routines to summarize [innervation patterns](/plugins/snt/analysis#graph-based-analysis)

‎_pages/plugins/snt/manual.md‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -598,9 +598,13 @@ This widget provides an entry point to a dedicated [Reconstruction Viewer](/plug
598598

599599
This option assumes [sciview](/plugins/sciview) to be successfully installed. sciview is a modern replacement for the [Legacy 3D Viewer](#legacy-3d-viewer), providing sophisticated 3D visualization and virtual reality capabilities for arbitrarily large image volumes and meshes. sciview scenes support image volumes, meshes, and paths, as well as integration with [Cx3D](https://github.com/morphonets/cx3d). The latter enables simulation of neurodevelopmental processes, including neuronal growth and formation of cortical circuits. See [SNT: Modeling](/plugins/snt/modeling) for details.
600600

601+
### Big Data Viewer
602+
603+
[Big Data Viewer (BDV)](/plugins/bdv) is Fiji's reslicing browser for TB-size images.
604+
601605
### Big Volume Viewer
602606

603-
Big Volume Viewer (BVV) is the 3D counterpart of [BigDataViewer](https://imagej.net/plugins/bdv) capable of GPU volume rendering of images too large to fit into memory. Currently, support for Big Volume Viewer remains experimental.
607+
Big Volume Viewer (BVV) is the 3D counterpart of [BigDataViewer](/plugins/bdv) capable of GPU volume rendering of images too large to fit into memory.
604608
{% include img align="center" name="BVV integration" src="/media/plugins/snt/snt-bvv.png" caption="BVV integration" %}
605609

606610
### Legacy 3D Viewer
@@ -622,7 +626,12 @@ This tab hosts a simple notepad allowing you to jot down notes without disruptin
622626

623627

624628
## Status Bar
625-
The status bar at the bottom of the Main Dialog displays brief messages about ongoing operations. By default, the status bar reports the image title and the CT position being traced.
629+
The status bar at the bottom of the Main Dialog displays brief messages about ongoing operations. By default, the status bar reports the image title and the CT position being traced. It also provides convenience access to utilities that are common to all SNT workflows, including:
630+
631+
- <i class="fas fa-lightbulb"></i> **Hints**: Displays a usage tip
632+
- <i class="fas fa-keyboard"></i> **List of Keyboard Shortcuts**: Displays an offline version of [keyboard shortcuts](/plugins/snt/key-shortcuts)
633+
- <i class="fas fa-house-laptop"></i> **Workspace indicator**: Creates/Reveals the workspace directory
634+
- <i class="fas fa-bolt"></i> **Quick Toggles**: Convenience access to common toggles (visibility filters, diameter rendering, etc.)
626635

627636

628637
# Image Contextual Menu
@@ -1149,6 +1158,7 @@ NB:
11491158
- Shapes are always centered at the node
11501159
- Shapes are assembled orthogonally to the path in the node's plane. E.g., If *2D line*, intensities are retrieved along a line perpendicular to the path at the node's location (i.e., similar to the way radii of traced paths are rendered in the tracing image)
11511160
- If *None* is selected, a single intensity is retrieved at the node
1161+
- For profiles of paths across time (e.g., calcium dynamics along a neurite), have a look at [Time-lapse Analysis](/plugins/snt/walkthroughs#time-lapse-analysis)
11521162

11531163
- *Radius* The radius (in pixels) of the shape, or half-length if shape is *2D Line*. If set to zero and the path has radii, each shape is resized to the radius of its node.
11541164

‎_pages/plugins/snt/walkthroughs.md‎

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -258,50 +258,59 @@ Once undesired motion has been mitigated:
258258

259259
2. Trace the path of interest. This can be done manually or perhaps automated via a script (see below)
260260

261-
3. Repeat 1. and 2. for all the frames to be traced. There are a couple of ways to expedite tracing across frames:
261+
3. _If_ neurites change across time: Repeat 1. and 2. for all the frames to be traced. There are a couple of ways to expedite tracing across frames:
262262

263263
- Duplicate the path(s) of interest using Path Manager's {% include bc path='Edit|[Duplicate...](/plugins/snt/manual#duplicate)' %} This will allow you to copy a path (and its children) to a new frame (or channel). If a neurite is retracting, you can duplicate the subsection of the path that better matches the retracted neurite: e.g., by restricting the duplication to a fraction of the path's total length, or up to a branch-point
264264

265265
- Use a script to attempt segmentation at each frame, as in the _Segmented video (2D timelapse)_ demo ({% include bc path='File|Load Demo Dataset...' %})
266266

267-
4. Run [Path Manager](./manual#path-manager)'s {% include bc path='Analyze|Time-lapses|Match Path(s) Across Time...' %}. The dialog allows you to match paths in the same time-series to a common neurite. Note that the command matches only selected path(s) (or all paths if no selection exists), but ignores Paths tagged as 'soma'. Options include:
267+
4. At this point, there are two types of analyses you can do using [Path Manager](./manual#path-manager)'s {% include bc path='Analyze|Time-lapses|' %} commands:
268268

269-
<img align="right" src="/media/plugins/snt/snt-match-paths-across-time.png" title="MatchPath(s) Across Time... prompt" width="350" alt="MatchPath(s) Across Time... prompt" />
269+
## Generic Measurements
270+
Measurements of paths across time, whithout making assumptions of neurite identity, including:
270271

271-
- **Frame range** Only paths associated with these frames will be considered for matching. Range(s) (e.g. <tt>2-14</tt>), and comma-separated list(s) (e.g. <tt>1,3,20,22</tt>) are accepted. Leave empty or type <tt>all</tt> to consider all frames
272+
- **{% include bc path='Analyze|Time-lapses|Time Profile (Intensities)...' %}** Creates [intensities profiles](./manual#path-profiler) across time. Useful tom e.g., monitor calcium dynamics along a static neurite. [Scripting](./scripting) can be used to obtain similar profiles for motile (elongating/retracting) neurites
272273

273-
- **Matching criteria** These are a series of conditions that matching paths must fulfill. Some require no further adjustments (e.g., _channel_, _path order_, _type tag_, _color tag_) while others have configurable settings. Criteria can be combined E.g., if _channel_ and _type tag_ are selected, paths need to share the same channel and the same type tag ('Axon', 'Dendrite', etc.) to be matched.
274+
- **{% include bc path='Analyze|Time-lapses|Time Profile (Morphometry)...' %}** Allows for monitoring a measurement (e.g., cable length) across time
274275

275-
The criteria with configurable settings are perhaps the most commonly used:
276+
{% include img align="center" src="/media/plugins/snt/snt-time-profiler-h.png" caption="_Time Profile (Intensities)..._ heatmap plots"%}
276277

277-
- **Starting node location** If selected, matching paths need to share a common origin (starting node) in terms of (X, Y, Z) coordinates. Sample movement and focus drift are common during time-lapse sequences. To account for this, it is possible to specify a (X, Y, Z) 'motion-shift' neighborhood: Paths that originate within this neighborhood (in spatially calibrated units) are considered to share the same starting node location
278+
## Neurite Based Measurements
279+
Neurite-based measurements require paths in the time-series to be matched to a common neurite. This is done using [Path Manager](./manual#path-manager)'s {% include bc path='Analyze|Time-lapses|Match Path(s) Across Time...' %}. Note that the command matches only selected path(s) (or all paths if no selection exists), but ignores Paths tagged as 'soma' and single-node paths. Options include:
278280

279-
- **Orientation** If selected, paths need to extent under the same overall direction (outgrowth [extension angle](./metrics#extension-angle)) to be matched. Paths sharing an outgrowth angle +/- the specified range (in degrees) are assumed to share the same overall direction of growth
281+
<img align="right" src="/media/plugins/snt/snt-match-paths-across-time.png" title="MatchPath(s) Across Time... prompt" width="350" alt="MatchPath(s) Across Time... prompt" />
282+
283+
- **Frame range** Only paths associated with these frames will be considered for matching. Range(s) (e.g. <tt>2-14</tt>), and comma-separated list(s) (e.g. <tt>1,3,20,22</tt>) are accepted. Leave empty or type <tt>all</tt> to consider all frames
284+
285+
- **Matching criteria** These are a series of conditions that matching paths must fulfill. Some require no further adjustments (e.g., _channel_, _path order_, _type tag_, _color tag_) while others have configurable settings. Criteria can be combined E.g., if _channel_ and _type tag_ are selected, paths need to share the same channel and the same type tag ('Axon', 'Dendrite', etc.) to be matched.
286+
287+
The criteria with configurable settings are perhaps the most commonly used:
288+
289+
- **Starting node location** If selected, matching paths need to share a common origin (starting node) in terms of (X, Y, Z) coordinates. Sample movement and focus drift are common during time-lapse sequences. To account for this, it is possible to specify a (X, Y, Z) 'motion-shift' neighborhood: Paths that originate within this neighborhood (in spatially calibrated units) are considered to share the same starting node location
290+
291+
- **Orientation** If selected, paths need to extent under the same overall direction (outgrowth [extension angle](./metrics#extension-angle)) to be matched. Paths sharing an outgrowth angle +/- the specified range (in degrees) are assumed to share the same overall direction of growth
292+
293+
- **Custom tag** If selected, matching paths need to share the specified (case-sensitive) tag. A regex pattern can also be specified
280294

281-
- **Custom tag** If selected, matching paths need to share the specified (case-sensitive) tag. A regex pattern can also be specified
282-
283-
- NB: Note that any mistakes by the matching algorithm can be corrected by editing _neurite#_ tags manually
284-
285-
5. Once paths have been matched to their neurites across the time-lapse sequence, future analysis becomes simplified.
295+
- NB: Note that any mistakes by the matching algorithm can be corrected by editing _neurite#_ tags manually
296+
297+
Once paths have been matched to their neurites across the time-lapse sequence, subsequent analyses become simplified, including:
286298

287-
6. Use Either {% include bc path='Analyze|Time-lapses|Grow Analysis...' %} or {% include bc path='Analyze|Time-lapses|Time Profile...' %} to analyze the data. The former is a very simple approach to summarize growth across time, while the latter is a comprehensive analysis tool.
288-
{% include bc path='Time Profile...' %} includes the following options:
299+
### Summarized Growth
300+
[Path Manager](./manual#path-manager)'s {% include bc path='Analyze|Time-lapses|Summarized Growth...' %} is a simple approach to summarize growth across time. It includes the following options:
289301

290-
- **Metric** the measurement to be profiled across time
302+
- **Metric** the measurement to be profiled across time
291303

292-
- **Grouping strategy** Typically this would be set to _Matched path(s) across time_ to reflect the matching performed in 4. However, if there are many short-lived neurites (i.e., only visible in few frames) it may be beneficial to choose _Matched path(s) across time (≥2 time-points)_. This will only consider paths present in two or more frames. A _no grouping_ strategy is also available for cases where step 4 was skipped.
304+
- **Grouping strategy** Typically this would be set to _Matched path(s) across time_ to reflect the matching performed in 4. However, if there are many short-lived neurites (i.e., only visible in few frames) it may be beneficial to choose _Matched path(s) across time (≥2 time-points)_. This will only consider paths present in two or more frames. A _no grouping_ strategy is also available for cases where step 4 was skipped.
293305

294-
- **Output** Whether a plot, a table or both should be created
306+
- **Output** Whether a plot, a table or both should be created
295307

296-
7. For more complete, thorough measurements, use [Grow Analysis](./analysis#growth-analysis): In addition to growth trajectories, this option classifies motion growth phases, including elongation and retraction events, phase transitions, angular velocity changes, and directional steering.
308+
{% include img align="center" src="/media/plugins/snt/snt-time-profile.png" caption="[Summarized Growth](#summarized-growth)"%}
297309

310+
### Growth Analysis
311+
[Path Manager](./manual#path-manager)'s {% include bc path='Analyze|Time-lapses|Growth Analysis...' %} is a comprehensive analysis tool for neurite dynamics: In addition to growth trajectories, this option classifies motion growth phases, including elongation and retraction events, phase transitions, angular velocity changes, and directional steering. It is described in detail in [Grow Analysis](./analysis#growth-analysis)
298312

299-
{% include gallery align="fill" content=
300-
"
301-
/media/plugins/snt/snt-time-profile.png | Time Profile... (v4.3.0)
302-
/media/plugins/snt/snt-growth-analysis.png | [Growth Analysis](/plugins/snt/analysis#growth-analysis)
303-
"
304-
%}
313+
{% include img align="center" src="/media/plugins/snt/snt-growth-analysis.png" caption="[Growth Analysis](/plugins/snt/analysis#growth-analysis)"%}
305314

306315

307316
# Filling
230 KB
Loading
279 KB
Loading

0 commit comments

Comments
 (0)