VFINDNOD

VisionX V4
NAME

vfindnod − find the center and size of a nodule in a high-res image

SYNOPSIS

vfindnod [-H] [if=<inputfile>] [df=<value>] [f1=<value>] [f2=<value>] [th=<value>] [pr=<value>] [tol=<value>] [it=<value>] [ir=<value>] [-com] [r=<value>] [dr=<value>] [dt=<value>] [-h] [vx=<value>] [sl=<value>] [-v] [-sh] [-L] [-Q]

DESCRIPTION

vfindnod finds the approximate center and size of a nodule in a high-resolution CT image. The image should have the float, byte, or short pixel type. The program can handle anisotropic images if the vx= option is set. The locator template function is the Laplacian of the Gaussian, and the sizing template function is the Gaussian. The threshold should be set to 350 for a isolated nodule and 450 for a juxtapleural nodule. If the nodule is not in the center of the image, then an initial location inside the nodule should be specified by using the it= option. The program outputs the location and size of the nodule to stdout in either shell format or in a list. It also can output two debugging images: df will show the nodule region drawn onto the input image, while sl will show the central slice of the nodule at each radius of the algorithm.

ALGORITHM

The localization algorithm uses two template functions to find the center and size of the nodule. Using the starting point and an initial radius, the location of the best candidate nodule is found by performing a maximization search (hill climbing) on the response of the locator template function. Next, the response of the sizing function is calculated. If it is within a tolerance to the threshold, then the algorithm stops and the location and size of the nodule are returned. Otherwise, if the value is greater than the threshold, the radius is increased and entire procedure is repeated. If the value is less than the threshold, then algorithm backtracks to the previous radius and halves the radius stepsize and the entire procedure is repeated.

OPTIONS

if=

Input File -- a 3D short, byte, or float image with isotropic voxels.

df=

Debug file -- the nodule region drawn onto the input image

f1=

Locator Template Function -- there are 5 functions to choose from: (0) weighted cube, (1) weighted sphere, (2) Gaussian, (3) Laplacian of Gaussian, and (4) Double Spheres. The default function is the Laplacian of the Gaussian.

f2=

Sizing Template Function -- choose from the same five above. The default is the Gaussian.

th=

The low threshold for the sizing template function. The algorithm terminates when the sizing function is equal to the threshold within some tolerance. (450 for pleural nodules, 300 for isolated nodules)

pr=

After the first iteration, the threshold is set as a percentage of the first sizing value.

tol=

The tolerance for reaching the threshold. The default is 10.

it=

tx,ty,tz: The initial starting point for the locator template function. The default is the center of the image.

ir=

The initial radius of the template functions. The default is 1.

-com

Use the center of mass of the image as the initial starting location.

r=

The maximum radius to use in the search. The default is the longest dimension of the image divided by two.

dr=

The initial radius stepsize. The default radius stepsize is 2.

dt=

The initial translation stepsize. The default translation stepsize is 2.

-h

Halt the algorithm when the sizing function increases. In general the sizing function should be monotically decreasing. The function will increase when the location of the candidate nodule has jumped somewhere else. This option will prevent the LOG locator function from jumping into the wall.

vx=

The ratio between z-resolution and xy-resolution for an anisotropic input image. The default is 1 for isotropic data.

sl=

Debugging file: The center slice of the candidate nodule for each radius size.

-v

Verbose operation; show values at each iteration of the search.

-sh

output location and size in shell format (e.g. nodx=2;)

-L

output location and size in alist (locx,locy,locz,radius)

-Q

use really quick LOG or Gaussian functions. a fixed size function is calculated and scaled accordingly for each iteration.

CONSTRAINTS

*

Can only handle byte, float, or short images

*

When using the LOG, the initial starting point must be inside the nodule.

BUGS

--

SEE ALSO

--

AUTHOR

A. B. Chan, Summer 2001