changing the scale of the matrix of image (dicom)

2 vues (au cours des 30 derniers jours)
Shel
Shel le 15 Août 2018
Commenté : Walter Roberson le 16 Août 2018
I am going to change the scale of an image (dicom) by -1024. I made a matrix of M(1:512,1:512)=-1024. However, it is not possible to do the summation because the main matrix is a unit16. So my question is if it is possible to change the scale? if yes could you please give me the resource to learn it.
Thanks

Réponses (2)

Walter Roberson
Walter Roberson le 15 Août 2018
You could do
M(1:512, 1:512) = M(1:512, 1:512) - 1024;
That would change only that part of the matrix. If the matrix is uint16 then any location that was less than 1024 before the subtraction would be set to 0.
Perhaps you want
newM = int16(M(1:512, 1:512)) - 1024;
Note: subtracting does not change the scale of an image: to change the scale you need multiplication or division.
I suggest you have a look at mat2gray() possibly followed by im2uint16()

Shel
Shel le 16 Août 2018
Thanks for your response,
so the matrix can never have a negative value because it is uint16. my question is that to have the histogram of the matrix (I) in the range of (-1024, 3071), how I can change the uint16 matrix of I in the range of (0 4095). Is it possible at all? because I can make a double or int16 matrix of M(1:512,1:512)= -1024 but I cannot sum up them because of their different types.
Thanks

Catégories

En savoir plus sur DICOM Format dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by