VBRONCH

VisionX V4
NAME

vbronch - identifies bronchial segments

SYNOPSIS

vbronch [if=<tfile>] [ig=<mfile>] [of=<skeleton>] [og=bpoints>] [oh=<text>] [op=<partition>] [max=gen] [sl=seglen] [tl=tralen] [-w] [-v] [-db]

DESCRIPTION

vbronch identifies individual bronchial segments from a input image of entire airway tree. It takes in two input images: an airway tree mask (vsairw output) and a thinned airway tree (v3thin output). The [max] parameter can be used to specify the maximum generation to identify (trachea being 0th generation).

The program prunes away the small branches that are less than [sl=] voxels long and labels each bronchial segment with a unique number. Given a segment with label n, two children bronchi are labeled with n*2 and n*2+1. The trachea is given a label of 1 (Trachea = 1, Right main bronchus = 2, Left main bronchus = 3, ...). Also, it is assumed that the trachea is at least [tl=] voxels in length, and the top-most segments that are less than 30 voxels are pruned away until there is a valid trachea at the top.

The output file [of=] is a short image with the pruned skeleton of the airway tree where the skeleton of each segment is given a unique label.

The output file [og=] is a byte image where the branch point voxels are labeled with 255, and 0 elsewhere.

The output file [oh=] is the text file containing the information on identified segments. Each line contains comma-separated numbers in the form of [label,x0,y0,z0,x1,y1,z1,length]. Same labeling convention is used as in [of=]. "x0,y0,z0" and "x1,y1,z1" indicate the start and end points of the segment, and "length" specifies the length of an airway segment in voxels.

The output file [op=] is a short image of the airway tree mask, with each airway segment mask given a unique label. Same labeling convention is used as in [of=].

[-v] flag can be used to display the information of all identified segments.

CONSTRAINTS

The input images should be byte images.

OPTIONS

if=

thinned image of airway tree mask (output of v3thin)

ig=

airway tree mask image (output of vsairw)

of=

output image of pruned tree skeleton (each segment’s skeleton is given a unique label).

og=

output image of branch point locations (each branch point location is labeled with 255, and 0 elsewhere)

oh=

output text file listing identified segments. Each line contains 8 numbers in the form of [label,x0,y0,z0,x1,y1,z1,length]. Same labeling convention is used as in [of=]. The length specifies the length of an airway segment in voxels.

op=

output image of partitioned airway tree mask (each segment mask is given a unique label)

max=

maximum generation to reach, trachea being 0th generation (default: 5)

sl=

minimum segment length (in voxels) to keep in the pruned tree (default: 5)

tl=

minimum length of trachea in voxels (default: 30)

-w

wish output for processing individual segments

-v

verbose mode (gives a tree view of all identified segments)

EXAMPLE USAGE

Using vbronch for a CT image ctimg.vx in VisionX format:

# segment the airway mask
vsairw if=ctimg.vx of=airway.vx

# thin the airway to get the rough skeleton
v3thin if=airway.vx of=skeleton.vx

# prune the skeleton and identify airway segments
vbronch if=skeleton.vx ig=airway.vx max=5 of=pruned.vx oh=list.txt

Running above commands will identify the airway segments down to 5th generation and output the binary image of pruned airway skeleton (pruned.vx) and the text file listing the identified segments (list.txt).

AUTHOR

J. Lee

SEE ALSO

vsairw, v3thin