|
|||||||||||||
|
Home About Sponsors Download Documentation FAQ Mailing Lists Testing News Bug Tracking Data Related Software Applications Copyright Marketplace |
This application illustrates the use of the data processing pipeline.
In particular it shows how easy is to create complex processes by
plugging basic ITK components together. It also shows how to communicate
between the ITK layer and a Graphic User Interface (GUI) layer.
What Is The Purpose Of This Application ?The purpose of this application is to extract the points that are located near the medial line of tubular structures in a 3D volume.The images below illustrate the whole process. At left, we have the input data set. We use an aneurysm dataset, a magnetic resonance angiogram of the vasculature of a patient's head. Shown below is a slice of the aneurysm dataset and the MIP of the final output. The points in red are the MIP of the extracted curves. This is overlayed over an MIP of the dataset.
About the GUIThe figure below shows the user interface of this example. It shows buttons for each one of the ITK components used in the extraction process. Blue lines show the flow of image data through the pipeline. The GUI toolkit FLTK http://www.fltk.org is used in this example.
Algorithm detailsLine structures can be differentiated from other structures by studying the eigen values of the hessian of a 3D volume [1]. The hessian is a 3x3 matrix [2] composed of second order derivatives of the image.A convenient way to see the hessian as an image is to look at the laplacian of the image. The laplacian of the input image is trace of the hessian. Below are the laplacian.
The eigen values of the hessian give intuition into the structure of local intensity variations and shape. For discrimination of bright line structures against a dark background, lambda_2 and lambda_3 must be nearly equal and negative and lambda_1 must be close to 0 [2]. Below are the three eigen value images.
To give the user some freedom in controlling the parameters (for instance how equal is "nearly equal", how negative is "negative". How much is "close to 0" etc..), we plot the eigen values in parametric space and give the user the freedom to choose points in parameteric space. Below is a plot of the parameteric space. The parametric space is visualized as a point cloud with each point having co-ordinates (lambda_1, lambda_2, lambda_3). The "Red" axis on the figure on the left below is +lambda_1. The other two axes are lambda_2 and lambda3. The points to be filtered out are ones satisfying the criteria above. Lambda_2 nearly equal to Lambda_3 is equivalent to having a frustum with "Angle Z = 45 degrees". Aperture X and Aperture Y control how much Lambda_2 should be equal to Lambda_3 and how much Lambda_1 is constrained to be close to 0. The top plane and the bottom planes of the frustum define how far in parametric space we are willing to go. If we approach too close to the origin, we begin to get affected by noise. The parametric space and the frustum-filtered parameteric space are shown below. The points in the filtered parametric space were mapped onto their corresponding points in image space to obtain the curve points shown above. Frustum controls: (Left mouse button to rotate, Ctrl, left mouse to zoom).
The ITK filters used to compute these images are the following: Other relevant applications that do similar thingsA variety of image enhancement techniques may be applied for detection of curves. cvs -d:pserver:anonymous@www.itk.org/cvsroot/Insight login (password: insight) cvs -d:pserver:anonymous@www.itk.org/cvsroot/Insight co InsightDocuments
The DuctExtactor application has been written to segment bright ducts against a darker brackground. So the threshold here is an upper threshold for the Connected Threshold algorithm. You could easily modify the application to specify a lower threshold if you have dark ducts against a bright background. Go to next application. | ||||||||||||