IPSDK 4.1.0.2
IPSDK : Image Processing Software Development Kit
L2 Norm (Euclidian) of 3 images
imagel2Norm3Img (inImg1,inImg2,inImg3)

Detailed Description

Computation of L2 (euclidian) norm of three images algorithm.

This algorithm allows to compute L2 norm (euclidian norm) of three images. Given three input images $InImg1$, $InImg2$ and $InImg3$, output image values are defined by :

\[ OutImg[i] = \sqrt{InImg1^2[i]+InImg2^2[i]+InImg3^2[i]} \]

Here is an example of a L2 norm computation applied to three floating point grey level input images :

l2Norm3Img.png
See also
http://en.wikipedia.org/wiki/Norm_%28mathematics%29#Euclidean_norm

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLArithmetic as arithm

Code Example

# opening of input image
inImg1 = PyIPSDK.loadTiffImageFile(inputImg1Path)
inImg2 = PyIPSDK.loadTiffImageFile(inputImg2Path)
inImg3 = PyIPSDK.loadTiffImageFile(inputImg3Path)
# computation of L2 norm of the 3 input images
outImg = arithm.l2Norm3Img(inImg1, inImg2, inImg3)

Example of C++ code :

Example informations

Header file

#include <IPSDKIPL/IPSDKIPLArithmetic/Processor/L2Norm3Img/L2Norm3Img.h>

Code Example

// opening input image
ImagePtr pInImg = loadTiffImageFile(inputImgPath);
// compute gradient on input image
GradientXYZImg gradientXYZ = gaussianGradient3dImg(pInImg, 3.0f);
// compute norm on previous gradients
ImagePtr pOutImg = l2Norm3Img(gradientXYZ._pXGradImg, gradientXYZ._pYGradImg, gradientXYZ._pZGradImg);