Correcting image spacing and Cost functions used in MIPAV algorithms: Difference between pages

From MIPAV
(Difference between pages)
Jump to navigation Jump to search
m (1 revision imported)
 
MIPAV>Olgavovk
mNo edit summary
 
Line 1: Line 1:
The Correct Image Spacing command on the Utilities menu corrects images in which slice thickness and slice spacing are unequal, which may distort images. To understand how this problem can occur, the following section presents some background information.<br />
A similarity or cost function measures the similarity between two images. During the registration the adjusted image V is transformed using the various transformation functions. And the similarity S(U;Vt) between the reference image U and transformed image Vt is then calculated.


<div id="UnderstandingContiguousPlanes"><div>
'''Note:''' in MIPAV, we use the term cost function to refer to the negative cost function. That means that we assume that the transformation that gives the smallest value of the chosen inverse cost function is the transformation that also gives the best alignment.
== Understanding contiguous planes' effect on image scanning ==
Image scanning is usually done in contiguous planes. For example, if the first slice is centered at position 5.0 and the slices are 2 mm thick, the second slice is centered at 7.0. In such a case, the slice thickness, 2, and the slice spacing, 2, are equal. There are, however, two scenarios when the slice spacing does not equal the slice thickness:<br />
* '''Slice spacing is less than the slice thickness''' -In this case, although the images are, for example, 2 mm thick, they are spaced only 1 mm apart (Figure 13). This scenario arises when the ZIP x 2 feature is used during MRI scanning, which enables the acquisition of slices only 1 mm apart but uses signals from a 2-mm slab to increase the signal-to-noise ratio.<br />
* '''Slice spacing is greater than the slice thickness''' -This scenario (Figure 13), which is more common than the first, occurs when the operator chooses to acquire images at intervals greater than the slice thickness (i.e., there is a gap between successive image slices) in order to cover a deeper field of view.<br />


MIPAV assumes that successive images are contiguous. So, for example, if users chose the triplanar view to display an image that had slice spacing larger than slice thickness, the image would appear shortened in the out-of-plane direction. The Correct Image Spacing utility corrects both situations in which the slice thickness and spacing are not equal. Once the correction is applied, the slice thickness and slice spacing for the given image dataset are the same.
== Background ==
[[File:CostFunctions1.jpg |200px|thumb|right|The plots of the Correlation Ratio cost function versus some of the individual parameter values. In each plot (A, B, C, and D), a single parameter is varied while the other are kept constant]]


<div id="UnderstandingImageSpacing"><div>
For the registration algorithms, such as [[Optimized automatic registration 3D | OAR]], the main approach for determining an optimal transformation is to
== Understanding how MIPAV solves the image spacing problem ==
When the spacing between slices is ''less'' than the slice thickness, the Correct Image Spacing utility assigns the slice spacing to the slice thickness (refer to Figure 13 for triplanar views before and after correction). When the slice spacing is ''larger'' than the slice thickness (refer to Figure 13 for triplanar views before and after correction), the utility inserts blank slices between the existing images. <br />


Since all slices within an image volume must have the same slice thickness, in many cases more than one slice must be inserted and the original images must be repeated so that a new value can be found for the slice thickness that fits evenly into the original slice spacing. Since there are an infinite number of combinations of slice spacing and thickness, not all could be handled. Table 2 displays the most common combinations and the algorithms MIPAV uses for handling them.
<ol>
    <li>Calculate a cost function,</li>
    <li>Determine how it changes as individual transformation parameters are varied,</li>
    <li>And find the parameters that minimize the value of the cost function.</li>
</ol>


''T'' = Original slice thickness<br />
The following figure (right) shows a plot of a sample cost function for a selection of transformation parameters.
''S'' = Original space between slices<br /
''G'' = Gap = ''S'' - ''T''<br />
''M'' = Number of original images<br />
''O'' = Original image set origin<br />
''N'' = New slice thickness<br />


To use the Correct Image Spacing utility, DICOM images must first be saved in XML format. The following DICOM tags (Figure 13) are used:
The cost functions implemented in MIPAV:
(0018, 0050) Slice Thickness<br />
(0018, 0088) Spacing Between Slices<br />


You can also find this information listed in the Essential Image Information section of the image header (Figure 13) as Pixel resolution 2 (i.e., slice thickness) and Slice Spacing.
*[[#CorrelationRatio | Correlation ratio]]
*[[#LaplacianZeroCrossing | Laplacian Zero Crossing]]
*[[#GradientMagnitude | Gradient Magnitude]]
*[[#LeastSquares | Least Squares]]
*[[#NormalizedCrossCorrelation | Normalized Cross Correlation]]
*[[#NormalizedMutualInformation | Normalized Mutual Information]]


<div id="ViewImageAttributes"><div>
== Powell algorithm ==
<div id="ImageAttributes"><div>
=== To view and edit image attributes ===
1 Open an image.<br />
2 Select one of the tabs - Image Attributes &gt; General, or Image Attributes &gt;Orientation/Origin, or Image Attributes &gt; Transformation matrix.<br />
3 In the Transformation matrix tab find values for Pixel resolution 2 and Slice Spacing, or find the values of the DICOM tags Slice Thickness and Spacing Between Slices.<br />


[[File:ImageAttributesDialogBox.jpg |frame|center|Image Attributes dialog box]]
In MIPAV, most of the methods and algorithms use [http://math.fullerton.edu/mathews/n2003/PowellMethodMod.htm the Powell algorithm] to find the global minimum of the chosen cost function. For more information about the Powell algorithm, refer to [http://math.fullerton.edu/mathews/n2003/PowellMethodMod.htm http://math.fullerton.edu/mathews/n2003/PowellMethodMod.htm].


<div id="CorrelationRatio"></div>
== Correlation Ratio ==


Given two images I and R, the basic principle of the Correlation Ratio method is to search for a spatial transformation T and an intensity mapping f such that, by displacing R and remapping its intensities, the resulting image f(R* T) be as similar as possible to I. This could be achieved by minimizing the following correlation ratio function:


<div id="SaveDicomXml"><div>
<math>  
min(T,f) of \displaystyle\sum\limits_{k} {I (x_k)-f(R(T(x_k)))}
</math>


=== To save DICOM images as XML files ===
which integrates over the voxel positions <math>x_k</math> in the image I.
=== Image types ===


The Correct Image Spacing utility works only on XML files.<br />
Correlation Ratio can be used in multimodal image registration of Magnetic Resonance (MR), Computed Tomography (CT), and Positron Emission Tomography (PET) images.
1 Open the DICOM image.<br />
2 Select File &gt; Save Image as in the MIPAV window. The Open dialog box appears.<br />
3 Type the name for the file including the XML extension in File Name.<br />
4 The Select DICOM tags to convert to XML dialog box opens.<br />
5 In the left dialog box window, select tags which you would like to convert to XML. Use the CTRL right mouse button combination of keys to select multiple tags. Then, use the arrows to move selected tags to the right window. See Figure 14 for more information.<br />
6 Press Save to save the file.<br />


<div id="LaplacianZeroCrossing"></div>


{| border="1" cellpadding="5"
== Laplacian Zero-Crossing ==
|+ '''Figure 14. Saving a DICOM image as an XML file'''
|-
|
[[Image:SelectDICOMTAGS.jpg]]
|}


<div id="SaveOtherXml"><div>
The laplacian zero-crossing is a binary edge feature used for edge detection, see also [[Edge Detection: Zero X Laplacian | Edge Detection: Zero X Laplacian algorithm]]. Convolution of an image with a laplacian kernel approximates the 2-nd partial derivative of the image. The laplacian zero-crossing corresponds to points of maximal (or minimal) gradient magnitude. Thus, laplacian zero-crossings represent "good" edge properties and should, therefore, have a low local cost meaning edge detection. If IL(q) is the laplacian of an image I at pixel q, then,
=== To save other images as XML files ===
The Correct Image Spacing utility works only on XML files.<br />
1 Open the image that has spacing problems if you have not already done so.<br />
2 Select File &gt; Save Image as in the MIPAV window. The Open dialog box appears.<br />
3 Type the name for the file including the XML extension in File Name.<br />
4 Select Medical, which includes XML files, in Files of Type.<br />
5 Click OK. The Save Range of Slices dialog box appears. Complete the dialog box and press OK. See Figure 15.<br />
6 The program saves the image as an XML file.<br />


<math>
\begin{cases}
f_Z(q)= 0; if I_L(q) = 0\\
f_Z(q)= 1; if I_L(q)\neq 0
\end{cases}
</math>


{| border="1" cellpadding="5"
Though, application of a discrete laplacian kernel to a digital image produces very few zero-valued pixels. Rather, a zero-crossing is represented by two neighboring pixels that change from positive to negative values. Of these two neighboring pixels, the one closest to zero is used to represent the zero-crossing. The resulting feature cost contains single-pixel wide cost "canyons" used for boundary localization.  
|+ '''Figure 15. The Save Range of Slices dialog box options '''
|-
| rowspan="1" colspan="3" |
<div class="CellBody">General Options</div>
|-
|
<div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">Save image slices to separate files</font>'''</span></div>
|
<div class="CellBody">If checked, allows to save the image slices as separate files. The slices will be saved as files with the file name contains the name of the original image followed by the slice number specified by a user, e.g. <span style="font-style: normal; font-weight: normal; text-decoration: none; text-transform: none; vertical-align: baseline"><font color="#000000">patientX001</font></span>. Here <span style="font-style: normal; font-weight: normal; text-decoration: none; text-transform: none; vertical-align: baseline"><font color="#000000">patientX</font></span> is the name of the original image and <span style="font-style: normal; font-weight: normal; text-decoration: none; text-transform: none; vertical-align: baseline"><font color="#000000">001</font></span> is the number of the slice. Refer to [MIPAV_Utilities.html#1169544 "Understanding contiguous planes' effect on image scanning" on page 423].</div>
| rowspan="2" colspan="1" |
[[Image:SaveRangeofSlicesa.jpg]]
|-
|
<div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">First File Starting Number</font>'''</span></div> <div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">File Name Number of Digits</font>'''</span></div>
|
<div class="CellBody">Set the start counter number and how many digits will appear in the counter number. </div>
|-
| rowspan="1" colspan="3" |
<div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">Choose Range of Slices to Save</font>'''</span></div>
|-
|
<div class="CellBody">First Slice</div>
| rowspan="1" colspan="2" |
<div class="CellBody">Specify the number of the first slice.</div>
|-
|
<div class="CellBody">Last Slice</div>
| rowspan="1" colspan="2" |
<div class="CellBody">Specify the number of the last slice.</div>
|-
| rowspan="1" colspan="3" |
<div class="CellBody">Choose Range of Time Periods to Save</div>
|-
|
<div class="CellBody">First Time period</div>
| rowspan="1" colspan="2" |
<div class="CellBody">Specify the first time period.</div>
|-
|
<div class="CellBody">Last Time Period</div>
| rowspan="1" colspan="2" |
<div class="CellBody">Specify the last time period.</div>
|-
| rowspan="1" colspan="3" |
<div class="CellBody">TIFF options</div>
|-
|
<div class="CellBody">Save with packed bit compression</div>
| rowspan="1" colspan="2" |
<div class="CellBody">Packed bit compression uses a single control byte to indicate how the next byte or series of bytes will be used. The high bit in the control byte indicates if the following byte or bytes should be a used as a series or should be used as individual bytes. The remaining 7 bits indicate the number of bytes that are indicated in the control byte.</div>
|-
|
<div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">OK</font>'''</span></div>
| rowspan="1" colspan="2" |
<div class="CellBody">Applies the changes you made in this dialog box, saves the image as a range of slices, and closes the dialog box.</div>
|-
|
<div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">Cancel</font>'''</span></div>
| rowspan="1" colspan="2" |
<div class="CellBody">Disregards any changes you made in this dialog box, closes the dialog box, and does not save the image as a range of slices.</div>
|-
|
<div class="CellBody"><span style="font-style: normal; text-decoration: none; text-transform: none; vertical-align: baseline">'''<font color="#000000">Help</font>'''</span></div>
| rowspan="1" colspan="2" |
<div class="CellBody">Displays online help for this dialog box.</div>
|}


<div id="CorrectImageSpacing"><div>
<div id="GradientMagnitude"></div>
=== To correct image spacing ===
== Gradient Magnitude ==


1 Open the image that contains spacing problems. <br />
Gradient Magnitude provides a direct correlation between the edge strength and local cost. If <math>I_x</math> and <math>I_y</math> represent the partials of an image I in X and Y directions respectively, then the gradient magnitude G is approximated with the following formula:
<br clear="all" />To determine whether images contain spacing problems, remember to view them using the triplanar view or to view the header file.<br />
2 Save the image as an XML file.<br />
3 Select Utility &gt; Correct Image Spacing. <br />
*If the image file does have spacing problems, then the program runs the utility. <br />
*If the image spacing is correct, the program displays a message indicating that the spacing is correct.<br />


[[Cropping images]]
<math>
G=\sqrt{I^2_x + I^2_y}
</math>
 
The gradient is then scaled and inverted, so high gradients produce low costs and vice-versa. Thus, the gradient component function is
 
<math>
f_G =  \frac{max(G)-G}{max(G)} =1 - \frac{G}{max(G)}
</math>
 
Finally, gradient magnitude costs can be scaled by Euclidean distance. To keep the resulting maximum gradient at unity, <math>f_G(q)</math> can be scaled by 1, if q is a diagonal neighbor to p and by <math>\frac {1}{\sqrt{2}}</math>, if q is a horizontal or vertical neighbor.
 
<div id="LeastSquares"></div>
== Least Squares ==
 
Least squares measures the average of the squared difference in image intensities.
 
<math>
\frac{\sum_{i=1}^{N}\{R(p_i) - I(p_i)\}^2}{N}
</math>
 
Where,
*R(p_i) = reference image(p_i) - minimum reference image value
*I(p_i) = input image(p_i) - minimum input image value
*N = the number of values over which the sum is performed
 
It can be divided by count to normalize the cost function or make it invariant to the number of voxels in the region of overlap. If two images show large differences in image intensity, then we recommend using Scaled Least Squares with a global scaling term added:
 
<math>
\frac{\sum_{i=1}^{N}\{R(p_i) - s*I(p_i)\}^2}{N}
</math>
 
=== Image types ===
 
It can be shown that Least Squares is the optimum cost function when two images only differ by Gaussian noise. Images in two different modalities, such as PET and MRI, will never differ by only Gaussian noise. Even two images in the same modality, such as two PET images, will seldom only differ by Gaussian noise as medical scan noise is frequently not Gaussian and because the object often changes between the image acquisitions. The effectiveness of this cost function will be greatly diminished by small numbers of voxels having large intensity differences.
 
<div id="NormalizedCrossCorrelation"></div>
 
== Normalized Cross Correlation ==
 
The Cross-Correlation function can be defined as
 
<math>
CrossCorr(s,t) = \sum_{x}\sum_{y}R(x,y)I(x-s, y-t)
</math>
 
Where,
*R-reference image intensity
*I-input image intensity
 
The summation is taken over the region (s,t) where R and I overlap. For any value of (s,t) inside R(x,y) the cross-correlation function yields one value of CrossCorr. The maximum value of CrossCorr(s,t) indicates the position where I(x,y) best matches R(x,y).
 
Normalized Cross Correlation is 0 for identical images and approaches 1 for images that are very different.
 
=== Image types ===
 
The Cross-Correlation function can be used for aligning the images that have a linear relationship between the intensity values in the images. E.g. images acquired using the same modality. However, the Normalized Cross-Correlation may not work very well in two images that are identical except for a global scaling factor.
 
<div id="NormalizedMutualInformation"></div>
 
== Normalized Mutual Information ==
 
Mutual information (MI) measures how well one image explains the other. In medical image processing, MI is often used as
*a similarity measure for image registration for images that were acquired at different times or by different modalities and
*for combining multiple images to build 3D models.
 
The mutual information  of random variables A and B is defined as:
 
<math>
MI(A,B) = \sum_{ab}p(a,b) log \frac{p(a,b)}{p(a) p(b)}
</math>
 
Where, p(a,b) is the joint probability distribution function of A and B, and p(a) and p(b) are the marginal probability distribution functions of A and B respectively.
 
MI could also be defined as MI(A,B) = H(A) + H(B)-H(A,B),
 
Where H(A) and H(B) are the [http://www.pandasthumb.org/archives/2004/05/shannon-entropy.html Shannon entropy] of image A and B respectively, computed  based on the probability distributions of their grey values. And H(A,B) denotes the conditional entropy, which is based on the conditional probabilities p(a |b) - the chance of grey value a in image A given that the corresponding voxel in B has grey value b. MI measures the distance between the joint distributions of the images' gray values p(a,b) and the distribution when assume that images are independent from each other.
 
=== Normalized mutual information ===
Normalized mutual information can be calculated as normalized MI, where
<math>NMI(A,B) = (H(A) + H(B))/H(A,B)</math>.
 
=== Image types ===
 
The normalized mutual information has been shown to work very well for registering multi-modality images and also time series images. In MIPAV the normalized mutual information approaches 0 for identical images and approaches 1 for images that are very different.
 
== References ==
 
Bjorn Hamre "Three-dimensional image registration of magnetic resonance (MRI) head volumes" Section for Medical Image Analysis and Informatics Department of Physiology & Department of Informatics University of Bergen, Norway.
 
Woods R.P., Handbook of Medical Image Processing and Analysis, Chapter 33 "Within-Modality Registration Using Intensity-Based Cost Functions", Editor, Isaac N. Bankman, Academic Press, 2000, pp. 529-553.
 
Mortensen E., Barrett W., "Intelligent scissors for image composition", International Conference on Computer Graphics and Interactive Techniques archive. Proceedings of the 22-nd annual conference on Computer graphics and interactive techniques, pp. 191 - 198, 1995, ISBN:0-89791-701-4.
 
Josien P. W. Pluim, J. B. Antoine Maintz and Max A. Viergever. Mutual information based registration of medical images: a survey. IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. XX, NO. Y, MONTH 2003.
 
Powell method to find the global minimum: [http://math.fullerton.edu/ mathews/n2003/PowellMethodMod.html http://math.fullerton.edu/ mathews/n2003/PowellMethodMod.html]
 
== See also ==
*[http://mipav.cit.nih.gov/wiki/index.php/Main_Page MIPAV WIKI]
*[[Using MIPAV Algorithms]]
*[[Degrees of freedom]]


[[Category:Help]]
[[Category:Help]]
[[Category:Help:Algorithms]]

Revision as of 18:07, 18 May 2012

A similarity or cost function measures the similarity between two images. During the registration the adjusted image V is transformed using the various transformation functions. And the similarity S(U;Vt) between the reference image U and transformed image Vt is then calculated.

Note: in MIPAV, we use the term cost function to refer to the negative cost function. That means that we assume that the transformation that gives the smallest value of the chosen inverse cost function is the transformation that also gives the best alignment.

Background

The plots of the Correlation Ratio cost function versus some of the individual parameter values. In each plot (A, B, C, and D), a single parameter is varied while the other are kept constant

For the registration algorithms, such as OAR, the main approach for determining an optimal transformation is to

  1. Calculate a cost function,
  2. Determine how it changes as individual transformation parameters are varied,
  3. And find the parameters that minimize the value of the cost function.

The following figure (right) shows a plot of a sample cost function for a selection of transformation parameters.

The cost functions implemented in MIPAV:

Powell algorithm

In MIPAV, most of the methods and algorithms use the Powell algorithm to find the global minimum of the chosen cost function. For more information about the Powell algorithm, refer to http://math.fullerton.edu/mathews/n2003/PowellMethodMod.htm.

Correlation Ratio

Given two images I and R, the basic principle of the Correlation Ratio method is to search for a spatial transformation T and an intensity mapping f such that, by displacing R and remapping its intensities, the resulting image f(R* T) be as similar as possible to I. This could be achieved by minimizing the following correlation ratio function:

which integrates over the voxel positions in the image I.

Image types

Correlation Ratio can be used in multimodal image registration of Magnetic Resonance (MR), Computed Tomography (CT), and Positron Emission Tomography (PET) images.

Laplacian Zero-Crossing

The laplacian zero-crossing is a binary edge feature used for edge detection, see also Edge Detection: Zero X Laplacian algorithm. Convolution of an image with a laplacian kernel approximates the 2-nd partial derivative of the image. The laplacian zero-crossing corresponds to points of maximal (or minimal) gradient magnitude. Thus, laplacian zero-crossings represent "good" edge properties and should, therefore, have a low local cost meaning edge detection. If IL(q) is the laplacian of an image I at pixel q, then,

Though, application of a discrete laplacian kernel to a digital image produces very few zero-valued pixels. Rather, a zero-crossing is represented by two neighboring pixels that change from positive to negative values. Of these two neighboring pixels, the one closest to zero is used to represent the zero-crossing. The resulting feature cost contains single-pixel wide cost "canyons" used for boundary localization.

Gradient Magnitude

Gradient Magnitude provides a direct correlation between the edge strength and local cost. If and represent the partials of an image I in X and Y directions respectively, then the gradient magnitude G is approximated with the following formula:

The gradient is then scaled and inverted, so high gradients produce low costs and vice-versa. Thus, the gradient component function is

Finally, gradient magnitude costs can be scaled by Euclidean distance. To keep the resulting maximum gradient at unity, can be scaled by 1, if q is a diagonal neighbor to p and by , if q is a horizontal or vertical neighbor.

Least Squares

Least squares measures the average of the squared difference in image intensities.

Where,

  • R(p_i) = reference image(p_i) - minimum reference image value
  • I(p_i) = input image(p_i) - minimum input image value
  • N = the number of values over which the sum is performed

It can be divided by count to normalize the cost function or make it invariant to the number of voxels in the region of overlap. If two images show large differences in image intensity, then we recommend using Scaled Least Squares with a global scaling term added:

Image types

It can be shown that Least Squares is the optimum cost function when two images only differ by Gaussian noise. Images in two different modalities, such as PET and MRI, will never differ by only Gaussian noise. Even two images in the same modality, such as two PET images, will seldom only differ by Gaussian noise as medical scan noise is frequently not Gaussian and because the object often changes between the image acquisitions. The effectiveness of this cost function will be greatly diminished by small numbers of voxels having large intensity differences.

Normalized Cross Correlation

The Cross-Correlation function can be defined as

Where,

  • R-reference image intensity
  • I-input image intensity

The summation is taken over the region (s,t) where R and I overlap. For any value of (s,t) inside R(x,y) the cross-correlation function yields one value of CrossCorr. The maximum value of CrossCorr(s,t) indicates the position where I(x,y) best matches R(x,y).

Normalized Cross Correlation is 0 for identical images and approaches 1 for images that are very different.

Image types

The Cross-Correlation function can be used for aligning the images that have a linear relationship between the intensity values in the images. E.g. images acquired using the same modality. However, the Normalized Cross-Correlation may not work very well in two images that are identical except for a global scaling factor.

Normalized Mutual Information

Mutual information (MI) measures how well one image explains the other. In medical image processing, MI is often used as

  • a similarity measure for image registration for images that were acquired at different times or by different modalities and
  • for combining multiple images to build 3D models.

The mutual information of random variables A and B is defined as:

Where, p(a,b) is the joint probability distribution function of A and B, and p(a) and p(b) are the marginal probability distribution functions of A and B respectively.

MI could also be defined as MI(A,B) = H(A) + H(B)-H(A,B),

Where H(A) and H(B) are the Shannon entropy of image A and B respectively, computed based on the probability distributions of their grey values. And H(A,B) denotes the conditional entropy, which is based on the conditional probabilities p(a |b) - the chance of grey value a in image A given that the corresponding voxel in B has grey value b. MI measures the distance between the joint distributions of the images' gray values p(a,b) and the distribution when assume that images are independent from each other.

Normalized mutual information

Normalized mutual information can be calculated as normalized MI, where .

Image types

The normalized mutual information has been shown to work very well for registering multi-modality images and also time series images. In MIPAV the normalized mutual information approaches 0 for identical images and approaches 1 for images that are very different.

References

Bjorn Hamre "Three-dimensional image registration of magnetic resonance (MRI) head volumes" Section for Medical Image Analysis and Informatics Department of Physiology & Department of Informatics University of Bergen, Norway.

Woods R.P., Handbook of Medical Image Processing and Analysis, Chapter 33 "Within-Modality Registration Using Intensity-Based Cost Functions", Editor, Isaac N. Bankman, Academic Press, 2000, pp. 529-553.

Mortensen E., Barrett W., "Intelligent scissors for image composition", International Conference on Computer Graphics and Interactive Techniques archive. Proceedings of the 22-nd annual conference on Computer graphics and interactive techniques, pp. 191 - 198, 1995, ISBN:0-89791-701-4.

Josien P. W. Pluim, J. B. Antoine Maintz and Max A. Viergever. Mutual information based registration of medical images: a survey. IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. XX, NO. Y, MONTH 2003.

Powell method to find the global minimum: mathews/n2003/PowellMethodMod.html http://math.fullerton.edu/ mathews/n2003/PowellMethodMod.html

See also