Purpose

Module can be used for manipulating fibers. The original structure of the incoming fibers is not changed so that FiberSets or FiberSetsContainer are available at the output. The module supports cropping of the endings of fibers, the deletion of short or longer fibers, and the simplification with respect to the number of points per fiber.

Usage

Connect fibers to the input, and if desired, also mask image when using the cropping functionality.

Windows

Default Panel

../../../Projects/MLDiffusionMRI/Modules/MLFiberUtilsExtension/mhelp/Images/Screenshots/ReduceFibers._default.png

Input Fields

input0

name: input0, type: Image

Optional mask image which can be used for cropping fibers.

inputFiberSet

name: inputFiberSet, type: MLBase

Input fibers.

Output Fields

outputFiberSet

name: outputFiberSet, type: MLBase

Manipulated fibers.

Parameter Fields

Field Index

Apply: Trigger min fiber length (mm): Float
Auto apply: Bool number: Integer
Auto update: Bool prog: Float
Crop Endings: Bool Remove Masked Fibers: Bool
Delete Long Fibers: Bool Simplify Fibers: Bool
Delete Short Fibers: Bool threshold: Float
Keep each x-th fiber: Bool Update: Trigger
max fiber length (mm): Float  

Visible Fields

Keep each x-th fiber

name: keepXthFiber, type: Bool, default: FALSE

If true, each x-th fiber is bypassed to the output.

Crop Endings

name: cropEndings, type: Bool, default: FALSE

If true, fibers are cropped at their ending with respect to the given input mask.

Remove Masked Fibers

name: removeMaskedFibers, type: Bool, default: FALSE

If enabled, fiber passing trough given input mask are completely deleted.

Delete Short Fibers

name: deleteShortFibers, type: Bool, default: FALSE

If true, short fibers are removed if their length is smaller than minFiberLength.

Delete Long Fibers

name: deleteLongFibers, type: Bool, default: FALSE

If true, long fibers are removed if their length is larger than maxFiberLength.

Simplify Fibers

name: simplifyFibers, type: Bool, default: FALSE

If true, it is tried to reduce the number of points per fiber. Only if the scalar product of two consecutive fiber segments A= (currentPoint - prevPoint) and segment B =(current point-nextPoint) is smaller than the given angleThreshold, the currentPoint is kept in the output fiber. Otherwise, it is removed.

number

name: xThFiberNumber, type: Integer, default: 2

Each x-th fiber is bypassed to the output if keepXthFiber is set to true.

threshold

name: angleThreshold, type: Float, default: 1, minimum: 0, maximum: 1

If simplifyFibers is true, then the common point q of two consecutive line segments pq and qr is removed, if | cos alpha | >= angleThreshold, . The angle alpha is the smaller angle between the intersecting lines defined by (p,q) and (q,r).

min fiber length (mm)

name: minFiberLength, type: Float, default: 0, minimum: 0

If deleteShortFibers is true, fibers are removed if their length is smaller than minFiberLength.

max fiber length (mm)

name: maxFiberLength, type: Float, default: 400, minimum: 0

If deleteLongFibers is true, fibers are removed if their length is larger than maxFiberLength.

Apply

name: applyButton, type: Trigger

If pressed, the module computes anew

Auto apply

name: autoApply, type: Bool, default: TRUE

If checked, the module computes anew on any parameter change.

Update

name: updateButton, type: Trigger

If pressed, the module computes anew.

Auto update

name: autoUpdate, type: Bool, default: TRUE

If checked, the module computes anew on any input change.

Hidden Fields

prog

name: prog, type: Float, default: 1