IPSDK 4.1
IPSDK : Image Processing Software Development Kit
Extract image 3d values
DoublesextractImg3dValues (inImg3d,inCoords3dColl)
DoublesextractImg3dValues (inImg3d,inCoords3dColl,inOptInterpolationPolicy)
DoublesextractImg3dValues (inImg3d,inCoords3dColl,inOptInterpolationPolicy,inOptImageValueExtractionMethod)

Detailed Description

extract values at specific coordinates from a 3d image

This algorithm allows to extract grey level values from an input 3d image.

If input image is a multi volume image (ie. sequence or color image), each plane is processed separatly.

Given a collection of input 3d coordinates $InPICoords3dColl$, algorithm extracts an associated collection of grey level values $OutPIImgGreyValues$ from input image $InImg3d$. User can specify an optional interpolation policy $InOptInterpolationPolicy$ (see enumerate ipsdk::imaproc::attr::eInterpolationPolicy) used to extract values from image.

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLUtility as util

Code Example

# opening of input image
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
# create a coordinates collection
inCoordsColl = PyIPSDK.createCoords3dColl()
inCoordsColl.addCoords(50.1, 50.7, 30.2)
inCoordsColl.addCoords(75.6, 75.8, 41.0)
inCoordsColl.addCoords(120.1, 90.4, 10.9)
# retrieve associated grey values into image with default interpolation policy
outGreyValues1 = util.extractImg3dValues(inImg, inCoordsColl)
for i in range(0, len(inCoordsColl.coll)):
print("Grey value at {" + str(inCoordsColl.coll[i].x) + ", " +
str(inCoordsColl.coll[i].y) + ", " +
str(inCoordsColl.coll[i].z) + "} = " +
str(outGreyValues1.coll[i]))
# retrieve associated grey values into image with cubic interpolation policy
outGreyValues2 = util.extractImg3dValues(inImg, inCoordsColl, PyIPSDK.eInterpolationPolicy.eIP_Cubic)
for i in range(0, len(inCoordsColl.coll)):
print("Grey value at {" + str(inCoordsColl.coll[i].x) + ", " +
str(inCoordsColl.coll[i].y) + ", " +
str(inCoordsColl.coll[i].z) + "} = " +
str(outGreyValues2.coll[i]))

Example of C++ code :

Example informations

Header file

#include <IPSDKIPL/IPSDKIPLUtility/Processor/ExtractImg3dValues/ExtractImg3dValues.h>

Code Example

// Load the input image
ImagePtr pInImg = loadTiffImageFile(inImgFilePath);
// definition of a coordinates collection
Coords3dCollPtr pInCoordsColl(boost::make_shared<Coords3dColl>());
pInCoordsColl->addCoords(50.1, 50.7, 30.2);
pInCoordsColl->addCoords(75.6, 75.8, 41.0);
pInCoordsColl->addCoords(120.1, 90.4, 10.9);
// retrieve associated grey values into image with default interpolation policy
DoublesPtr outGreyValues1 = extractImg3dValues(pInImg, pInCoordsColl);
// retrieve associated grey values into image with cubic interpolation policy
DoublesPtr outGreyValues2 = extractImg3dValues(pInImg, pInCoordsColl, eInterpolationPolicy::eIP_Cubic);