IPSDK 0.2
IPSDK : Image Processing Software Development Kit
Multiplication between images with different dimensionsSee full documentation
imagegenericMultiplyImgImg (inImg1,inImg2)

Detailed Description

Multiply images with different dimensions.

Multiplication of 2 images with different dimensions (volume with plan, volume color with volume...). The image with the highest dimensions is always have to be the first one.

The output image values are given by:

\[ OutImg[i] = InImg1[i] \times InImg2[i] \]

See Addition between images with different dimensions for an illustrated example.

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLArithmetic as arithm

Code Example

# opening input images
inGeometry = PyIPSDK.geometry2d(PyIPSDK.eImageBufferType.eIBT_UInt8, 510, 509)
inImg1 = PyIPSDK.loadTiffImageFile(inputImg1Path)
inImg2 = PyIPSDK.loadTiffImageFile(inputImg2Path)
# images multiplication
outImg = arithm.genericMultiplyImgImg(inImg1, inImg2)

Example of C++ code :

Example informations

Header file

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

Code Example

// open input images with different dimensions (3d and 2d in this case)
ImageGeometryPtr pInputImageGeometry1 = geometry3d(inType, sizeX, sizeY, sizeZ);
ImagePtr pInImg1 = loadRawImageFile(in1Path, *pInputImageGeometry1);
ImageGeometryPtr pInputImageGeometry2 = geometry2d(inType, sizeX, sizeY);
ImagePtr pInImg2 = loadRawImageFile(in2Path, *pInputImageGeometry2);
// Compute multiplication of input images
ImagePtr pOutImgAuto = genericMultiplyImgImg(pInImg1, pInImg2);
// Or create output image with the same dimensions than the first image
ImageGeometryPtr pOutputImageGeometry = geometry3d(inType, sizeX, sizeY, sizeZ);
boost::shared_ptr<MemoryImage> pOutImg(boost::make_shared<MemoryImage>());
pOutImg->init(*pOutputImageGeometry);
// compute multiplication of input images
genericMultiplyImgImg(pInImg1, pInImg2, pOutImg);