Using Matlab to read and process remote sensing data

3 views (last 30 days)
Hi!
I loaded some data files (.dat) that I need to play with ;). Still, at some point my knoladge and background in Matlab happen to be lower that I thought it is... So I am begging for help :) To make the story short, I do not know how to make the following processes:
1. Plot the image of data file, using "image" command, in colored scale with 64 and 96 brightness levels.
2. Plot the image of data file with negative pixel data in colored scale and show the negative values in white color.
3. Convert pixel numbers of images to coordinates, when latitude is from 32N to 38N and longitude is from 112W to 106W, using XTick and YTickLabel.
4. Find the pixels with negative values using "find" command and replace them with corresponding values from the original data file.
5. Find the pixels with temperature between 220 and 265 Kelvin.
6. Extract the area located between latitude from 34N to 36N and longitude from 110W to 108W. Plot the image of the area.
I tried to find some information about these subjects above but unfortunately without any effect... If you know the answer or you have some links that I can use I will really appreciate your help.
Thank you in advance.
A.

Answers (2)

Image Analyst
Image Analyst on 20 Feb 2012
  1. Use imshow(imageArray, []) along with colormap(jet(64)); colormap
  2. I have no idea. Are negative values supposed to be colored or white?
  3. You need some kind of spatial calibration conversion factor.
  4. No idea how you now have two images. But try
[rows columns] = find(imageArray <0)
for k = 1: length(rows);
imageArray(rows(k), columns(k)) = originalImage(rows(k), columns(k));
end
Note: this is not as efficient (I don't think) as the usual way people do it using logical indexes:
negativeIndexes = imageArray < 0;
imageArray(negativeIndexes ) = originalImage(negativeIndexes);
5. You'd need to have some kind of conversion between the image array values (are they in grayscale or something?) and temperature.
6. Again, like #3 you need a spatial conversion factor to find the actual rows and columns that bound the rectangle. Then use imshow().

Sukuchha
Sukuchha on 21 Feb 2012
HW question ! :)

Community Treasure Hunt

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

Start Hunting!