How to visualise data value with x-y coordinate in an image

Asked by RAJ DATTA

RAJ DATTA (view profile)

on 14 Sep 2019
Latest activity Commented on by RAJ DATTA

RAJ DATTA (view profile)

on 16 Sep 2019
Hello, suppose I have x-y coordinate and z value as the grades of the points. How can I visualize my data in 2-D colormap ? (I want to show x-y cordinate and different colors for different values at every points inside the image). I am attachng sample data text file and regarding image. Walter Roberson

Walter Roberson (view profile)

on 15 Sep 2019
I suspect you want griddedInterpolant()
Along with a colormap such as 'hot' or perhaps 'autumn'
RAJ DATTA

RAJ DATTA (view profile)

on 16 Sep 2019
yes. I found I need to interpolate to and a matrix should be created for [x,y, data]. only then I can make an image. Thank you sir for your idea.

Release

R2018a

Answer by Image Analyst

Image Analyst (view profile)

on 15 Sep 2019

Try something like
data = dlmread(filename, ' ');
x = data(:, 1);
y = data(:, 2);
grayLevel = data(:, 3);
grayImage = zeros(ceil(max(y)), ceil(max(x)));
for k = 1 : length(x)
row = round(y(k));
col = round(x(k));
grayImage(row, col) = grayLevel(k);
end
grayImage = mat2gray(grayImage);
imshow(grayImage, 'ColorMap', jet(256));
colorbar;

Show 1 older comment
Image Analyst

Image Analyst (view profile)

on 15 Sep 2019
Try []:
imshow(grayImage, [], 'ColorMap', jet(256));
RAJ DATTA

RAJ DATTA (view profile)

on 15 Sep 2019
sir, again only the blue screen.
Image Analyst

Image Analyst (view profile)

on 15 Sep 2019
Not only the blue, but for most of them. There are 181 pixels that are not zero. But most of your image locations do not have a gray level defined for them, so they are left as zero and appear as blue.
data = dlmread('md1.txt', ' ');
x = data(:, 1);
y = data(:, 2);
grayLevel = data(:, 3);
grayImage = zeros(ceil(max(y)), ceil(max(x)));
for k = 1 : length(x)
row = max([1, round(y(k))]);
col = max([1, round(x(k))]);
grayImage(row, col) = grayLevel(k);
fprintf('Assigning %d to row %d, column %d.\n', grayLevel(k), row, col);
end
minGL = min(grayImage(:))
maxGL = max(grayImage(:))
grayImage = mat2gray(grayImage);
imshow(grayImage, [], 'ColorMap', jet(256));
colorbar;