overlay the image with transparency

75 views (last 30 days)
I have an image A which is
A = dicomread ('HYP-P-040.MR.ALL_PHYSICS_JAMESO.0004.0001.2019.12.11.14.31.46.328125.178069209.IMA'); %T2Axial image
and image B which is
B= dicomread('metab1_dyn=0001_slice=0001.IMA'); %metabolite 1
How can i overlay image B on A with transparency.
Both Image is attached for reference.
Please provide support.

Accepted Answer

Image Analyst
Image Analyst on 4 Nov 2020
Try this:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 18;
fprintf('Beginning to run %s.m ...\n', mfilename);
A = dicomread ('HYP-P-040.MR.ALL_PHYSICS_JAMESO.0004.0002.2019.12.11.14.31.46.328125.178068929.IMA'); %T2Axial image
subplot(2, 2, 1);
imshow(A, [], 'Colormap', gray(256))
B = dicomread('metab1_dyn=0001_slice=0001.IMA'); %metabolite 1
subplot(2, 2, 2);
imshow(B, [], 'Colormap', gray(256))
[rowsa, colsa, numberOfColorChannelsa] = size(A)
[rowsb, colsb, numberOfColorChannelsb] = size(B)
if rowsa ~= rowsb || colsa ~= colb
B = imresize(B, [rowsa, colsa], 'nearest');
end
subplot(2, 2, 3);
% Get RGB image
cmap = jet(256);
rgbImage = ind2rgb(uint8(255 * mat2gray(B)), cmap);
imshow(rgbImage, []);
% Put both images into subplot
subplot(2, 2, 4);
ha = imshow(A, [], 'Colormap', gray(256))
hold on;
hb = imshow(rgbImage)
% Set opacity/transparency to something less than 1 (alpha).
% 1 is the default and it means the last image is opaque and the image below can't be seen.
hb.AlphaData = 0.4;
  2 Comments
Medical Imaging
Medical Imaging on 5 Nov 2020
Thank you so much. Yes it is working, I just wonder why I am getting a bit wierd result.
Medical Imaging
Medical Imaging on 5 Nov 2020
I got it now. This is working perfectly fine. Thank you.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 3 Nov 2020
  5 Comments
Image Analyst
Image Analyst on 3 Nov 2020
They aren't even the same size, so how do you want to overlay them? Resize B to match A?
A = dicomread ('HYP-P-040.MR.ALL_PHYSICS_JAMESO.0004.0002.2019.12.11.14.31.46.328125.178068929.IMA'); %T2Axial image
subplot(2, 2, 1);
imshow(A, [])
B = dicomread('metab1_dyn=0001_slice=0001.IMA'); %metabolite 1
subplot(2, 2, 2);
imshow(B, [])
Medical Imaging
Medical Imaging on 4 Nov 2020
yes be resizing the image and overlay with some color map.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!