next up previous index
Next: ``solid-blob extract'' - extract Up: Turnkey Previous: Turnkey

``LV Extract'' - extract left ventricular chambers

VFX name:
iLV_Extract
IMPROMPTU Equivalent:
LV_extract
purpose:
To extract a left-ventricular chamber from a DSR cardiac volume. The paper [12] gives thorough detail on the operation and efficacy of this function. Also, Section 7 details the procedure for using ROI and LV_extract to extract left vetricular chambers from a sequence of volumes.

Given a grayscale volume, LV extract extracts the largest, bright, connected objects in the volume. The extracted objects have interior transverse-plane cavities filled. Also, attachments thinner than a specified minimum diameter are deleted from the objects. The sizes of the extract objects are written into a file called ``invol.size'', where ``invol'' is the name of the input volume. See output below for more detail.

To extract the objects, LV extract (1) completes gaps started by a user's manual edits [12]; (2) enhances the data using the maximum-homogeneity filter [10,11]; (3) thresholds the data giving a binary-valued volume; (4) deletes spurious objects and fills transverse-plane cavities; and (5) removes attachments of a prespecified diameter from the remaining objects. The user can set a number of parameters to specify how these functions are done. The parameters relevant to each step are described below:

step 1: A user may wish to introduce some manual edits into a volume before having ROI extract the LV chamber [12]. These edits introduce 0's into the volume. By using the option

\begin{displaymath}\rm \lq\lq clean\_up''
\end{displaymath}

one can have the computer complete gaps between regions started by the manual edits. Nominally one should introduce the edits on every second relevant sagittal slice, but introducing them on only every third should be safe.

step 2: I would always recommend using the maximum homogeneity filter. It considerably improves the ``segmentability'' of the input volume.

step 3: Two types of thresholding can be done: automatic or a two-stage manual. Autothresholding uses the ``integrated'' function ``auto thresholder'' to automatically pick thresholds in a 3-D volume. If you pick this option, the key parameter to set is ``cue_slice_num''; this tells the autothresholder at which slice to start the thresholding. While lots of flexibility exists in picking a cue slice, you generally want to pick a cue slice that contains a large, high-contrast section of the LV chamber. (The autothresholder picks thresholds for the whole volume, starting at the selected cue slice.)

Manual thresholding can be done using two thresholds. With

\begin{displaymath}a = \rm \lq\lq beginning\ slice''\ of\ FIRST\ stage
\end{displaymath}


\begin{displaymath}b = \rm \lq\lq beginning\ slice''\ of\ SECOND\ stage
\end{displaymath}

the first threshold is applied from slices a to b-1. The second threshold is applied from slices b to the end. Since the autothresholder can occasionally produce anomolous results, the manual threshold option serves as a reliable stopgap. The drawback of manual thresholding is that the results are sensitive to the choice of thresholds.

step 4: The parameter ``num_obj_to_save'' tells LV extract how many regions to save. To get only the LV, you leave this parameter at the default value of 1. If you also wish to extract the RV (if it's been opacified), you may wish to set this parameter to 2.

step 5: The option ``min_isthmus_diam'' specifies the diameter in voxels of the narrowest allowed attachment in the final extracted objects. The default of 7 (voxels) will delete attachments of roughly 0.5 cm for a typical DSR scenario.

input:
An 8-bit volume.
output:
An 8-bit binary-valued volume containing only the extracted region(s). Also, a file called ``invol.size'', which gives the sizes in voxels of the extracted regions; ``invol'' is the name of the input volume. If no input volume name is specified, a file called ``sizeXXXXXX'' is made instead, where XXXXXX is a computer-generated code like g56038.
parameters:
Default parameters menu is
min_isthmus_diam = 7
num_obj_to_save = 1
clean_up = yes
use_maxh_filter = yes
thresh_scheme = auto_threshold
*****Auto-thresholding Parameters*****
mode = restrict_rise
cue_slice_num = 1
low_tol_thresh = 120
max_intergroup_change = 30
max_thresh_rise = 5
min_hist_peak_sep = 30
****Manual-thresholding Parameters****
FIRST threshold:
first_thresh = 0
first_begin_slice = 0
SECOND threshold:
second_thresh = 0
second_begin_slice = 0
The parameter ``thresh_scheme'' should be toggled to the desired thresholding method. Also, I generally recommend using the ``restrict_rise'' mode for the autothresholder.
comments:
1.
This function is very time-consuming, taking on the order of thirty minutes for a 100x100x100 volume. Run in background mode!
2.
See the ``autothresholder'' function for setting the parameters for autothresholding. Keep the ``restrict_rise'' parameter small - this safeguards against anomolous thresholds in the vicinity of the papillary muscles (slices here tend to have poorer histogram peaks). The following autothresholder parameters are hard-wired in LV extract:

\begin{eqnarray*}\rm\char93 \ of\ slices\ per\ group = 2\\
\rm use\ area-of-in...
...sis = no\\
\rm min\ histogram-peak\ area(\%\ of\ total) = 2.00
\end{eqnarray*}


3.
If an LV volume is not pre-edited, there is no point in cleaning up straddling zeros. Thus, toggle this parameter to say ``no''.
4.
The paper by Higgins et al. [12] gives more detail on what exactly is happening here.


next up previous index
Next: ``solid-blob extract'' - extract Up: Turnkey Previous: Turnkey
MultiDimensional Image Processing Lab, Penn State University