overlay the image with transparency
59 views (last 30 days)
Show older comments
Medical Imaging
on 3 Nov 2020
Commented: Medical Imaging
on 5 Nov 2020
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.
0 Comments
Accepted Answer
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;
More Answers (1)
Image Analyst
on 3 Nov 2020
5 Comments
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, [])
See Also
Categories
Find more on Red in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!