CamiTK Extension Project: "imaging"

CamiTK Extension Project: "imaging"

Contact

"Celine.Fouard@imag.fr

Emmanuel.Promayon@imag.fr"

Description

"This CEP is part of CamiTK Open-Source. It provides action and component extensions that are useful for processing medical imaging: the dicom and itkimage components, the itk filters and itk segmentation actions. It depends on... ITK. "


Licence:


Components

There are 4 component extensions in this CEP

Component extension:

Description:

"This component allows one to read several image files from a directory using the library GDCM 2.2.x"

This component extension managed the following extension files:


Component extension: ItkImages Component

Description:

Manage any file type supported by itk and not by vtk in <b>CamiTK</b>.<br/>For more info about image data format: <a href="http://www.dclunie.com/medical-image-faq/html">http://www.dclunie.com/medical-image-faq/html</a><br/><ul><li>hdr is the Analyse header file format</li><li>spr is the Stimulate header file format</li><li>gipl is the Guys Image Processing Lab Format</li><li>pic is the Bio-Rad file format, used by confocal micropscopes like MRC 1024 and MRC 600</li><li>LSM is a line of confocal laser scanning microscopes produced by the Zeiss company</li><li>Nrrd is the "Nearly Raw Raster Data"</li><li>NIfTI-1 (.nii) is adapted from the widely used ANALYZE 7.5 file format. For more info about image data format: <a href="http://nifti.nimh.nih.gov/nifti-1/">http://nifti.nimh.nih.gov/nifti-1/</a> </li></ul>

This component extension managed the following extension files: msh, hdr, img, spr, hdr, img, img.gz, pic, mha, mixed, raw, vtk, lml, lml, lsm, pml, vtk, STL, vtk, , hdr, img, hdr, img.gz, hdr, img.gz, obj, mtl, vtk, off, nrrd, nrrd, nrrd, nii.gz, msh, gipl, wrl, mtl, obj, vtk, clm, clm, clm, mhd, zraw, vtk, vtk, stl, vtk, nrrd, pml, mmlin, mml, mml, mml, pml,


Component extension:

Description:

"This allows one to read a single DICOM image file (.dcm

This component extension managed the following extension files:


Component extension:

Description:

"This component allows the handling of DICOM images using ITK"

This component extension managed the following extension files:



Actions

There are 2 action extensions in this CEP

Action Extension: ITK Filters

Description:

This extension implements ITK Filters on image volumes. See Chapter 6 of "The ITK Software Guide" Second edition for more information about ITK Filters.

This action extension contains 14 actions

Action: Canny Edge Detection

Description: <br>The <b> <i>Canny edge detector</i> </b> is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images. <br> The filter steps are : * Preprocessing noise reduction using a gaussian convolution filtering. * Finding the intensity gradient of the image * Non-maximum suppression * Tracing edges through the image and hysteresis thresholding It was developed by John F. Canny in 1986. <i>(source: Wikipedia)</i>.<br> This filter is widely used for edge detection since it is the optimal solution satisfying the constraints of good sensitivity, localization and noise robustness. <i>(source: ITK Developer's Guide)</i>.<br>


Action: Sobel Edge Detecton

Description: <br>A 2D or 3D <b>edge detection using the Sobel operator</b>.<br> This filter uses the Sobel operator to calculate the image gradient and then finds the magnitude of this gradient vector. The Sobel gradient magnitude (square-root sum of squares) is an indication of edge strength..<br>


Action: Gradient Magnitude

Description: <br>The <i>magnitude of the image gradient</i> is extensively used in image analysis, mainly to help in the determination of object contours and the separation of homogeneous regions. <br> <b>The Gradient Magnitude filter</b> computes the magnitude of the image gradient at each pixel location using a simple finite differences approach. (<i>source: ITK Developer's Guide)</i><br>


Action: Gradient Magnitude With Smoothing

Description: <br>Differentiation is an ill-defined operation over digital data.<br> In practice it is convenient to define a scale in which the differentiation should be performed. This is usually done by preprocessing the data with a smoothing filter. <br/><br/> It has been shown that a Gaussian kernel is the most choice for performing such smoothing. By choosing a particular value for the standard deviation <i>(sigma)</i> of the Gaussian, an associated scale is selected that ignores high frequency content, commonly considered image noise. <br/><br/> This filter computes the magnitude of the image gradient at each pixel location.<br/><br/> <b>The computational process is equivalent to first smoothing the image by convolving it with a Gaussian kernel and then applying a differential operator.</b> <br/><br/> The user selects the value of <i>sigma</i>. Internally this is done by applying an IIR filter that approximates a convolution with the derivative of the Gaussian kernel. Traditional convolution will produce a more accurate result, but the IIR approach is much faster, especially using large <i>sigma</i>s (Deriche1990,Deriche1993).<br/><br/> <i>(source: ITK Developer's Guide)</i><br>


Action: Partial Derivative

Description: <br><b>This filter is used for computing the <i>partial derivative</i> of an image.</b><br> <br><br> Choose the order of the derivative: <ul> <li> Zero order: no derivation <li> First order derivative <li> Second order derivative </ul> Choose the direction of the derivative: <ul> <li> Derivative along X axis <li> Derivative along Y axis <li> Derivative along Z axis </ul>


Action: Laplacian Filter

Description: <br/>This filter computes the <b>Laplacian of a scalar-valued image</b>.<br/><br/> The Laplacian is an isotropic measure of the second spatial derivative of an image. <br/><br/> The Laplacian of an image highlights regions of rapid intensity change and is therefore often used for edge detection. Often, the Laplacian is applied to an image that has first been smoothed with a Gaussian filter in order to reduce its sensitivity to noise.<br/><br/> <i>(source: ITK Developer's Guide)</i><br>


Action: Laplacian Filter With Smoothing

Description: <br/>Computes the <b>Laplacian of Gaussian (LoG)</b> of an image by convolution with the second derivative of a Gaussian.<br/><br/> This filter is implemented using the recursive gaussian filters.


Action: Laplacian Sharpening

Description: <br>This filter <b> <i>sharpens an image using a Laplacian filter</i> </b>.<br> Laplacian Sharpening highlights regions of rapid intensity change and therefore highlights or enhances the edges. The result is an image that appears more in focus.<br/>


Action: Mean Filter

Description: <br>The <b>mean</b> filter is commonly used for noise reduction. <br/><br/> This filter computes the value of each output pixel by finding the statistical mean of the neighborhood of the corresponding input pixel. The following figure illustrates the local effect of the <b>mean</b> filter in 2D case.<br/>______________ <br/> | 28 | 26 | 50 | <br/> |-----|-----|------| <br/> | 27 | 25 | 29 | -> 30.22 -> 30<br/> |-----|-----|------| <br/> | 25 | 30 | 32 | <br/> -------------------- <br/> <i>Note that this algorithm is sensitive to the presence of outliers in the neighborhood. </i><br/><br/> The <b>parameters</b> are the size of the neighborhood along X, Y and Z directions. <br/>The value on each direction is used as the semi-size of a rectangular box. For example in <i>2D</i> a size of 1 in X direction and 2 in Y direction results in a 3x5 neighborhood.<br/>


Action: Median Filter

Description: <br> The <b>median</b> filter is commonly used as a reobust approach for noise reduction.<br> This filter is particularly efficient against <i>salt-and-pepper</i> noise. In other words, it is robust to the presence of gray-level outliers. <br> This filter computes the value of each output pixel as the statistical median of the neighborhood of values around the corresponding input pixel. The following figure illustrates the local effect of this filter in 2D case.<br>_____________ <br> | 28 | 26 | 50 | <br> |----|-----|----| <br> | 27 | 25 | 29 | -> 28<br> |----|-----|----| <br> | 25 | 30 | 32 | <br> ----------------- <br> <br> The <b>parameters</b> are the size of the neighborhood along X, Y and Z directions. The value on each direction is used as the semi-size of a rectangular box. For example in <i>2D</i> a size of 1 in X direction and 2 in Y direction results in a 3x5 neighborhood.<br>


Action: Morphological Operators

Description: <br/><b>Mathematical morphology</b> has proved to be a powerful resource for image processing and analysis.<br/><br/>This filter implements classical mathematical morphology operators:<ul><li>erosion</li><li>dilation</li><li>opening</li><li>closure</li></ul>


Action: Gaussian Filter

Description: <p>Blurring is the traditional apporach for removing noise from images. It is usually implemented in the form of a convolution with a kernel. One of the most commonly used kernels is the Gaussian.</p><p>The classical methode of smoothing an image by convolution with a Gaussian kernel has the drawback that it is slow when the standard deviation sigma of the Gaussian is large.</p><p>The Recursive IIR (Infinite Impulse Rewponse) implements an approximation of convolution with the Gaussian. In practice, this filter requires a constant number of operations for approximating the convolution, regardless of the sigma value.</p>


Action: Anisotropic Diffusion

Description: <p>Anisotropic diffusion methods are formulated to reduce noise (or unwanted detail) in images while preserving specific image features. For many applications, there is an assumption that light-dark transitions (edges) are interesting. Standard isotropic diffusion methods move and blur light-dark boundaries. Anisotropic diffusion methods are formulated to specifically preserve edges.</p> <p>The numberOfIterations parameter specifies the number of iterations (time-step updates) that the solver will perform to produce a solution image. The appropriate number of iterations is dependent on the application and the image being processed. As a general rule, the more iterations performed, the more diffused the image will become.</p> <p>The conductance parameter controls the sensitivity of the conductance term in the basic anisotropic diffusion equation. It affect the conductance term in different ways depending on the particular variation on the basic equation. As a general rule, the lower the value, the more strongly the diffusion equation preserves image features (such as high gradients or curvature). A high value for conductance will cause the filter to diffuse image features more readily. Typical values range from 0.5 to 2.0 for data like the Visible Human color data, but the correct value for your application is wholly dependent on the results you want from a specific data set and the number or iterations you perform.</p> <p>The <i>Gradient</i> anisotropic diffusion implements an N-dimensional version of the classic Perona-Malik anisotropic diffusion equation for scal-valued images.</p> <p>The <i>Curvature</i> anisotropic diffusion performs anisotropic diffusion on an image using a modified curvature diffusion equation (MCDE). MCDE does not exhibit the edge enhancing properties of classic anisotropic diffusion, which can under certain conditions undergo a <i>negative</i> diffusion, which enhances the contrast of edges. Equations of the form MCDE always undergo positive diffusion, with the conductance term only varying the stregth of that diffusion.</p>


Action: Connected Components Classification

Description: Labels connected components of a binary image and order the labes with respect to the size of the connected components (i.e. the larges connected component has the label 1, the one a little smaller has the label 2, and so on...



Action Extension: ITK Segmentation

Description:

This extension implements ITK Segmentation Filters on image volumes. See Chapter 9 of <i>The ITK Software Guide</i> Second edition for more information about ITK Segmentation Filters.

This action extension contains 3 actions

Action: Otsu Threshold Filter

Description: <p> This filter creates a binary thresholded image that separates an image into foreground and background components. <br/>The filter calculates the optimum threshold separating those two classes so that their combined spread (intra-class variance) is minimal (see http://en.wikipedia.org/wiki/Otsu%27s_method). Then the filter applies that threshold to the input image using an Itk binary fileter. The numberOfHistogram bins can be set for the Otsu Calculator. The insideValue and outsideValue can be set for the Itk binary filter. The filter produces a labeled volume. <br/><br/>The original reference is: <br/>. <i>Otsu, ''A threshold selection method from gray level histograms,'' IEEE Trans.Syst.ManCybern.SMC-9,62-66 1979.</i></p>


Action: Manual Threshold Filter

Description: <br/>Sets all the pixels / voxels scalar value according to the following rules: <ul> <li>low threshold &lt; scalar value &lt; high threshold &gt; white (255) </li> <li>scalar value &lt; low threshold OR scalar value &gt; high threshold &gt; black (0)</li> </ul>


Action: Region Growing Segmentation

Description: This filter segments volume images using region growing approach. It starts from a seed point that is considered to be inside the object to be segmented. The pixels neighboring this seed point are evaluated to determine if they should also be considered part of the object. If so, they are added to the region and the process continues as long as new pixels are added to the region. For connected threshold filter, the criterion is based on the intensity of the neighboring pixels. They are considered as part of the object if theyr value is between a lower and an upper threshold.




Libraries

There are 0 libraries in this CEP


Applications

There are 0 applications in this CEP



Last modified on Wednesday 21 December 2016 - 14:30