IPSDK 0.2
IPSDK : Image Processing Software Development Kit
Statistics measurement 2dSee full documentation
StatsResultstatsMsr2d (inImg)

Detailed Description

measure of common statistics indicators in an image (mean, max, etc.) for each 2d plan

This algorithm computes statistic measurements for each 2d plan of the input image.

In other words, the results will be computed :

Two wrappers can be called : the statsMsr2d wrapper is only used to compute the statistic measurements on a grey level 2d image, whereas the multiSlice_statsMsr2d wrapper must be used for more complex data (volume, sequence and/or color).

See ipsdk::imaproc::attr::StatsResult for a complete list of image statistic measurements processed by this algorithm.

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLGlobalMeasure as glbmsr

Code Example

# opening of input image
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
# statistics measurement
statsMsrResult = glbmsr.statsMsr2d(inImg)
# retrieve measurement results
mean = statsMsrResult.mean
print("Mean value for image is " + str(mean))

Example of C++ code :

Example informations

Header file

#include <IPSDKIPL/IPSDKIPLGlobalMeasure/Processor/StatsMsr2d/StatsMsr2d.h>

Code Example

// ------------ Calculation on a mono-slice grey level image ------------ //
// Load the input image
ImagePtr pInImg = loadTiffImageFile(inImgPath);
// Compute statistics on input image
StatsResultPtr pStatsRes = statsMsr2d(pInImg);
// Retrieve the results as scalar variables
const ipUInt64 uPixCount = pStatsRes->getValue<StatsResult::PixCount>();
const ipReal64 fSum = pStatsRes->getValue<StatsResult::Sum>();
const ipReal64 fMean = pStatsRes->getValue<StatsResult::Mean>();
const ipReal64 fStdDev = pStatsRes->getValue<StatsResult::StdDev>();
const ipReal64 fMin = pStatsRes->getValue<StatsResult::Min>();
const ipReal64 fMax = pStatsRes->getValue<StatsResult::Max>();
// --------------- Calculation on a multi-slice RGB image -------------- //
// Load the input image
ImagePtr pInImg_multiSlice = loadTiffImageFile(inImgPath_multiSlice);
// Compute statistics on input image
PlanIndexedStatsResultPtr pStatsRes_multiSlice = multiSlice_statsMsr2d(pInImg_multiSlice);
// Retrieve the results as scalar variables for the channel 1 (Green color)
const ipUInt64 c = 1;
const ipUInt64 uPixCount_multiSlice = pStatsRes_multiSlice->getValue(0, c, 0).getNode<StatsResult::PixCount>().getValue();
const ipReal64 fSum_multiSlice = pStatsRes_multiSlice->getValue(0, c, 0).getNode<StatsResult::Sum>().getValue();
const ipReal64 fMean_multiSlice = pStatsRes_multiSlice->getValue(0, c, 0).getNode<StatsResult::Mean>().getValue();
const ipReal64 fStdDev_multiSlice = pStatsRes_multiSlice->getValue(0, c, 0).getNode<StatsResult::StdDev>().getValue();
const ipReal64 fMin_multiSlice = pStatsRes_multiSlice->getValue(0, c, 0).getNode<StatsResult::Min>().getValue();
const ipReal64 fMax_multiSlice = pStatsRes_multiSlice->getValue(0, c, 0).getNode<StatsResult::Max>().getValue();