forked from caldarolamartin/read_sm4_files
-
Notifications
You must be signed in to change notification settings - Fork 0
/
read_files_sm4.m
61 lines (51 loc) · 2.03 KB
/
read_files_sm4.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
%
% This script uses the function read_sm4.m to read the binary data saved
% with the RHK format sm4 (saved in the program XMPro 2.0)
%
% It is an example of use of the mentioned function.
% It plots the data obtained.
%
% Created by: M. Caldarola (caldarola@df.uba.ar)
%
% See git repository for the date of the changes.
%
%%%%%%%%%%%%%%%%%%%%%%%%
clear
% filename = '/home/martin/lec/phd/programas/matlab/read_sm4/devel_files/TGZ03_0001.SM4';
% filename = '/home/martin/lec/phd/programas/matlab/read_sm4/devel_files/Hela_0001.SM4';
% filename = '/home/martin/lec/phd/programas/matlab/read_sm4/devel_files/TSpec_test_vidrio_0003.SM4';
filename = '/home/martin/lec/phd/programas/matlab/read_sm4/devel_files/C_M_lito_fluo_rojo_0004.sm4';
[data metadata]=read_sm4(filename);
%% select if if the data is spectroscopy or image, in order to plot
%% conviniently.
IMA = 'T'; % TRUE means that it is an image
% IMA = 'False'; % FALSE means that is not an image, just force curves
if IMA == 'F'
% PLOTS only for spectroscopy data
for i = 1:size(data,2);
figure
plot(data{i}.x,data{i}.z)
title([metadata{i}.string_data.Label,' [',...
metadata{i}.string_data.Z_Units,']'],'FontSize',20)
xlabel(metadata{i}.string_data.X_Units,'FontSize',16) % x units
% in spectroscopy, y is empty
ylabel(metadata{i}.string_data.Z_Units,'FontSize',16) % z units
grid
end
% Plot ALL 2 d data, images
else
for i=1:size(data,2)
figure
imagesc([data{i}.x(1),data{i}.x(end)],[data{i}.y(1),data{i}.y(end)],...
data{i}.z)
colorbar
colormap(gray)
title([metadata{i}.string_data.Label,' [',metadata{i}.string_data.Z_Units,']'],'FontSize',20)
xlabel(metadata{i}.string_data.X_Units,'FontSize',16)
ylabel(metadata{i}.string_data.Y_Units,'FontSize',16)
end
% Take a profile
figure
plot(data{end}.y,data{end}.z(:,100))
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%