<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cuvilib.com/index.php?action=history&amp;feed=atom&amp;title=Function%3AFPNCorrection</id>
	<title>Function:FPNCorrection - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cuvilib.com/index.php?action=history&amp;feed=atom&amp;title=Function%3AFPNCorrection"/>
	<link rel="alternate" type="text/html" href="https://wiki.cuvilib.com/index.php?title=Function:FPNCorrection&amp;action=history"/>
	<updated>2026-08-12T07:48:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.cuvilib.com/index.php?title=Function:FPNCorrection&amp;diff=1760&amp;oldid=prev</id>
		<title>Jawad: Created page with &quot;__NOTOC__ Removes fixed point camera noise from the image using a more robust method than Function:fpn. In addition to black image, the function also takes a white image and gain value to remove noise from the input image using the internal formula: ''dst[i] = Saturate(gain * (src[i]- black[i])/(white[i] - black[i]),0,maxValue)''; ====Function==== {| |style=&quot;font-size:100%;&quot;| &lt;syntaxhighlight lang=&quot;cpp&quot;&gt; CuviStatus FPNCorrection(const CuviImage&amp; src,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cuvilib.com/index.php?title=Function:FPNCorrection&amp;diff=1760&amp;oldid=prev"/>
		<updated>2022-11-07T07:08:01Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ Removes fixed point camera noise from the image using a more robust method than &lt;a href=&quot;/index.php/Function:Fpn&quot; title=&quot;Function:Fpn&quot;&gt;Function:fpn&lt;/a&gt;. In addition to black image, the function also takes a white image and gain value to remove noise from the input image using the internal formula: &amp;#039;&amp;#039;dst[i] = Saturate(gain * (src[i]- black[i])/(white[i] - black[i]),0,maxValue)&amp;#039;&amp;#039;; ====Function==== {| |style=&amp;quot;font-size:100%;&amp;quot;| &amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt; CuviStatus FPNCorrection(const CuviImage&amp;amp; src,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
Removes fixed point camera noise from the image using a more robust method than [[Function:fpn]]. In addition to black image, the function also takes a white image and gain value to remove noise from the input image using the internal formula: ''dst[i] = Saturate(gain * (src[i]- black[i])/(white[i] - black[i]),0,maxValue)'';&lt;br /&gt;
====Function====&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;font-size:100%;&amp;quot;|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CuviStatus FPNCorrection(const CuviImage&amp;amp; src,&lt;br /&gt;
                         CuviImage&amp;amp; dst,&lt;br /&gt;
                         const CuviImage&amp;amp; white, &lt;br /&gt;
                         const CuviImage&amp;amp; black, &lt;br /&gt;
                         Cuvi32f gain,&lt;br /&gt;
                         const CuviStream&amp;amp; stream)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Parameters====&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;font-size:75%;&amp;quot;|&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name	&lt;br /&gt;
! Type	&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| src&lt;br /&gt;
| CuviImage&amp;amp;&lt;br /&gt;
| Source Image with noise&lt;br /&gt;
|-&lt;br /&gt;
| dst&lt;br /&gt;
| CuviImage&amp;amp;&lt;br /&gt;
| Resultant Image with no noise&lt;br /&gt;
|-&lt;br /&gt;
| white&lt;br /&gt;
| CuviImage&amp;amp;&lt;br /&gt;
| White image from camera&lt;br /&gt;
|-&lt;br /&gt;
| black&lt;br /&gt;
| CuviImage&amp;amp;&lt;br /&gt;
| Black image from camera with closed shutter&lt;br /&gt;
|-&lt;br /&gt;
| gain&lt;br /&gt;
| Cuvi32f&lt;br /&gt;
| Gain value for white correction&lt;br /&gt;
|-&lt;br /&gt;
| stream &lt;br /&gt;
| CuviStream&amp;amp;&lt;br /&gt;
| GPU stream ID for execution&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Image Type Support===&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;font-size:75%;&amp;quot;|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! output&lt;br /&gt;
! input&lt;br /&gt;
! blackImage&lt;br /&gt;
|-&lt;br /&gt;
| 8uC1&lt;br /&gt;
| 8uC1&lt;br /&gt;
| 8uC1&lt;br /&gt;
|-&lt;br /&gt;
| 16uC1&lt;br /&gt;
| 16uC1&lt;br /&gt;
| 16uC1&lt;br /&gt;
|-&lt;br /&gt;
| 8uC3&lt;br /&gt;
| 8uC3&lt;br /&gt;
| 8uC3&lt;br /&gt;
|-&lt;br /&gt;
| 16uC3&lt;br /&gt;
| 16uC3&lt;br /&gt;
| 16uC3&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;font-size:100%;&amp;quot;|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CuviImage src= cuvi::io::loadImage(path);&lt;br /&gt;
CuviImage black= cuvi::io::loadImage(path);&lt;br /&gt;
CuviImage white= cuvi::io::loadImage(path);&lt;br /&gt;
CuviImage src;&lt;br /&gt;
Cuvi32f gain = 1.15f;&lt;br /&gt;
&lt;br /&gt;
//fpn&lt;br /&gt;
cuvi::colorOperations::FPNCorrection(const CuviImage&amp;amp; src,&lt;br /&gt;
                                     CuviImage&amp;amp; dst,&lt;br /&gt;
                                     const CuviImage&amp;amp; white,&lt;br /&gt;
                                     const CuviImage&amp;amp; black, &lt;br /&gt;
                                     Cuvi32f gain)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jawad</name></author>
	</entry>
</feed>