# sum pixel value in an image.

45 ビュー (過去 30 日間)
Ahmad Alenezi 2019 年 9 月 20 日
Commented: Subhadeep Koley 2019 年 11 月 4 日
Hi all,
I have a series of images in one dicom file (n =16 images). How can i find frames that contain maximum and minimum sum of pixel values (i.e. signals) and how to find their corresponding values (i.e. the sum of pixel values for the maximum frame and minimum frame) ?
the file is called MUGA.dcm

#### 0 件のコメント

サインイン to comment.

### 採用された回答

Divya Yerraguntla 2019 年 9 月 23 日
Try using the following code to find the sum of pixels of images in DICOM file.
n=[];
% Find sum of images by providing your DICOM file name
for i=1:10
n = [n,sum(X(:))];
end
% Find maximum and minimum summation and indices.
[min, minidx] = min(n);
[max, maxidx] = max(n);
Hope it helps!

#### 1 件のコメント

Ahmad Alenezi 2019 年 9 月 25 日
Hi Divya
Does this find the pixel values (signals) of pixel count ?
And how to find that which frame got the highest values ?
And what does 'frames' indicate for ?

サインイン to comment.

Divya Yerraguntla 2019 年 9 月 27 日
1. Yes, the dicomread function returns the pixel values of the file and stores it in variable X in the above mentioned code.
2. The variable maxidx in the above code gives the frame number which has the maximum pixel sum value and variable max gives the pixel sum of that frame.
3. 'frames' indicates the frames to read, specified as an integer scalar, a vector of integers, or 'all'. When value of 'frames' is numeric, dicomread reads only the specified frame numbers from the image. By default, dicomread reads all frames of the DICOM image.
Hope it helps!

#### 3 件のコメント

Ahmad Alenezi 2019 年 9 月 27 日
the code is giving me the following results.
i = 16
max = 5027636
maxidX = 1
min = 5027636
minidX = 1
These results are not expected !
do you know what could be the problem ?
i used the code as below:
n=[];
% Find sum of images by providing your DICOM file name
for i=1:16
n = [n,sum(X(:))];
end
% Find maximum and minimum summation and indices.
[min, minidx] = min(n);
[max, maxidx] = max(n);
Divya Yerraguntla 2019 年 9 月 27 日
Could you provide MUCA.dcm file?
Ahmad Alenezi 2019 年 9 月 30 日
This is the file.
Thanks.

サインイン to comment.

Divya Yerraguntla 2019 年 10 月 4 日
The code and file you have provided are giving the following results.
Are these the expected ones?

#### 0 件のコメント

サインイン to comment.

Ahmad Alenezi 2019 年 10 月 4 日
Hi Divya,
Yes, these results are the expected. Thanks indeed
One last question:
I know how to apply region of interest over a small part of the image (see image). This results in 128x128x16 uint 16 array (I call it ROI). How can I put ROI instead of dicomread('MUGA.dcm').?? meaning that i want my input to be ROI instead of MUGA.dcm
Best,

#### 7 件のコメント

Subhadeep Koley 2019 年 11 月 4 日
Ahmad, the code is running in my end without any error. I am using the the attached DICOM file.
Ahmad Alenezi 2019 年 11 月 4 日
Thank you !
Subhadeep Koley 2019 年 11 月 4 日
I think the DICOM file you are using has less than 16 channels.
However, please use the code below. It is more generalized and will work for DICOM files of any channel length.
clear;close all;clc;
temp = rescale(X(:,:,1)); % Select one frame from the mask generation
mask = roipoly(temp); % Specify polygon ROI with the interactive polygon selection tool
X_masked = zeros(size(X)); n = [];
for i=1:size(X,3)
for j=1:128
for k=1:128
end
end
end
end
% Find maximum and minimum summation and indices.
[minVal, minIdx] = min(n);
[maxVal, maxIdx] = max(n);
Hope this helps!

サインイン to comment.

サインイン してこの質問に回答します。

Translated by