How to store count pixel in 3D viewing
Hi all,
I have one set of 3D images Dicom. below is one of the slices.
ok, lets look the the 3D image dicom here, the location (148, 109) have count is 323.
then after did the code below,
% For binary images (png format, each pixel just have value 1 and 0.)
clc
clear all
dataSetDir = fullfile(‘C:UsersAkmalDesktopI-131 256 28.02.2020I-131 SPECT NEMA VALIDATION 01112019 256X256 26.09.2021 petang’);
imageDir = fullfile(dataSetDir,’bnwaftersegmentation’);
imds = imageDatastore(imageDir);
for i = 1:3
% subplot(6,7,i)
I = readimage(imds,i);
% binary
Is{i} = logical(I);
end
% For 3D images spect
myFolder = (‘C:UsersAkmalDesktopI-131 256 28.02.2020I-131 SPECT NEMA VALIDATION 01112019 256X256 26.09.2021 petangdcmoriextract’);
filePattern = fullfile(myFolder, ‘*.dcm’); % Change to whatever pattern you need.
theFiles = dir(filePattern);
for K = 1 : length(theFiles)
baseFileName = theFiles(K).name;
fullFileName = fullfile(theFiles(K).folder, baseFileName);
fprintf(1, ‘Now reading %sn’, fullFileName);
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
P(:,:,K) = double(dicomread(fullFileName));
P(:,:,K) = double(P(:,:,K)) .* double( Is{K} );
end
%for viewing as 3D images
Ds = smooth3(P);
figure
hiso = patch(isosurface(Ds,5),…
‘FaceColor’,[1,.75,.65],…
‘EdgeColor’,’none’);
hcap = patch(isocaps(P,5),…
‘FaceColor’,’interp’,…
‘EdgeColor’,’none’);
colormap copper
view(45,30)
axis tight
daspect([1,1,.8])
lightangle(45,30);
set(gcf,’Renderer’,’zbuffer’); lighting phong
isonormals(Ds,hiso)
set(hcap,’AmbientStrength’,.6)
set(hiso,’SpecularColorReflectance’,0,’SpecularExponent’,50)
the 3D viewing like below. But, if you look at the same coordinate, (148, 109), its not show the count itself (332). its show the z coordinate. How to do for the 3D viewing(isosurface) can stored also the counts itself (332)??Hi all,
I have one set of 3D images Dicom. below is one of the slices.
ok, lets look the the 3D image dicom here, the location (148, 109) have count is 323.
then after did the code below,
% For binary images (png format, each pixel just have value 1 and 0.)
clc
clear all
dataSetDir = fullfile(‘C:UsersAkmalDesktopI-131 256 28.02.2020I-131 SPECT NEMA VALIDATION 01112019 256X256 26.09.2021 petang’);
imageDir = fullfile(dataSetDir,’bnwaftersegmentation’);
imds = imageDatastore(imageDir);
for i = 1:3
% subplot(6,7,i)
I = readimage(imds,i);
% binary
Is{i} = logical(I);
end
% For 3D images spect
myFolder = (‘C:UsersAkmalDesktopI-131 256 28.02.2020I-131 SPECT NEMA VALIDATION 01112019 256X256 26.09.2021 petangdcmoriextract’);
filePattern = fullfile(myFolder, ‘*.dcm’); % Change to whatever pattern you need.
theFiles = dir(filePattern);
for K = 1 : length(theFiles)
baseFileName = theFiles(K).name;
fullFileName = fullfile(theFiles(K).folder, baseFileName);
fprintf(1, ‘Now reading %sn’, fullFileName);
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
P(:,:,K) = double(dicomread(fullFileName));
P(:,:,K) = double(P(:,:,K)) .* double( Is{K} );
end
%for viewing as 3D images
Ds = smooth3(P);
figure
hiso = patch(isosurface(Ds,5),…
‘FaceColor’,[1,.75,.65],…
‘EdgeColor’,’none’);
hcap = patch(isocaps(P,5),…
‘FaceColor’,’interp’,…
‘EdgeColor’,’none’);
colormap copper
view(45,30)
axis tight
daspect([1,1,.8])
lightangle(45,30);
set(gcf,’Renderer’,’zbuffer’); lighting phong
isonormals(Ds,hiso)
set(hcap,’AmbientStrength’,.6)
set(hiso,’SpecularColorReflectance’,0,’SpecularExponent’,50)
the 3D viewing like below. But, if you look at the same coordinate, (148, 109), its not show the count itself (332). its show the z coordinate. How to do for the 3D viewing(isosurface) can stored also the counts itself (332)?? Hi all,
I have one set of 3D images Dicom. below is one of the slices.
ok, lets look the the 3D image dicom here, the location (148, 109) have count is 323.
then after did the code below,
% For binary images (png format, each pixel just have value 1 and 0.)
clc
clear all
dataSetDir = fullfile(‘C:UsersAkmalDesktopI-131 256 28.02.2020I-131 SPECT NEMA VALIDATION 01112019 256X256 26.09.2021 petang’);
imageDir = fullfile(dataSetDir,’bnwaftersegmentation’);
imds = imageDatastore(imageDir);
for i = 1:3
% subplot(6,7,i)
I = readimage(imds,i);
% binary
Is{i} = logical(I);
end
% For 3D images spect
myFolder = (‘C:UsersAkmalDesktopI-131 256 28.02.2020I-131 SPECT NEMA VALIDATION 01112019 256X256 26.09.2021 petangdcmoriextract’);
filePattern = fullfile(myFolder, ‘*.dcm’); % Change to whatever pattern you need.
theFiles = dir(filePattern);
for K = 1 : length(theFiles)
baseFileName = theFiles(K).name;
fullFileName = fullfile(theFiles(K).folder, baseFileName);
fprintf(1, ‘Now reading %sn’, fullFileName);
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
P(:,:,K) = double(dicomread(fullFileName));
P(:,:,K) = double(P(:,:,K)) .* double( Is{K} );
end
%for viewing as 3D images
Ds = smooth3(P);
figure
hiso = patch(isosurface(Ds,5),…
‘FaceColor’,[1,.75,.65],…
‘EdgeColor’,’none’);
hcap = patch(isocaps(P,5),…
‘FaceColor’,’interp’,…
‘EdgeColor’,’none’);
colormap copper
view(45,30)
axis tight
daspect([1,1,.8])
lightangle(45,30);
set(gcf,’Renderer’,’zbuffer’); lighting phong
isonormals(Ds,hiso)
set(hcap,’AmbientStrength’,.6)
set(hiso,’SpecularColorReflectance’,0,’SpecularExponent’,50)
the 3D viewing like below. But, if you look at the same coordinate, (148, 109), its not show the count itself (332). its show the z coordinate. How to do for the 3D viewing(isosurface) can stored also the counts itself (332)?? image acquisition, image processing, image segmentation, digital image processing, image analysis, image MATLAB Answers — New Questions