<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Category%3ASingular_integrals</id>
	<title>Category:Singular integrals - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Category%3ASingular_integrals"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Category:Singular_integrals&amp;action=history"/>
	<updated>2026-04-22T09:25:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0-wmf.28</generator>
	<entry>
		<id>https://en.formulasearchengine.com/index.php?title=Category:Singular_integrals&amp;diff=22621&amp;oldid=prev</id>
		<title>193.178.155.99 at 12:11, 13 October 2009</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Category:Singular_integrals&amp;diff=22621&amp;oldid=prev"/>
		<updated>2009-10-13T12:11:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A &amp;#039;&amp;#039;&amp;#039;summed area table&amp;#039;&amp;#039;&amp;#039; (also known as an &amp;#039;&amp;#039;&amp;#039;integral image&amp;#039;&amp;#039;&amp;#039;) is a [[data structure]] and [[algorithm]] for quickly and efficiently generating the sum of values in a rectangular subset of a grid. It was first introduced to [[computer graphics]] in 1984 by [[Franklin C. Crow|Frank Crow]] for use with [[mipmap]]s. In [[computer vision]], it was first prominently used within the [[Viola–Jones object detection framework]] in 2002. However, historically, this principle is very well known in the study of multi-dimensional probability distribution functions, namely in computing 2D (or ND) probabilities (area under the probability distribution) from the respective [[cumulative distribution function]]s.&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
  | first = Amir&lt;br /&gt;
  | last = Finkelstein&lt;br /&gt;
  | authorlink =&lt;br /&gt;
  | coauthors = &lt;br /&gt;
  | title = Double Integrals By Summing Values Of Cumulative Distribution Function&lt;br /&gt;
  | booktitle = Wolfram Demonstration Project&lt;br /&gt;
  | pages = &lt;br /&gt;
  | year = 2010 &lt;br /&gt;
  | url = http://demonstrations.wolfram.com/DoubleIntegralsBySummingValuesOfACumulativeDistributionFunct/ }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The algorithm==&lt;br /&gt;
&lt;br /&gt;
As the name suggests, the value at any point (&amp;#039;&amp;#039;x&amp;#039;&amp;#039;,&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;) in the summed area table is just the sum of all the pixels above and to the left of (&amp;#039;&amp;#039;x&amp;#039;&amp;#039;,&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;), inclusive:&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
  | first = Franklin&lt;br /&gt;
  | last = Crow&lt;br /&gt;
  | authorlink =&lt;br /&gt;
  | coauthors = &lt;br /&gt;
  | title = Summed-area tables for texture mapping&lt;br /&gt;
  | booktitle = SIGGRAPH &amp;#039;84: Proceedings of the 11th annual conference on Computer graphics and interactive techniques&lt;br /&gt;
  | pages = 207–212&lt;br /&gt;
  | year = 1984 &lt;br /&gt;
  | url = http://www.soe.ucsc.edu/classes/cmps160/Fall05/papers/p207-crow.pdf }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
  | first = Paul&lt;br /&gt;
  | last = Viola&lt;br /&gt;
  | authorlink =&lt;br /&gt;
  | coauthors = Jones, Michael&lt;br /&gt;
  | title = Robust Real-time Object Detection&lt;br /&gt;
  | booktitle = International Journal of Computer Vision&lt;br /&gt;
  | pages = &lt;br /&gt;
  | year = 2002 &lt;br /&gt;
  | url = http://www.hpl.hp.com/techreports/Compaq-DEC/CRL-2001-1.pdf }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
: &amp;lt;math&amp;gt; I(x,y) = \sum_{\begin{smallmatrix} x&amp;#039; \le x \\ y&amp;#039; \le y\end{smallmatrix}} i(x&amp;#039;,y&amp;#039;)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moreover, the summed area table can be computed efficiently in a single pass over the image, using the fact that the value in the summed area table at (&amp;#039;&amp;#039;x&amp;#039;&amp;#039;,&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;) is just:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; I(x,y) = i(x,y) + I(x-1,y) + I(x,y-1) - I(x-1,y-1)\,&amp;lt;/math&amp;gt;&lt;br /&gt;
[[Image:Prm VJ fig3 computeRectangleWithAlpha.png|thumb|right|Finding the sum of a rectangular area]]&lt;br /&gt;
&lt;br /&gt;
Once the summed area table has been computed, the task of evaluating any rectangle can be accomplished in constant time with just four array references. Specifically, using the notation in the figure at right, having A=(x0, y1), B=(x1, y1), C=(x1, y0) and D=(x0, y0), the sum of &amp;lt;math&amp;gt;i(x,y)&amp;lt;/math&amp;gt; over the rectangle spanned by A, B,C and D is just&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;\sum_{\begin{smallmatrix} x0 \le x \le x1 \\ y0 \le y \le y1 \end{smallmatrix}} i(x,y) = I(C) + I(A) - I(B) - I(D).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Extensions==&lt;br /&gt;
This method is naturally extended to continuous domains.&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
  | first = Amir&lt;br /&gt;
  | last = Finkelstein&lt;br /&gt;
  | authorlink =&lt;br /&gt;
  | coauthors = neeratsharma&lt;br /&gt;
  | title = Double Integrals By Summing Values Of Cumulative Distribution Function&lt;br /&gt;
  | booktitle = Wolfram Demonstration Project&lt;br /&gt;
  | pages = &lt;br /&gt;
  | year = 2010 &lt;br /&gt;
  | url = http://demonstrations.wolfram.com/DoubleIntegralsBySummingValuesOfACumulativeDistributionFunct/ }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The method can be also extended to high dimensional images.&amp;lt;ref&amp;gt;{{cite journal|last=Tapia|first=Ernesto|title=A note on the computation of high-dimensional integral images|journal=Pattern Recognition Letters|date=January 2011|volume=32|issue=2|doi=10.1016/j.patrec.2010.10.007}}&amp;lt;/ref&amp;gt; If the corners of the rectangle are &amp;lt;math&amp;gt;x^p&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; in &amp;lt;math&amp;gt;\{0,1\}^d&amp;lt;/math&amp;gt;, then the sum of image values contained in the rectangle are computed with the formula&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; \sum_{p\in\{0,1\}^d }(-1)^{d-\|p\|_1} I(x^p) \,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I(x)&amp;lt;/math&amp;gt; is the integral image at &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; the image dimension. The notation &amp;lt;math&amp;gt;x^p&amp;lt;/math&amp;gt; correspond in the example to &amp;lt;math&amp;gt;d=2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A=x^{(0,0)}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;B=x^{(1,0)}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;C=x^{(1,1)}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;D=x^{(0,1)}&amp;lt;/math&amp;gt;. In [[neuroimaging]], for example, the images have dimension &amp;lt;math&amp;gt;d=3&amp;lt;/math&amp;gt; or &amp;lt;math&amp;gt;d=4&amp;lt;/math&amp;gt;, when using [[voxel]]s or voxels with time-stamp.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
; Lecture videos:&lt;br /&gt;
* [http://www.youtube.com/watch?v=mM5JY-Q6hiM An introduction to the theory behind the integral image algorithm]&lt;br /&gt;
* [http://www.youtube.com/watch?v=-SI117NdjJ8 A demonstration to a continuous version of the integral image algorithm, from the Wolfram Demonstrations Project]&lt;br /&gt;
&lt;br /&gt;
[[Category:Digital geometry]]&lt;br /&gt;
[[Category:Computer graphics data structures]]&lt;/div&gt;</summary>
		<author><name>193.178.155.99</name></author>
	</entry>
</feed>