IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit

extract values at specific coordinates from a 3d image More...

IPSDKIPLUTILITY_API attr::DoublesPtr ipsdk::imaproc::util::extractImg3dValues (const image::ImageConstPtr &pInImg3d, const ipsdk::imaproc::attr::Coords3dCollConstPtr &pInCoords3dColl)
 wrapper function for extract values at specific coordinates from a 3d image More...
 
IPSDKIPLUTILITY_API attr::DoublesPtr ipsdk::imaproc::util::extractImg3dValues (const image::ImageConstPtr &pInImg3d, const ipsdk::imaproc::attr::Coords3dCollConstPtr &pInCoords3dColl, const ipsdk::imaproc::attr::eInterpolationPolicy &inOptInterpolationPolicy)
 wrapper function for extract values at specific coordinates from a 3d image More...
 
IPSDKIPLUTILITY_API attr::DoublesPtr ipsdk::imaproc::util::extractImg3dValues (const image::ImageConstPtr &pInImg3d, const ipsdk::imaproc::attr::Coords3dCollConstPtr &pInCoords3dColl, const ipsdk::imaproc::attr::eInterpolationPolicy &inOptInterpolationPolicy, const ipsdk::imaproc::attr::ImageValueExtractionMethodPtr &pInOptImageValueExtractionMethod)
 wrapper function for extract values at specific coordinates from a 3d image More...
 
IPSDKIPLUTILITY_API attr::PlanIndexedDoublesPtr ipsdk::imaproc::util::multiSlice_extractImg3dValues (const image::ImageConstPtr &pInImg3d, const ipsdk::imaproc::attr::PlanIndexedCoords3dCollConstPtr &pInPICoords3dColl)
 wrapper function for extract values at specific coordinates from a 3d image More...
 
IPSDKIPLUTILITY_API attr::PlanIndexedDoublesPtr ipsdk::imaproc::util::multiSlice_extractImg3dValues (const image::ImageConstPtr &pInImg3d, const ipsdk::imaproc::attr::PlanIndexedCoords3dCollConstPtr &pInPICoords3dColl, const ipsdk::imaproc::attr::eInterpolationPolicy &inOptInterpolationPolicy)
 wrapper function for extract values at specific coordinates from a 3d image More...
 
IPSDKIPLUTILITY_API attr::PlanIndexedDoublesPtr ipsdk::imaproc::util::multiSlice_extractImg3dValues (const image::ImageConstPtr &pInImg3d, const ipsdk::imaproc::attr::PlanIndexedCoords3dCollConstPtr &pInPICoords3dColl, const ipsdk::imaproc::attr::eInterpolationPolicy &inOptInterpolationPolicy, const ipsdk::imaproc::attr::ImageValueExtractionMethodPtr &pInOptImageValueExtractionMethod)
 wrapper function for extract values at specific coordinates from a 3d image More...
 

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.

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg3d [Input] 3d image for operation X
ipsdk::imaproc::attr::InPICoords3dColl [Input] plan indexed collection of cartesian 3d coordinates X
ipsdk::imaproc::attr::InOptInterpolationPolicy [Input Optional] interpolation policy used to extract local data from image X
ipsdk::imaproc::attr::InOptImageValueExtractionMethod [Input Optional] object allowing to define used image values extraction method X
ipsdk::imaproc::attr::OutPIImgGreyValues [Output] plan indexed collection of grey level values extracted from an image ipsdk::imaproc::fromImageButVolume (_pOutPIImgGreyValues, _pInImg3d)

Global Rule description

Global rule description for algorithm :
ipsdk::imaproc::matchImagePlansButVolume (_pInPICoords3dColl,_pInImg3d) && 
ipsdk::imaproc::matchImagePlansButVolume (_pOutPIImgGreyValues,_pInImg3d)

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

Associated library

IPSDKIPLUtility

Header file

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);
See also
ExtractImg3dValuesLvl1
ExtractImg3dValuesLvl2

Function Documentation

◆ extractImg3dValues() [1/3]

IPSDKIPLUTILITY_API attr::DoublesPtr ipsdk::imaproc::util::extractImg3dValues ( const image::ImageConstPtr pInImg3d,
const ipsdk::imaproc::attr::Coords3dCollConstPtr pInCoords3dColl 
)

wrapper function for extract values at specific coordinates from a 3d image

Note
These wrappers must be used with mono slice (sizeZ=sizeC=sizeT=1) input images
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ multiSlice_extractImg3dValues() [1/3]

IPSDKIPLUTILITY_API attr::PlanIndexedDoublesPtr ipsdk::imaproc::util::multiSlice_extractImg3dValues ( const image::ImageConstPtr pInImg3d,
const ipsdk::imaproc::attr::PlanIndexedCoords3dCollConstPtr pInPICoords3dColl 
)

wrapper function for extract values at specific coordinates from a 3d image

Note
These wrappers must be used with mono slice (sizeZ=sizeC=sizeT=1) input images
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ extractImg3dValues() [2/3]

IPSDKIPLUTILITY_API attr::DoublesPtr ipsdk::imaproc::util::extractImg3dValues ( const image::ImageConstPtr pInImg3d,
const ipsdk::imaproc::attr::Coords3dCollConstPtr pInCoords3dColl,
const ipsdk::imaproc::attr::eInterpolationPolicy inOptInterpolationPolicy 
)

wrapper function for extract values at specific coordinates from a 3d image

Note
These wrappers must be used with mono slice (sizeZ=sizeC=sizeT=1) input images
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ extractImg3dValues() [3/3]

IPSDKIPLUTILITY_API attr::DoublesPtr ipsdk::imaproc::util::extractImg3dValues ( const image::ImageConstPtr pInImg3d,
const ipsdk::imaproc::attr::Coords3dCollConstPtr pInCoords3dColl,
const ipsdk::imaproc::attr::eInterpolationPolicy inOptInterpolationPolicy,
const ipsdk::imaproc::attr::ImageValueExtractionMethodPtr pInOptImageValueExtractionMethod 
)

wrapper function for extract values at specific coordinates from a 3d image

Note
These wrappers must be used with mono slice (sizeZ=sizeC=sizeT=1) input images
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ multiSlice_extractImg3dValues() [2/3]

IPSDKIPLUTILITY_API attr::PlanIndexedDoublesPtr ipsdk::imaproc::util::multiSlice_extractImg3dValues ( const image::ImageConstPtr pInImg3d,
const ipsdk::imaproc::attr::PlanIndexedCoords3dCollConstPtr pInPICoords3dColl,
const ipsdk::imaproc::attr::eInterpolationPolicy inOptInterpolationPolicy 
)

wrapper function for extract values at specific coordinates from a 3d image

Note
These wrappers must be used with mono slice (sizeZ=sizeC=sizeT=1) input images
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ multiSlice_extractImg3dValues() [3/3]

IPSDKIPLUTILITY_API attr::PlanIndexedDoublesPtr ipsdk::imaproc::util::multiSlice_extractImg3dValues ( const image::ImageConstPtr pInImg3d,
const ipsdk::imaproc::attr::PlanIndexedCoords3dCollConstPtr pInPICoords3dColl,
const ipsdk::imaproc::attr::eInterpolationPolicy inOptInterpolationPolicy,
const ipsdk::imaproc::attr::ImageValueExtractionMethodPtr pInOptImageValueExtractionMethod 
)

wrapper function for extract values at specific coordinates from a 3d image

Note
These wrappers must be used with mono slice (sizeZ=sizeC=sizeT=1) input images
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure