From da4e294a9a0410839683b01e86f158e7fed4a8e8 Mon Sep 17 00:00:00 2001 From: Tiago Ferreira Date: Thu, 21 Aug 2025 15:23:44 -0400 Subject: [PATCH] snt: document growth analysis (upcoming version) --- _pages/plugins/snt/analysis.md | 94 ++++++++++++++++++- _pages/plugins/snt/index.md | 2 + _pages/plugins/snt/manual.md | 9 +- _pages/plugins/snt/metrics.md | 82 ++++++++++------ _pages/plugins/snt/walkthroughs.md | 19 +++- media/plugins/snt/growth-analysis-prompt.png | Bin 0 -> 516956 bytes media/plugins/snt/snt-growth-analysis.png | Bin 0 -> 609197 bytes 7 files changed, 167 insertions(+), 39 deletions(-) create mode 100644 media/plugins/snt/growth-analysis-prompt.png create mode 100644 media/plugins/snt/snt-growth-analysis.png diff --git a/_pages/plugins/snt/analysis.md b/_pages/plugins/snt/analysis.md index ddb9fcab3..aa410c662 100644 --- a/_pages/plugins/snt/analysis.md +++ b/_pages/plugins/snt/analysis.md @@ -256,7 +256,99 @@ A root angle is defined as the angle between a neurite segment (defined centripe The analysis can be performed from the [Analysis menu](/plugins/snt/manual#root-angle-analysis) in the main dialog, Reconstruction Viewer's [Analyze & Measure](/plugins/snt/reconstruction-viewer#analyze--measure) menu, or [template scripts](/plugins/snt/scripting#bundled-templates). The screenshot below depicts the output of the *Analysis › Root Angle Analysis* template script: -{% include img align="fit" src="/media/plugins/snt/snt-root-angle-analysis.png" %} +{% include img align="center" src="/media/plugins/snt/snt-root-angle-analysis.png" caption="Root Angle Analysis outputs."%} + + +# Growth Analysis + +Growth Analysis provides detailed time-lapse analysis of neuronal patterns and requires traced paths to be matches across time frames, as detailed in. The Analysis is accessed through the [Path Manager](./manual#path-manager)'s [Time-lapse Utilities](./manual#time-lapse-utilities-) menu. + +## Prerequisites + +- **Time-matched paths**: Paths must be tagged using the {% include bc path='Match Paths Across Time...'%} command first, so that all paths in the timelapse sequence associated with the same neurite are tagged with a common neurite label, e.g., "{neurite #1}", "{neurite #2}", etc, as described in the [Time-lapse analysis](./walkthroughs#time-lapse-analysis) walkthrough. +- **Sufficient time points**: At least 3 time points per neurite for meaningful analysis. Monitoring changes in extension angles tipically requires at least 4 time points + +Data generated outside SNT can also be analyzed: +1. Import all the reconstruction files associated with the time series +2. Apply "{neurite #}" tags using {% include bc path='Match Paths Across Time...'%} +3. Run {% include bc path='Growth Analysis...'%} +{% include img align="center" src="/media/plugins/snt/snt-growth-analysis.png" caption="Growth Analysis outputs."%} + +## Classification Algorithm + +The {% include bc path='Growth Analysis...'%} command classifies growth phases based on instantaneous growth rates relative to the overall average growth rate of each neurite. Algorithmically, the classification works as follows: + +1. The overall growth rate of a neurite is calculated to establish a baseline + +2. A moving window "glides" along the time sequence to identify phase transitions in growth data. The detection combines three different detection methods to more robustly identify where changes in growth patterns occur. These include: + - _Mean shift detection_: Aimed at detecting sudden changes in average growth rate. This is usually effective at detecting Lag → Rapid; Rapid → Plateau; and Steady → Retraction transitions (see below) + - _Variance change detection_: Detects changes in growth rate variability, e.g., transitions from stable to variable growth + - _Trend change detection_: Detects changes in growth acceleration/deceleration patterns + +3. Growth rates are then split into five growth categories or phases: + +|------------|--------------------------------------------------------------|-------------------------------------| +| Phase | Definition | Interpretation | +|------------|--------------------------------------------------------------|-------------------------------------| +| Retraction | Phase rate less than *-min%* of overall growth rate | Active shrinkage | +| Lag | Phase rate *≤ min%* of overall growth rate | Slow growth | +| Plateau | Absolute value of phase rate < *min%* of overall growth rate | Minimal net growth | +| Steady | Phase rate within *min% - max%* of overall growth rate | Moderate growth | +| Rapid | Phase rate *> max%* of overall growth rate | Fast extension | +|------------|--------------------------------------------------------------|-------------------------------------| + +With _overall growth rate_, _phase rate_, and _thresholds_ defined as: + +|---------------------|------------------------------------------------------------------| +| Term. | Definition | +|---------------------|------------------------------------------------------------------| +| Overall growth rate | The slope of the linear regression fitted to the entire time series of length measurements. It represents the average rate of length increase over the complete observation period | +| Phase rate | Average of instantaneous rates within phase boundaries, with *Instantaneous rate* defined at each time point _t_ as _(length[t+1] - length[t]) / (time[t+1] - time[t])_ | +| *min%* and *max%* thresholds | The cutoff thresholds ensure that e.g., fast-growing neurites aren't misclassified as always "Rapid" or slow-growing neurites aren't misclassified as always "Lag". The *min%* cutoff represents the noise floor for growth measurements, while *max%* the cutoff threshold for significant acceleration. Cutoff thresholds can be calculated globally or *relative to each neurite's overall growth rate* | +|------------|------------------------------------------------------------------| + + +## Outputs + +1. **Growth Phase Timeline**: Temporal visualization of growth phases. This is a timeline chart showing the temporal progression of growth phases for each neurite. Each neurite is represented as a horizontal row with color-coded segments indicating different growth phases over time + +2. **Length Over Time**: A scatter plot with trend lines showing the growth trajectories of individual neurites over time. Each neurite is represented by a colored line connecting measured length values at different time points + +3. **Phase Distributions**: Statistical summary of phase types. These are two donut (ring) plots summarizing growth phases across all analyzed neurites. The "Growth Phases" plot summarizes the relative frequency of different phases, while the "Growth Phase Durations" plot summarizes cumulative durations + +4. **Angular Velocity Over Time**: Angular velocity is the rate of change of angular position over time. It measures how quickly a neurite's extension direction is changing over time. This type of data informs on how often a neurite changes direction, and how stable their directed growth is + +5. **Extension Direction Over Time**: Absolute extension angles of neurites across time + +6. **Summarized Measurements**: Tabular values of plotted data + + +## Input Parameters +Growth Analysis... prompt +The algorithm has several adjustable parameters that can be set in the "Growth Analysis..." prompt: + +- **Threshold for 'Lag/Plateau' phase (%)**: Defines the minimum growth rate threshold for classifying growth phases. Growth rates below this threshold are classified as _Lag_ or _Plateau_. Calculated as a percentage of each neurite's overall linear growth rate. Lower values allow for detection of subtle growth variations, while high values detect only clearly distinct slow phases. Range: 10% - 50% (default is 30%) + + E.g., _For a neurite with an overall growth rate of 2.0 μm/m: With a 30% threshold, growth below 0.6 μm/m (2.0 x 30%) would be classified as Lag/Plateau_. + +- **Threshold for 'Rapid' phase (%)**: Defines the minimum growth rate multiple for classifying _Rapid_ growth phases. Growth rates above this multiple of the overall rate are classified as rapid growth. Calculated as a percentage of each neurite's overall linear growth rate. Lower values allow for detection of moderate growth accelerations, while high values detect only very fast accelerations. Range: 110% - 300% (default is 150%) + + E.g., _For a neurite with an overall growth rate of 2.0 μm/m: With a 150% threshold, growth above 3.0 μm/m (2.0 x 150%) would be classified as 'Rapid'_. + +- **Threshold calculation**: Either "Global" or "Per-neurite". If global, thresholds are calculated relative to mean growth rate of _all_ neurites. If "Per-neurite": Thresholds are calculated relative to each neurite's individual growth rate + +- **Phase detection sensitivity**: Sensitivity ranges from 0.05 to 1.0 (default value is 0.5). Lower values correspond to higher sensitivity, i.e., more phase transitions being detected, and higher values encoding low sensitivity. Higher values allow more phases to be detected. Lower values detect fewer, longer phases. Increase this parameter if too many short phases are being detected. Decrease it if obvious phase transitions are being missed. + +- **Window size (no. of frames)**: Controls the size of the "moving window" of the [phase detection algorithm](#classification-algorithm). Higher values provide more stable detection with fewer phases, while lower values detect more detailed changes but may include spurious transitions. Range 2-40 frames (default is 3) + +- **Threshold for retraction length (%)**: Defines the minimum percentage decrease in neurite length required to classify a phase as a _retraction event_. It is calculated at the start of the potential retraction. Increase this threshold if spurious "retraction" classifications occur. Range: 1% - 50% (default is 5%) + + E.g., _A neurite is 100 μm long at a given frame and decreases its length to 94μm in the subsequent frame. That's a 6% reduction: With a 5% threshold, this change would be classified as "retraction"_. + +- **Filtering options**: Filtering options are optional but may be useful for noisy datasets: + - **Minimum length**: Neurites that never reach this length throughout the timelapse are ignored. It allows very short paths to be excluded from analysis + - **Minimum duration**: Neurites extending for less than this duration are ignored. Allows short-lived neurites to be excluded from analysis + # Other Specialized Analyses See [SNT Scripting](/plugins/snt/scripting), as well as script templates demonstrating a range of analysis possibilities. diff --git a/_pages/plugins/snt/index.md b/_pages/plugins/snt/index.md index 98361df0e..6f1d7e7fd 100644 --- a/_pages/plugins/snt/index.md +++ b/_pages/plugins/snt/index.md @@ -43,6 +43,8 @@ The [source repository](https://github.com/morphonets/SNT) contains more details /media/plugins/snt/sholl-analysis-outputs.png | [Sholl](/plugins/snt/analysis#sholl-analysis) and [Strahler](/plugins/snt/analysis#strahler-analysis) analysis /media/plugins/snt/snt-delineation-analysis2.png | [Delineation analyses](/plugins/snt/walkthroughs#delineation-analysis) /media/plugins/snt/snt-local-angle-surface-analysis.png | Analysis of [surface angles/arbor orientation](/plugins/snt/metrics#extension-angle) +/media/plugins/snt/snt-growth-analysis.png | [Growth Analysis](/plugins/snt/analysis#growth-analysis) +/media/plugins/snt/snt-root-angle-analysis.png | [Root Angle Analysis](/plugins/snt/analysis#root-angle-analysis) /media/plugins/snt/snt-ferris-wheel.png | Routines to summarize [innervation patterns](/plugins/snt/analysis#graph-based-analysis) /media/plugins/snt/graph-viewer-ferris-wheel.png | Routines to summarize data from [projectomes and connectomics](/plugins/snt/analysis#graph-based-analysis) /media/plugins/snt/snt-2d-histogram.png | Specialized [statistics](/plugins/snt/analysis#statistics) diff --git a/_pages/plugins/snt/manual.md b/_pages/plugins/snt/manual.md index cfd6713ad..2791fcaee 100644 --- a/_pages/plugins/snt/manual.md +++ b/_pages/plugins/snt/manual.md @@ -175,10 +175,10 @@ Generates a Dendrogram plot of a connected component (i.e, one rooted tree struc Create Figure... prompt Creates multi-panel figures from chosen reconstructions, according to the following options: -- **Style**: Whether cells should be rendered in a single pane or in a multi-panel montage with 1 cell per pane +- **Style**: Whether cells should be rendered in a single pane or in a multi-panel montage with 1 cell per pane. This option is only available when multiple cells exist - **Type**: Whether the illustration should be a bitmap image (typically rendered at 1micron per pixel); a scalable graphics 2D image (see [Reconstruction Plotter](#reconstruction-plotter)), or an interactive 3D scene (see [Reconstruction Viewer](/plugins/snt/reconstruction-viewer)) - **View**: The display plane of the scene: XY (the default), XZ, or ZY. This option pertains only to static 2D scenes -- **Positioning**: Whether reconstructions should be rendered under the original coordinates, or whether every cell in the scene should be translated to a common xyz coordinate (0,0,0) +- **Positioning**: Whether reconstructions should be rendered under the original coordinates, or whether every cell in the scene should be translated to a common xyz coordinate (0,0,0). This option is only available when multiple cells exist - **Rotation**: Whether cell(s) should be rotated to a _guessed_ 'vertical' position. Options include: - _None_: No rotation is performed - _Longest geodesic_: Assumes the longest shortest path in the arbor reflects its overall orientation. May be best suitable for polarized architectures (e.g., dendrites of pyramidal cells) @@ -636,6 +636,9 @@ Duplicates the selected path with options to duplicate just a sub-segment or a f - **Make primary** Whether the duplicated path (or group of paths) should be disconnected from their parent +#### Go To... + +Zoom-in into specific locations of the selected path. #### Rename... @@ -705,7 +708,7 @@ Morphometric properties, such as *Path length*, *Path mean radius* or *[Path ord #### Proofreading Toolbar -The proofreading toolbar allows for path-reviewing tags to be applied to selected paths in a convenient manner. Only one proofreading tag can be applied, because the previous assigned tag is replaced by the most recent assignment. Press "None" to remove existing tags. The toolbar includes an option to summarize current tag assignments, by listing the proportions of tagged paths. +The proofreading toolbar allows for path-reviewing tags to be applied to selected paths in a convenient manner. Only one proofreading tag can be applied, because the previous assigned tag is replaced by the most recent assignment. Press "None" to remove existing tags, right-click on the toolbar and choose {% include bc path='Change Colors...' %} to edit tags. The toolbar also includes an option to summarize current tag assignments, by listing the proportions of tagged paths. #### Other... diff --git a/_pages/plugins/snt/metrics.md b/_pages/plugins/snt/metrics.md index 4ba0596d9..090e010f9 100644 --- a/_pages/plugins/snt/metrics.md +++ b/_pages/plugins/snt/metrics.md @@ -14,7 +14,7 @@ tags: snt,reconstruction,tracing,arbor,neuron,morphometry,dendrite,axon,neuroana {% capture text%} **This list is focused on default measurements available through SNT's GUI and does not include specialized metrics available via its scripting API. Thus, it only captures [a subset](#notes) of the full repertoire of SNT metrics.**

-**For each metric SNT retrieves the descriptive statistics _Min_, _Max_, _Mean_, _Standard Deviation_ (SD), _Coefficient of variation_ (CV, i.e., the ratio of the standard deviation to the mean), _Sum_ and _N_**, which may lead to inevitable [redundancy](#notes) between measurements. E.g., when measuring [Branch length](#branch-length) for a particular cell, it is possible to retrieve the length of the smallest branch (_Min_), the longest (_Max_), the average and standard deviation of all branch lengths (_Mean_ and _SD_), their total length (_Sum_), and number (_N_). +**For each metric SNT retrieves the descriptive statistics _Min_, _Max_, _Mean_, _Standard Deviation_ (SD), _Coefficient of variation_ ([CV](#coefficient-of-variation), i.e., the ratio of the standard deviation to the mean), _Sum_ and _N_**, which may lead to inevitable [redundancy](#notes) between measurements. E.g., when measuring [Branch length](#branch-length) for a particular cell, it is possible to retrieve the length of the smallest branch (_Min_), the longest (_Max_), the average and standard deviation of all branch lengths (_Mean_ and _SD_), their total length (_Sum_), and number (_N_).

Metrics ported from published literature include their associated publication in the definition. {% endcapture %} @@ -27,16 +27,19 @@ A measure of _straightness_. The ratio between the Euclidean distance of a branc
See also: [Path contraction](#path-contraction) ##### Branch extension angle -The absolute (compass bearing) [extension angle](#extension-angle) of a branch +The [absolute](#absolute-angles) (compass bearing) [extension angle](#extension-angle) of a branch + +##### Branch extension angle (Rel.) +The [relative](#relative-rel-angles) [Extension angle](#extension-angle) of a branch, i.e., the acute branching angle formed between a branch and its parent. NaN if a branch has no parent ##### Branch extension angle XY -The absolute [extension angle](#extension-angle) of a branch in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) +The [absolute](#absolute-angles) [extension angle](#extension-angle) of a branch in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) ##### Branch extension angle XZ -The absolute [extension angle](#extension-angle) of a branch in the XZ plane +The [absolute](#absolute-angles) [extension angle](#extension-angle) of a branch in the XZ plane ##### Branch extension angle ZY -The absolute [extension angle](#extension-angle) of a branch in the ZY plane +The [absolute](#absolute-angles) [extension angle](#extension-angle) of a branch in the ZY plane ##### Branch fractal dimension Also known has [Hausdorff dimension](https://en.wikipedia.org/wiki/Hausdorff_dimension). Defined as the slope obtained from the log-log plot of _Path distance vs Euclidean distance_, as [implemented by L-measure](http://cng.gmu.edu:8080/Lm/help/index.htm) following the definition of [Marks & Burke (2007)](https://doi.org/10.1002/cne.21418). It is only computed for branches defined by at least five nodes. L-measure metric[^2] described in: @@ -134,7 +137,7 @@ The 3D orientation of a path can be captured using two components: {% include notice icon="info" content=azimuth-elevation %} ###### Relative (rel.) angles -Relative angles range between [0°—180°[ and are computed as the acute angle between a path's 3D direction vector and its parent path's 3D direction vector. These are thus 3D branching angles. If a path has no parent, its relative angle defaults to _NaN_ +Relative angles range between [0°—180°[ and are computed as the acute angle between a path's 3D direction vector and its parent path's 3D direction vector. These are thus 3D branching angles. If a path or barans has no parent, its relative angle defaults to _NaN_ ##### Specialized angles Specialized angles can be measured via the scripting API for any group of 3D coordinates. This includes reconstructions (whole cells or parts thereof) and 3D meshes. Some of the specialized angles include: @@ -161,16 +164,19 @@ Defined as the branches of highest Strahler order. Typically, these correspond t
See also: [Primary branches](#primary-branches), [Terminal branches](#terminal-branches) ###### Inner branches: Extension angle -The absolute (compass bearing) [extension angle](#extension-angle) of [inner branches](#inner-branches) +The [absolute](#absolute-angles) (compass bearing) [extension angle](#extension-angle) of [inner branches](#inner-branches) + +##### Inner branches: Extension angle (Rel.) +The [relative](#relative-rel-angles) [Extension angle](#extension-angle) of [inner branches](#inner-branches) ###### Inner branches: Extension angle XY -The absolute [extension angle](#extension-angle) of [inner branches](#inner-branches) in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) +The [absolute](#absolute-angles) [extension angle](#extension-angle) of [inner branches](#inner-branches) in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) ###### Inner branches: Extension angle XZ -The absolute [extension angle](#extension-angle) of [inner branches](#inner-branches) in the XZ plane +The [absolute](#absolute-angles) [extension angle](#extension-angle) of [inner branches](#inner-branches) in the XZ plane ###### Inner branches: Extension angle ZY -The absolute [extension angle](#extension-angle) of [inner branches](#inner-branches) in the ZY plane +The [absolute](#absolute-angles) [extension angle](#extension-angle) of [inner branches](#inner-branches) in the ZY plane ###### Inner branches: Length The length of [inner branches](#inner-branches) @@ -179,6 +185,7 @@ The length of [inner branches](#inner-branches) The angle (in degrees, 0-360 range) between a node and its immediate neighbors. I.e., if node B is preceded by node A and followed by node C, the internode angle at position B is defined as the angle between vectors AB and BC: $$\angle (\overrightarrow{AB}, \overrightarrow{BC})$$ ##### Internode distance + The distance between nodes defining a branch or a Path. Can be retrieved as _squared internode distance_ when faster computations are required @@ -186,7 +193,7 @@ The distance between nodes defining a branch or a Path. Can be retrieved as _squ The longest graph geodesic. Considering a [graph-theory tree](https://en.wikipedia.org/wiki/Tree_(graph_theory)), the _longest shortest path_ corresponds to its [graph diameter](https://mathworld.wolfram.com/GraphDiameter.html) (also known as maximum geodesic, or longest graph geodesic). Can only be computed for structures that are valid mathematical trees. ###### Longest shortest path: Extension angle -The absolute (compass bearing) [Extension angle](#extension-angle) of [longest shortest path](#longest-shortest-path) +The [absolute](#absolute-angles) (compass bearing) [Extension angle](#extension-angle) of [longest shortest path](#longest-shortest-path) ###### Longest shortest path: Extension angle XY Absolute [Extension angle](#extension-angle) of [longest shortest path](#longest-shortest-path) in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) @@ -261,10 +268,10 @@ The color channel associated with a path (multidimensional images) A measure of straightness of a path. See [Branch contraction](#branch-contraction) for definition ##### Path extension angle -The absolute (compass bearing) [Extension angle](#extension-angle) of a path +The [absolute](#absolute-angles) (compass bearing) [Extension angle](#extension-angle) of a path ##### Path extension angle (Rel.) -The relative [Extension angle](#extension-angle) of a path, i.e., the angle formed between a path and its parent (branching angle). NaN if a path has no parent. +The [relative](#relative-rel-angles) [Extension angle](#extension-angle) of a path, i.e., the angle formed between a path and its parent (branching angle). NaN if a path has no parent. ##### Path extension angle XY Absolute [Extension angle](#extension-angle) of a path in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) @@ -390,14 +397,20 @@ Treating each internode segment as a conical frustum, the sum of the surface are Branches ending at terminal endpoints (tips)
See also: [Inner branches](#inner-branches), [Primary branches](#primary-branches) +##### Terminal branches: Extension angle +The [absolute](#absolute-angles) (compass bearing) [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) + +##### Terminal branches: Extension angle (Rel.) +The [relative](#relative-rel-angles) [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) + ###### Terminal branches: Extension angle XY -Absolute [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) +The [absolute](#absolute-angles) (compass bearing) [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) in the XY plane, i.e., horizontal direction or [azimuth angle](#azimuth-elevation) ###### Terminal branches: Extension angle XZ -Absolute [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) in the XZ plane +The [absolute](#absolute-angles) (compass bearing) [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) in the XZ plane ###### Terminal branches: Extension angle ZY -Absolute [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) in the ZY plane +The [absolute](#absolute-angles) (compass bearing) [Extension angle](#extension-angle) of [terminal branches](#terminal-branches) in the ZY plane ###### Terminal branches: Length The sum of branch lengths of branches ending at terminal endpoints (tips) @@ -441,41 +454,50 @@ SNT assembles comparison reports and simple statistical reports (two-sample t-te ## Glossary +###### Coefficient of variation +The coefficient of variation (CV) is the ratio of the standard deviation to the mean. Unlike standard deviation, CV is dimensionless and facilitates comparisons between datasets with different units or scales (scale independent). Since CV expresses variability relative to the mean, it also facilitates comparing the consistency of different populations. A dataset with mean=100 and SD=10 (CV=0.1) shows the same relative variability as one with mean=1000 and SD=100 (CV=0.1), even though their absolute variability is quite different. Despite its usefulness, CV becomes meaningless when the mean approaches zero (small denominators can create misleadingly large CVs) and becomes less meaningful for data involving negative values. + +###### Graph +In [graph-theory](https://en.wikipedia.org/wiki/Tree_(graph_theory)) terms a tree is a connected structure with no loops where there's exactly one path between any two points. The root, branching points, and tips are "nodes" (or "vertices"), and each segment between two nodes is an "edge". This mathematical formalism simplifies the quantification of morphometric traits involving neural branches by providing a standardized framework for analysis. See also [Simplified graph](#simplified-graph). + ###### Mesh -A polygon mesh defines the shape of a three-dimensional polyhedral object. In neuronal anatomy, meshes define neuropil annotations, typically compartments of a reference brain atlas (e.g., the hippocampal formation in mammals, or mushroom bodies in insects) +A polygon mesh defines the shape of a three-dimensional polyhedral object. In neuroanatomy, meshes are used to define neuropil annotations and anatomical boundaries, typically representing compartments within a reference brain atlas (e.g., the hippocampal formation in mammals or mushroom bodies in insects). ###### Multi-dimensional image -An image with more than 3 dimensions (3D). Examples include fluorescent images associated with multiple fluorophores (multichannel) and images with a time-dimension (time-lapse videos). A 3D multichannel timelapse has 5 dimensions +An image with more than 3 dimensions (3D). Examples include fluorescent images associated with multiple fluorophores (multichannel) and images with a time-dimension (time-lapse videos). A 3D multichannel timelapse has 5 dimensions. ###### Neurite -Same as neuronal process. Either an axon or a dendrite - -###### Path -Can be defined as a sequence of branches, starting from soma or a branch point until a termination. In manual and assisted (semi-automated) tracing, neuronal arbors are traced using paths, not branches. [Fitting algorithms](/plugins/snt/manual#refinefit) that take into account voxel intensities can be used to refine the center-line coordinates of a path, typically to obtain more accurate curvatures. Fitting procedures can also be used to estimate the volume of the neurite(s) associated with a path +Synonymous with "neuronal process". Refers to any projection extending from the neuronal cell body (soma), encompassing both axons and dendrites. The term is useful when the specific identity of a process as axon or dendrite is unknown or irrelevant to the analysis. ###### (Neuronal) morphometry -Quantification of neuronal morphology +The quantitative analysis and measurement of neuronal shape and structure. ###### Neuropil -Any area in the nervous system. The cellular tissue around neuronal processes +Any area in the nervous system. The cellular tissue around neuronal processes. ###### Out-of-core -Software with out-of-core capabilities is able to process data that is too large to fit into a computer’s main memory. SNT supports out-of-core tracing via scripting. +Software architecture that enables processing of datasets larger than available computer memory (RAM) by streaming data from storage devices as needed. SNT supports out-of-core tracing via scripting. + +###### Path +Can be defined as a sequence of branches, starting from soma or a branch point until a termination. In manual and assisted (semi-automated) tracing, neuronal arbors are traced using paths, not branches. [Fitting algorithms](/plugins/snt/manual#refinefit) that take into account voxel intensities can be used to refine the center-line coordinates of a path, typically to obtain more accurate curvatures. Fitting procedures can also be used to estimate the volume of the neurite(s) associated with a path ###### Reconstruction -See [Tracing](#tracing) +See [Tracing](#tracing). Both terms are used interchangeably to describe the digital representation of neuronal morphology. ###### ROI -Region of Interest. Define specific parts of an image to be processed in image processing routines +Region of Interest. Define specific parts of an image to be processed in image processing routines. + +###### Simplified graph +A reduced representation of a [graph](#graph) where intermediate "slab" nodes along edges are removed, preserving only biologically meaningful nodes (root, branch points, and terminals). This simplification maintains the topological structure and edge weights while reducing computational complexity. ###### Skeleton -A thinned version of a digitize shape (such as a neuronal reconstruction) or of a binary image +A thinned, centerline representation of a digitized shape (such as a neuronal reconstruction) or of a binary image. ###### Tracing -A digital reconstruction of a neuron or neurite. The term predates computational neuroscience and reflects the manual ‘tracing’ on paper performed with [camera lucida](https://en.wikipedia.org/wiki/Camera_lucida) devices by early neuroanatomists +A digital reconstruction of a neuron or neurite. The term originates from historical manual tracing techniques using [camera lucida](https://en.wikipedia.org/wiki/Camera_lucida) devices, where neuroanatomists would trace neural structures onto paper. ###### Volume rendering -A visualization technique for displaying image volumes (3D images) directly as 3D objects +A visualization technique for displaying image volumes (3D images) directly as 3D objects. {% capture text%} diff --git a/_pages/plugins/snt/walkthroughs.md b/_pages/plugins/snt/walkthroughs.md index 7372909e8..fafe3bb75 100644 --- a/_pages/plugins/snt/walkthroughs.md +++ b/_pages/plugins/snt/walkthroughs.md @@ -316,7 +316,7 @@ Once undesired motion has been mitigated: - Use a script to attempt segmentation at each frame, as in the _Segmented video (2D timelapse)_ demo ({% include bc path='File|Load Demo Dataset...' %}) -4. Run Path Manager's {% include bc path='Analyze|Time-lapse Utilities|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: +4. Run [Path Manager](./manual#path-manager)'s {% include bc path='Analyze|Time-lapse Utilities|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: MatchPath(s) Across Time... prompt @@ -334,7 +334,10 @@ Once undesired motion has been mitigated: - NB: Note that any mistakes by the matching algorithm can be corrected by editing _neurite#_ tags manually -5. Once paths have been matched across the time-lapse to common neurites, future analysis becomes simplified. {% include bc path='Analyze|Time-lapse Utilities|Time Profile...' %} can be used to e.g. plot growth across time. {% include bc path='Time Profile...' %} includes the following options: +5. Once paths have been matched to their neurites across the time-lapse sequence, future analysis becomes simplified. + +6. Use Either {% include bc path='Analyze|Time-lapse Utilities|Grow Analysis...' %} or {% include bc path='Analyze|Time-lapse Utilities|Time Profile...' %} analyze the data. The former is a very simple approach to summarize growth across time, while the latter is a comprehensive analysis tool. + {% include bc path='Time Profile...' %} includes the following options: - **Metric** the measurement to be profiled across time @@ -342,9 +345,15 @@ Once undesired motion has been mitigated: - **Output** Whether a plot, a table or both should be created -
- -
+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. + + +{% include gallery align="fill" content= +" +/media/plugins/snt/snt-time-profile.png | Time Profile... (v4.3.0) +/media/plugins/snt/snt-growth-analysis.png | [Growth Analysis](/plugins/snt/analysis#growth-analysis) +" +%} # Filling diff --git a/media/plugins/snt/growth-analysis-prompt.png b/media/plugins/snt/growth-analysis-prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..096b989f0280d84718ffe54adad4bac033751955 GIT binary patch literal 516956 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