X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gr-noaa%2Foct%2Fframes_to_ppm.m;fp=gr-noaa%2Foct%2Fframes_to_ppm.m;h=73842f0a9f6b19a46071396aa400ac31ca2fc691;hb=35e43e8d8c271e6842191cac3fc3f2f88a861183;hp=0000000000000000000000000000000000000000;hpb=ea29b08aeb54227e6628f655ccfdb96fe4d8c378;p=debian%2Fgnuradio diff --git a/gr-noaa/oct/frames_to_ppm.m b/gr-noaa/oct/frames_to_ppm.m new file mode 100644 index 00000000..73842f0a --- /dev/null +++ b/gr-noaa/oct/frames_to_ppm.m @@ -0,0 +1,85 @@ +% -*- octave -*- +% +% Copyright 2009 Free Software Foundation, Inc. +% +% This file is part of GNU Radio +% +% GNU Radio is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 3, or (at your option) +% any later version. +% +% GNU Radio is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with GNU Radio; see the file COPYING. If not, write to +% the Free Software Foundation, Inc., 51 Franklin Street, +% Boston, MA 02110-1301, USA. +% + +% Extract AVHRR images from HRPT frames.dat +clear + +fid = fopen('frames.hrpt'); +dat = fread(fid, 'uint16'); + +frame_len = 11090; + +len = floor(length(dat) / frame_len); + +chan1 = zeros(len, 2048); + +start = 751; +stop = 10986; + +for line = 1:len + chan1(line, 1:2048) = dat(start:5:stop)'; + start = start + frame_len; + stop = stop + frame_len; +end + +start = 752; +stop = 10987; + +for line = 1:len + chan2(line, 1:2048) = dat(start:5:stop)'; +start = start + frame_len; +stop = stop + frame_len; +end + +start = 753; +stop = 10988; + +for line = 1:len + chan3(line, 1:2048) = dat(start:5:stop)'; + start = start + frame_len; + stop = stop + frame_len; +end + +start = 754; +stop = 10989; + +for line = 1:len + chan4(line, 1:2048) = dat(start:5:stop)'; +start = start + frame_len; +stop = stop + frame_len; +end + +start = 755; +stop = 10990; + +for line = 1:len + chan5(line, 1:2048) = dat(start:5:stop)'; + start = start + frame_len; + stop = stop + frame_len; +end + +colormap(gray) +saveimage("chan1.ppm", chan1/4, 'ppm') +saveimage("chan2.ppm", chan2/4, 'ppm') +saveimage("chan3.ppm", chan3/4, 'ppm') +saveimage("chan4.ppm", chan4/4, 'ppm') +saveimage("chan5.ppm", chan5/4, 'ppm')