changing the scale of the matrix of image (dicom)

11 visualizaciones (últimos 30 días)
Shel
Shel el 15 de Ag. de 2018
Comentada: Walter Roberson el 16 de Ag. de 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

Respuestas (2)

Walter Roberson
Walter Roberson el 15 de Ag. de 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 el 16 de Ag. de 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

Categorías

Más información sobre DICOM Format en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by