我需要从一大块A扫描数据中制作B扫描数据。我接收的A扫描数据以这样的方式排列,即该行类似于A扫描数据的每个点的幅度,并且该列表示所收集的每个A扫描数据。 这就是我的数据:
4855 4641 4891 4791 4812 4812
4827 4766 4862 4745 4767 4785
6676 5075 6903 6879 6697 6084
7340 6829 7678 7753 7263 6726
6176 6237 6708 6737 6316 5943
12014 10467 10915 10914 10124 10642
8251 7538 7641 7619 7269 7658
6522 6105 6132 6136 5921 6227
5519 5287 5330 5376 5255 5237
4904 4784 4835 4855 4794 4758
4553 4527 4472 4592 4469 4455
4298 4323 4291 4293 4221 4238
4167 3957 4089 3991 3938 3907
3789 3721 3777 3777 3643 3596
3736 4615 3639 2814 3638 2782
4413 5286 4248 3998 4370 4199
5994 6896 6134 5548 6102 6161
8506 9020 7841 8060 8663 8941
12347 12302 10639 11151 12533 12478
18859 18175 15035 15938 18358 18160
27106 26261 22613 24069 27015 27114
32767 32601 32767 32767 32767 32767
32767 32767 32767 32767 32767 32767
32767 32767 32767 32767 32767 32767
32767 32767 32767 32767 32767 32767
32767 32767 32767 32767 32767 32767
32767 32767 32767 32767 32767 32767
26416 26459 32767 32767 26308 26945
6523 6900 13327 16665 6616 6477
-14233 -14011 -8554 -5649 -13956 -13858
-28128 -26784 -26157 -24055 -27875 -28374
-28775 -27905 -30348 -26285 -28918 -29066
-20635 -19776 -21144 -21548 -22107 -22759
-16915 -15742 -15908 -17398 -19600 -20143
这只是数据的样本。它是.txt格式。
我面临的问题是将此数据绘制成b扫描数据。 Matlab会很棒(虽然其他方法也很棒)。请分享您绘制此B扫描数据的方式。
答案 0 :(得分:0)
在Scilab上,您可以使用finishAtDay
功能。它读取格式化的文本文件,您至少需要知道列数。要添加垂直间距,您应为每个整列添加一个常量值read
,其中i*d
是列号。
我把你给出的例子放在一个文本文件中,所以我可以阅读它,而不是我绘制它。
i
在MATLAB中,您可以使用//read(): first argument is file path
// (or file name, if you change current directory)
// second argument is number of lines (-1 if unknown)
// third argument is the number of columns
B = read("file.txt",-1,6);
d = 1000; //vertical spacing
Bs = B; //copy of the original data
for i = 1 : size(Bs,'c')
//loop adding constant to each column
Bs(:,i) = Bs(:,i) + (i-1) * d;
end
//simply plot the matrix
plot2d(Bs);
函数,该函数也可以读取格式化的文本文件,但最低要求是文件名。您还应手动添加垂直间距。
importdata