IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Functions

Algorithm allowing to concatenate two image sequences. More...

Functions

IPSDKIPLUTILITY_API ipsdk::image::ImagePtr ipsdk::imaproc::util::appendSeqImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2)
 wrapper function for image comparison algorithm More...
 

Detailed Description

Algorithm allowing to concatenate two image sequences.

This algorithm allows to concatenate two image sequences.

Images must have same size in X, Y, Z, and C, and same color geometry type and volume geometry type.

Given two input images $ InImg1 $ and $ InImg2 $, output image values are given by :

\[ OutImg[x, y, z, c, t] = \begin{cases} InImg1[x, y, z, c, t] & \text { if } t < sizeT1 \\ InImg2[x, y, z, c, t-sizeT1] \text { otherwise} \end{cases} \]

and number of elements in sequence of $ OutImg $ equals to $ sizeT1+sizeT2 $, with sizeT1 the number of elements in sequence of $ InImg1 $ and sizeT2 the number of elements in sequence of $ InImg2 $

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg1 [Input] First image for processing operation X
ipsdk::imaproc::attr::InImg2 [Input] Second image for processing operation X
ipsdk::imaproc::attr::OutImg [Output] image for processing operation customOutput (_pOutImg, outputAppendSeq(_pInImg1,_pInImg2))

Global Rule description

Global rule description for algorithm :
ipsdk::imaproc::matchSize (eMatchImageSizeType::eMIST_XYZC,_pInImg1,_pInImg2) && 
ipsdk::imaproc::noInSitu (_pInImg2,_pOutImg) && 
ipsdk::imaproc::matchVolumeGeometryType (_pInImg1,_pInImg2) && 
ipsdk::imaproc::matchColorGeometryType (_pInImg1,_pInImg2) && 
(ipsdk::processor::If (
  ipsdk::imaproc::isInSitu (_pInImg1,_pOutImg),
  ipsdk::imaproc::imageBaseType (_pInImg1,image::eImageBaseType::eIBT_Complete) && 
  ipsdk::imaproc::imageType (_pInImg1,image::eImageType::eIT_Memory),
  ipsdk::imaproc::matchSize (eMatchImageSizeType::eMIST_XYZC,_pInImg1,_pOutImg) && 
  ipsdk::imaproc::matchVolumeGeometryType (_pInImg1,_pOutImg) && 
  ipsdk::imaproc::matchColorGeometryType (_pInImg1,_pOutImg) && 
  ipsdk::imaproc::customImageProperty (_pOutImg,
   matchAppendSeq (_pInImg1,_pInImg2))))

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLUtility as util

Code Example

# opening of input images
inImg1 = PyIPSDK.loadTiffImageFile(inputImg1Path, PyIPSDK.eTiffDirectoryMode.eTDM_Temporal)
inImg2 = PyIPSDK.loadTiffImageFile(inputImg2Path, PyIPSDK.eTiffDirectoryMode.eTDM_Temporal)
# concatenation of sequences
outImg = util.appendSeqImg(inImg1, inImg2)

Example of C++ code :

Example informations

Associated library

IPSDKIPLUtility

Header file

Code Example

// opening input images
ImagePtr pInImg1 = loadTiffImageFile(inputImg1Path, eTiffDirectoryMode::eTDM_Temporal);
if(inImageBufferType != pInImg1->getBufferType())
pInImg1 = convertImg(pInImg1, inImageBufferType);
ImagePtr pInImg2 = loadTiffImageFile(inputImg2Path, eTiffDirectoryMode::eTDM_Temporal);
if(inImageBufferType != pInImg2->getBufferType())
pInImg2 = convertImg(pInImg2, inImageBufferType);
ImagePtr pAutoOutImg = appendSeqImg(pInImg1, pInImg2);
See also
AppendSeqImgLvl1

Function Documentation

◆ appendSeqImg()

IPSDKIPLUTILITY_API ipsdk::image::ImagePtr ipsdk::imaproc::util::appendSeqImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2 
)

wrapper function for image comparison algorithm

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure