How to calculate the VoxelValues using regionprops3

3 views (last 30 days)
Dear all, how to calculate the voxelvalues using regionprops3 after did the segmentation method.
Let say my gray image is spect as attached.
clc
clear all
close all
[spect map]=dicomread('I-13125610N1.dcm');
info = dicominfo('I-13125610N1.dcm');
%gp=info.SliceThickness;
spect=(squeeze(spect));%smooth3
cc= [25,25,27]
imshow3D(spect)
% T = adaptthresh(spect, 0.000000000000001);
T = adaptthresh(spect, 0.000000000000001, "NeighborhoodSize", cc, "Statistic","mean");
BW = imbinarize(spect,T);
figure, imshow3D(BW)
data = regionprops3(BW,'Volume',spect,'VoxelValues', 'Centroid')
Error using regionprops3>getPropsFromInput
PROPERTY must be a string or character vector.
Error in regionprops3>parseInputs (line 1018)
reqStats = getPropsFromInput(startIdxForProp, ...
Error in regionprops3 (line 158)
[V,requestedStats,officialStats] = parseInputs(imageSize, args{:});

Accepted Answer

Dinesh
Dinesh on 31 Mar 2023
Moved: Image Analyst on 7 May 2023
Hi Akmal,
I understand that you are trying to find the voxel values using regioprops3. Regionprops3 is expecting "black and white image (BW), 3D volumetric grayscale image (V), and then properties" as input. Here you have changed the order of input. After 'BW' you have specified 'Volume' which is a property, then you specified 'V' and that is why you are getting the following error. Change the order to BW, V and then properties will solve the issue.
Please read the following MATLAB documentationon all available function overloads and properties for regionprops3 function.
Thank you

More Answers (1)

Simon Chan
Simon Chan on 26 Jan 2023
Moved: Image Analyst on 7 May 2023
Did you try the following:
data = regionprops3(BW,spect,'Volume','VoxelValues', 'Centroid')

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!