semi auto tracing - ekatrukha/BigTrace GitHub Wiki

BigTrace has a semi-auto tracing mode semi-auto tracing mode icon that allows you to trace curves between a sequence of user-selected 3D points.
When you start tracing a new point/ROI (with the F shortcut) in this mode, the plugin switches to "TraceBox" mode.
This zooms-in to the clicked point and shows a TraceBox around this point.

The TraceBox is a special sub-volume of the original data, and the image shown inside it is a type of "tubeness" called "curve saliency." This is made by calculating the Hessian matrix of the subvolume and summing up the two largest negative eigenvalues for each voxel.

semi-auto_optim

In semi-auto tracing mode, you can keep adding new points inside the current location of the TraceBox using the F shortcut. The plugin will try to find the most optimal path through the volume connecting the last added point.

In this mode:

  • the last added (tip) point of the trace can be removed using G shortcut.
  • Advance TraceBox forward happens with T shortcut. It moves TraceBox so it is positioned around the last added point.
  • Reverse active tracing endpoint of the current curve with Y shortcut. The other end (tip) of the trace becomes active.
  • Straight line connection/segment (not tracing) can be added with R shortcut.
  • Finish/deseclect current tracing with H shortcut. *
  • Start new trace in the TraceBox mode with V shortcut.

Since algorithm connecting points sometimes gives weird results, especially trying to jump over gaps in lines, in some areas straight line R connection works better (no tracing).

If you want to edit/continue an existing trace, select it in the list first (or at the canvas using E) and press F. The plugin will calculate and show TraceBox around the last added point.

TraceBox brightness/contrast/LUT color can be adjusted as with other sources (shortcut S), it is always the last source in the list.

Zoom in/out shortcuts (D and C) are still working in this trace mode.

Please note that depending on the size of the TraceBox and your computer's performance, it may take some time for the TraceBox to appear. You can check the progress bar at the bottom of the BigTrace panel for updates on this.

Settings

To show the parameters dialog, double-click on the semi-auto tracing mode icon icon.

Tracing

Settings at this tab define parameters for both Semi auto tracing and One-click tracing modes.

Curve thickness along axes parameters specify the approximate thickness of curves of interest in each dimension (in pixels!). A good estimate for these values can be made by plotting the intensity profile perpendicular to a curve in each dimension and fitting it with the Gaussian function. SD of this Gaussian is the value that is needed.
Basically, it is an SD of Gaussian Derivative convolution filters for each dimension used to calculate the Hessian matrix.
Alternatively, one can look at the rendered TraceBox volume, if the curves are too dotty, these values can be increased.

Trace only cropped volume checkbox decides, in case of crop applied to a dataset, whether the tracing will continue outside the cropped volume.

Semi-auto

Trace box size (px) specifies dimension of TraceBox. Basically, it is the length of the edge of the cube/box displayed in the Semi auto tracing mode.

Trace box screen fraction (0-1): How much the plugin should zoom in to the TraceBox. In the case of 1 the TraceBox will occupy the whole viewer window.

Trace box advance [0-center..1-edge] initial TraceBox always has the initial point in the middle of the box. But after advancing it (with T) shortcut, this option specifies, where TraceBox will be positioned with respect to the last added point. The plugin calculates the last direction of the curve and positions the last point along this direction either at the edge (value 1) or the center of the box (value 0).

Orientation weight (0-1): It is a bit complicated parameter. Basically, when the plugin searches for the best path between two points, it minimizes the "travel function" (or cost) based on the "tubeness" of voxels along the path and the orientation of the curve inside those voxels. This parameter defines, how much each term contributes to the cost minimization (0 = only "tubeness", 1 = only orientation). The implementation is similar to NeuronJ, see the paper for details.

⚠️ **GitHub.com Fallback** ⚠️