<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-pnb.eri.ucsb.edu/index.php?action=history&amp;feed=atom&amp;title=Dspike.m</id>
	<title>Dspike.m - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-pnb.eri.ucsb.edu/index.php?action=history&amp;feed=atom&amp;title=Dspike.m"/>
	<link rel="alternate" type="text/html" href="https://wiki-pnb.eri.ucsb.edu/index.php?title=Dspike.m&amp;action=history"/>
	<updated>2026-04-04T21:27:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki-pnb.eri.ucsb.edu/index.php?title=Dspike.m&amp;diff=196&amp;oldid=prev</id>
		<title>128.111.101.185 at 22:46, 5 August 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki-pnb.eri.ucsb.edu/index.php?title=Dspike.m&amp;diff=196&amp;oldid=prev"/>
		<updated>2010-08-05T22:46:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:46, 5 August 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l604&quot; &gt;Line 604:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 604:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;big&amp;gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;deemmer&lt;/del&gt;]]&amp;lt;big&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;big&amp;gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dspike&lt;/ins&gt;]]&amp;lt;big&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>128.111.101.185</name></author>
		
	</entry>
	<entry>
		<id>https://wiki-pnb.eri.ucsb.edu/index.php?title=Dspike.m&amp;diff=195&amp;oldid=prev</id>
		<title>128.111.101.185: Created page with '&lt;pre&gt; function dspike() %created by Erik Stassinos %3/16/10 %%the infile will will be the whole lcd file %despike function with hard coded trend of .01 and flag of 15 %first diff…'</title>
		<link rel="alternate" type="text/html" href="https://wiki-pnb.eri.ucsb.edu/index.php?title=Dspike.m&amp;diff=195&amp;oldid=prev"/>
		<updated>2010-08-05T22:45:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;&amp;lt;pre&amp;gt; function dspike() %created by Erik Stassinos %3/16/10 %%the infile will will be the whole lcd file %despike function with hard coded trend of .01 and flag of 15 %first diff…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
function dspike()&lt;br /&gt;
%created by Erik Stassinos&lt;br /&gt;
%3/16/10&lt;br /&gt;
%%the infile will will be the whole lcd file&lt;br /&gt;
%despike function with hard coded trend of .01 and flag of 15&lt;br /&gt;
%first difference methode is used for despike processing&lt;br /&gt;
%if difference between data value &amp;quot;a&amp;quot; and &amp;quot;b&amp;quot; is greater than .01 than the&lt;br /&gt;
%new field in line a will contain the average of 15 pts surrounding &amp;quot;a&amp;quot;&lt;br /&gt;
%as same as old processing, running dspike twice will be hard coded as well&lt;br /&gt;
%as derived parameters d-a650, d-d-a650 which is in bbop scripts&lt;br /&gt;
%list_sdespike&lt;br /&gt;
&lt;br /&gt;
%cd(pb)&lt;br /&gt;
id = fopen('list_ac9');&lt;br /&gt;
    if id == -1&lt;br /&gt;
        id = fopen('list_hs6')&lt;br /&gt;
        if id ~= -1&lt;br /&gt;
            hs6 =1;&lt;br /&gt;
        else&lt;br /&gt;
            disp('Cannot find list file. Exiting')&lt;br /&gt;
            return&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
h1=0;&lt;br /&gt;
 while feof(id) ~=1&lt;br /&gt;
     tu = fgets(id);&lt;br /&gt;
    h1 = h1+1; %to get # loop iterations&lt;br /&gt;
 end&lt;br /&gt;
 frewind(id);&lt;br /&gt;
  for i = 1:h1&lt;br /&gt;
    %clear h1;&lt;br /&gt;
      r = fgets(id);&lt;br /&gt;
            length(r);&lt;br /&gt;
            t = textscan(r,'%s');&lt;br /&gt;
            p = char(t{1,:}); %p is the name of the lcd file being processed from list_ac9&lt;br /&gt;
          [in,mer,dep] =  index1(p); %has locations in data for processing       &lt;br /&gt;
%-now need to get to locations                &lt;br /&gt;
%%------------------------main despike-----------------------------------&lt;br /&gt;
 linecount = 0;&lt;br /&gt;
 file = fopen(p);&lt;br /&gt;
 &lt;br /&gt;
 trend = .01; %&amp;lt;=preset from original processing&lt;br /&gt;
 flag = 15; %&amp;lt;=preset from original processing&lt;br /&gt;
 % % --------------------splits upcasts and downcasts %hard coded 4 casts     &lt;br /&gt;
&lt;br /&gt;
fflag =0;&lt;br /&gt;
endflag =0;&lt;br /&gt;
if strncmp(p,'x',1) ==1&lt;br /&gt;
    endflag =1;&lt;br /&gt;
end&lt;br /&gt;
 ogfile = fopen(p);&lt;br /&gt;
 file = strrep(p,'z','dz');&lt;br /&gt;
 nfile1 = fopen(strrep(file,'.lcd','.lcd.1'),'r+');&lt;br /&gt;
 if nfile1 == -1 %if this is the first time dspike is run it will set the flag to 1 and create a new dz.....lcd file&lt;br /&gt;
&lt;br /&gt;
     fflag =1; %if does not exist&lt;br /&gt;
 nfile1 = fopen(strrep(file,'.lcd','.lcd.1'),'w+');&lt;br /&gt;
 end&lt;br /&gt;
 nfile2 = fopen(strrep(file,'.lcd','.lcd.2'),'r+');&lt;br /&gt;
 if nfile2 == -1&lt;br /&gt;
 nfile2 =  fopen(strrep(file,'.lcd','.lcd.2'),'w+');&lt;br /&gt;
 end&lt;br /&gt;
%=============first time&lt;br /&gt;
if fflag ==1&lt;br /&gt;
m = strrep(p,'z','');&lt;br /&gt;
          m = strrep(m,'.lcd','.zcal');&lt;br /&gt;
          mat = load(m,'.ASC');&lt;br /&gt;
          %format long&lt;br /&gt;
      %ptsfordncastatrix =    in{2} - in{1}&lt;br /&gt;
      %in2 = in{2}&lt;br /&gt;
      %in1 = in{1}&lt;br /&gt;
       %important these are clear every loop      &lt;br /&gt;
     clear ij&lt;br /&gt;
     clear downcastmatrix&lt;br /&gt;
     clear upcastmatrix&lt;br /&gt;
     clear diffdn&lt;br /&gt;
     clear diffup&lt;br /&gt;
     width = length(mat(1,:));&lt;br /&gt;
             for ij = in{1}:1:in{2};&lt;br /&gt;
             downcastmatrix(ij-(in{1}-1),:) = mat(ij,1:width); %starts from 1 and goes to in2&lt;br /&gt;
             end&lt;br /&gt;
             for r = in{3}:in{4};&lt;br /&gt;
             upcastmatrix(r-(in{3}-1),:) = mat(r,1:width);&lt;br /&gt;
             end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%============&lt;br /&gt;
%============if done before&lt;br /&gt;
if fflag ~=1 %gets matrix name to read&lt;br /&gt;
    &lt;br /&gt;
          m1 = strcat('desp1d',p);&lt;br /&gt;
          mat1 = load(m1,'.ASC');&lt;br /&gt;
 &lt;br /&gt;
          m2 = strcat('desp2d',p);&lt;br /&gt;
          mat2 = load(m2,'.ASC');&lt;br /&gt;
          &lt;br /&gt;
       %  for i = in{1}:1:in{2};&lt;br /&gt;
         %    downcastmatrix(i-(in{1}-1),:) = mat1(i,:); %starts from 1 and goes to in2&lt;br /&gt;
        downcastmatrix = mat1;&lt;br /&gt;
         upcastmatrix = mat2;&lt;br /&gt;
      sizemat1 = size(mat1);&lt;br /&gt;
%      disp('line 110')&lt;br /&gt;
      sizeoldup =     size(upcastmatrix);&lt;br /&gt;
      sizeolddn =    size(downcastmatrix);&lt;br /&gt;
          &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 %=========== endif done before&lt;br /&gt;
 %--------------------end splits               &lt;br /&gt;
&lt;br /&gt;
 %------------------------------------------------------------------------&lt;br /&gt;
 %------------------------------------------------------------------------&lt;br /&gt;
 %--------------------computes difference in points for up and down-------&lt;br /&gt;
 %------------------------------------------------------------------------&lt;br /&gt;
 clear totalptsdn&lt;br /&gt;
 clear totalptsup&lt;br /&gt;
 %disp('line 126')&lt;br /&gt;
 totalptsdn = in{2} - in{1};&lt;br /&gt;
 totalptsup = in{4} - in{3};&lt;br /&gt;
&lt;br /&gt;
%-------------if first time processed&lt;br /&gt;
%downcast matrix consists only wavelengths which will be processed with dspike&lt;br /&gt;
rd=0;&lt;br /&gt;
if fflag ==1&lt;br /&gt;
for cdn = 2:19 %shifted over by 1 and lost one point due to 1mer removal&lt;br /&gt;
            %while cdn+1 ~=41&lt;br /&gt;
                cdn  ;&lt;br /&gt;
        for rd = 1:length(downcastmatrix(:,1))%totalptsdn&lt;br /&gt;
        if rd == 1&lt;br /&gt;
        diffdn(rd,cdn) =  abs(downcastmatrix(rd,cdn) - downcastmatrix((rd+1),cdn));&lt;br /&gt;
        else&lt;br /&gt;
        diffdn(rd,cdn)=abs(downcastmatrix(rd,cdn)-downcastmatrix((rd-1),cdn)); %commented&lt;br /&gt;
        end&lt;br /&gt;
        end&lt;br /&gt;
        clear rd&lt;br /&gt;
        for rd = 1:length(downcastmatrix(:,1))&lt;br /&gt;
            if diffdn(rd,cdn) &amp;gt; trend;%all lines are the same after column 28 since they have been inserted from every 10th row and coppied therefore there is no diffdn(720,28+)&lt;br /&gt;
            diffdn(rd,cdn);&lt;br /&gt;
            downcastmatrix(rd,cdn);&lt;br /&gt;
             movavgdn(rd,cdn) =   moavg(flag,diffdn,rd,cdn,downcastmatrix,trend,totalptsdn);&lt;br /&gt;
             movavgdn(rd,cdn);&lt;br /&gt;
            end       &lt;br /&gt;
        end                            &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for cu = 2:19&lt;br /&gt;
            %while cu+1 ~=41&lt;br /&gt;
        for ru = 1:length(upcastmatrix(:,1))%totalptsup%length(upcastmatrix(:,1))%totalptsup&lt;br /&gt;
            if ru ==1&lt;br /&gt;
            %diffup(ru,cu) =  abs(upcastmatrix(ru,cu) - upcastmatrix((ru+1),(cu)));&lt;br /&gt;
            diffup(ru,cu) =  abs(upcastmatrix(ru,cu) - upcastmatrix((ru+1),(cu)));&lt;br /&gt;
            else&lt;br /&gt;
                diffup(ru,cu) =  abs(upcastmatrix(ru,cu) - upcastmatrix((ru-1),(cu)));&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        clear ru&lt;br /&gt;
        for ru = 1:length(upcastmatrix(:,1))  &lt;br /&gt;
            if diffup(ru,cu) &amp;gt; trend&lt;br /&gt;
             movavgup(ru,cu) =   moavg(flag,diffup,ru,cu,upcastmatrix,trend,totalptsup);&lt;br /&gt;
            end&lt;br /&gt;
         end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%-------------end if first time&lt;br /&gt;
%disp('line 188 after  it calculates movavg and diffup')&lt;br /&gt;
%iffirstsizediffdn = size(diffdn);&lt;br /&gt;
%iffirstsizediffup = size(diffup);&lt;br /&gt;
%iffirstsizemovavgdn = size(movavgdn);&lt;br /&gt;
%lengthdowncastmatrix_forloop = length(downcastmatrix(:,1));&lt;br /&gt;
%=================if not done before&lt;br /&gt;
%disp('berfore here?')&lt;br /&gt;
if fflag ~=1&lt;br /&gt;
clear diffdn&lt;br /&gt;
clear movavgdn&lt;br /&gt;
clear diffup&lt;br /&gt;
clear movavgup&lt;br /&gt;
    clear cdn&lt;br /&gt;
    clear rd&lt;br /&gt;
for cdn = 42:59 &lt;br /&gt;
            &lt;br /&gt;
               &lt;br /&gt;
        for rd = 1:length(downcastmatrix(:,1));%totalptsdn&lt;br /&gt;
            %format long&lt;br /&gt;
            if rd ==1&lt;br /&gt;
        diffdn(rd,cdn) =  abs(downcastmatrix(rd,cdn) - downcastmatrix((rd+1),(cdn)));  %diffdn or up will be empty until the correct column location in the data matrix&lt;br /&gt;
            else&lt;br /&gt;
        diffdn(rd,cdn)= abs(downcastmatrix(rd,cdn) - downcastmatrix((rd-1),cdn));&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        clear rd&lt;br /&gt;
        for rd = 1:length(downcastmatrix(:,1));&lt;br /&gt;
            if diffdn(rd,cdn) &amp;gt; trend ; %all lines are the same after column 28 since they have been inserted from every 10th row and coppied therefore there is no diffdn(720,28+)&lt;br /&gt;
                movavgdn(rd,cdn) =   moavg(flag,diffdn,rd,cdn,downcastmatrix,trend,totalptsdn);&lt;br /&gt;
            end       &lt;br /&gt;
        end                            &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
clear ru&lt;br /&gt;
clear cu&lt;br /&gt;
for cu = 42:59&lt;br /&gt;
           &lt;br /&gt;
        for ru = 1:length(upcastmatrix)%totalptsup&lt;br /&gt;
            if ru ==1&lt;br /&gt;
        diffup(ru,cu) =  abs(upcastmatrix(ru,cu) - upcastmatrix((ru+1),(cu)));&lt;br /&gt;
            else&lt;br /&gt;
         diffup(ru,cu) =  abs(upcastmatrix(ru,cu) - upcastmatrix((ru-1),(cu)));&lt;br /&gt;
            end&lt;br /&gt;
        end    &lt;br /&gt;
        clear ru&lt;br /&gt;
        for ru = 1:length(upcastmatrix) &lt;br /&gt;
            if diffup(ru,cu) &amp;gt; trend;&lt;br /&gt;
             movavgup(ru,cu) =   moavg(flag,diffup,ru,cu,upcastmatrix,trend,totalptsup);&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sizediffdn = size(diffdn);&lt;br /&gt;
sizediffup = size(diffup);&lt;br /&gt;
diffdn59 = diffdn(1,59);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%==============end if done before  &lt;br /&gt;
 %------------------------------------------------------------------------&lt;br /&gt;
%------------end computes difference--------------------------- &lt;br /&gt;
 %------------------------------------------------------------------------&lt;br /&gt;
 %------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 %------------writes down to derived parameters&lt;br /&gt;
ogline = 0; %trip into loop&lt;br /&gt;
if fflag ==1&lt;br /&gt;
while strncmp(ogline,'&amp;lt;derived_parameters&amp;gt;',20) ~=1&lt;br /&gt;
            ogline = fgets(ogfile);&lt;br /&gt;
            fwrite(nfile1,ogline);&lt;br /&gt;
            fwrite(nfile2,ogline);&lt;br /&gt;
            derivedloc = ftell(nfile1);&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%------------end writes&lt;br /&gt;
%-------check to see if already despiked if so write 'd-d-'&lt;br /&gt;
 check =0;&lt;br /&gt;
 u= 0;&lt;br /&gt;
 clear stuff&lt;br /&gt;
 stuff = 0;&lt;br /&gt;
 %=====================for getting oplist if files already dspiked&lt;br /&gt;
  if fflag ~=1   &lt;br /&gt;
%      loca = ftell(nfile1)&lt;br /&gt;
      %frewind(nfile1)&lt;br /&gt;
      while strncmp(stuff,'&amp;lt;derived_parameters&amp;gt;',20) ~=1&lt;br /&gt;
%  %stuff = fgets(ogfile);&lt;br /&gt;
    stuff = fgets(nfile1);&lt;br /&gt;
     if strncmp(stuff,'a650ref',7);&lt;br /&gt;
%             &lt;br /&gt;
              oplist(1,:) = (strcat('d-',stuff(:,1:4))');&lt;br /&gt;
             num = 2;&lt;br /&gt;
                 for tr = num:18&lt;br /&gt;
                     stuff = fgets(nfile1);&lt;br /&gt;
%                     %oplist(2,:) = strcat('d-',stuff(:,1:4))&lt;br /&gt;
                     oplist(tr,:) = strcat('d-',stuff(:,1:4));&lt;br /&gt;
                 end&lt;br /&gt;
     end&lt;br /&gt;
         dploc = ftell(nfile1);&lt;br /&gt;
      end&lt;br /&gt;
 %=====================end for getting&lt;br /&gt;
 %=====================rest of list commands for already processed file&lt;br /&gt;
      while strncmp(check,'&amp;lt;data&amp;gt;',6) ~= 1&lt;br /&gt;
         u = u+1;&lt;br /&gt;
      check = fgets(nfile1);&lt;br /&gt;
             if strncmp(check,'d-',2) ==1&lt;br /&gt;
             auglist(u,:) = strcat('d-',check(:,1:6));             &lt;br /&gt;
             end&lt;br /&gt;
      end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
 %====================end of rest for already processed &lt;br /&gt;
%-------end check&lt;br /&gt;
&lt;br /&gt;
%--------------------creating new oplist if not already processed&lt;br /&gt;
clear u&lt;br /&gt;
stuff = 0; %trip into loop that makes list of derived&lt;br /&gt;
if fflag == 1; &lt;br /&gt;
%frewind(nfile1)&lt;br /&gt;
frewind(ogfile)&lt;br /&gt;
while strncmp(stuff,'&amp;lt;derived_parameters&amp;gt;',20) ~=1&lt;br /&gt;
  stuff = fgets(ogfile);&lt;br /&gt;
    if strncmp(stuff,'a650ref',7);&lt;br /&gt;
            &lt;br /&gt;
            oplist(1,:) = (strcat('d-',stuff(:,1:4))');&lt;br /&gt;
            num = 2;&lt;br /&gt;
                for yt = num:18&lt;br /&gt;
                    stuff = fgets(ogfile);&lt;br /&gt;
                    %oplist(2,:) = strcat('d-',stuff(:,1:4))&lt;br /&gt;
                    oplist(yt,:) = strcat('d-',stuff(:,1:4));&lt;br /&gt;
                end&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
%---------------------end of creating new file&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
%%-------------------------make output file-----------------------------&lt;br /&gt;
%downcast 1 upcast 2 &lt;br /&gt;
%-------------------------make out matricies loop----------------------&lt;br /&gt;
%----------------------------------------------------------------------&lt;br /&gt;
%----------------------------------------------------------------------&lt;br /&gt;
% &lt;br /&gt;
%                             %allocate space for entire matrix information + new&lt;br /&gt;
                                %oplist is the list of wavelengths&lt;br /&gt;
                            if fflag ==1&lt;br /&gt;
                             wholedn = zeros(totalptsdn,(41+length(oplist)));&lt;br /&gt;
                             wholeup = zeros(totalptsup,(41+length(oplist)));&lt;br /&gt;
                             %disp('writes to wholedn')&lt;br /&gt;
                             %sizewholedn = size(wholedn)&lt;br /&gt;
                             op = length(oplist);&lt;br /&gt;
                             &lt;br /&gt;
                            end&lt;br /&gt;
                            if fflag ~= 1&lt;br /&gt;
                              wholedn = zeros(totalptsdn,(41+length(oplist) + length(auglist)));&lt;br /&gt;
                              wholeup = zeros(totalptsup,(41+length(oplist) + length(auglist)));&lt;br /&gt;
                              aug = length(auglist);&lt;br /&gt;
                              op = length(oplist);&lt;br /&gt;
                              sizeofwholedn = size(wholedn);&lt;br /&gt;
                             &lt;br /&gt;
                            end&lt;br /&gt;
                            &lt;br /&gt;
%at this point it's needed to write the entire matrix to the new lcd up and&lt;br /&gt;
%down files&lt;br /&gt;
%to do this, the original data will be inserted in the whole-up/dn matrix&lt;br /&gt;
%in its proper location, then depending on weather diff &amp;gt; trend, either the&lt;br /&gt;
%movavg points will be inserted or the original points will be&lt;br /&gt;
%starts here&lt;br /&gt;
%if this is the second time dspike is used the original dspiked matrix will&lt;br /&gt;
%be augmented again with new d-d- columns&lt;br /&gt;
&lt;br /&gt;
%~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
%for down segments&lt;br /&gt;
if fflag ==1 %first time&lt;br /&gt;
&lt;br /&gt;
for c =1:length(downcastmatrix(1,:)); %for all 58 columns&lt;br /&gt;
     for k= 1:length(downcastmatrix(:,1))%for all the rows in downcastmatrix&lt;br /&gt;
             wholedn(k,c) = downcastmatrix(k,c); %puts origina stuff in for first 41 columns&lt;br /&gt;
     end &lt;br /&gt;
end&lt;br /&gt;
clear r&lt;br /&gt;
clear c&lt;br /&gt;
%size(downcastmatrix)&lt;br /&gt;
%size(diffdn)&lt;br /&gt;
%diffdn(720,2)&lt;br /&gt;
count =0;&lt;br /&gt;
for c =2:19 ;%length(diffdn(1,:))&lt;br /&gt;
   % count = 0;&lt;br /&gt;
    count = count+1;&lt;br /&gt;
   for r = 1:length(diffdn(:,1))%totalptsdn %will skip last line because difference is one line less; it needs two lines&lt;br /&gt;
        &lt;br /&gt;
         if diffdn(r,c) &amp;gt; trend;           &lt;br /&gt;
                  wholedn(r,41+count) = movavgdn(r,c);&lt;br /&gt;
               % nowassn =  wholedn(r,41+count)&lt;br /&gt;
                  %break&lt;br /&gt;
                  %return%----------------------------------------------&lt;br /&gt;
         else     &lt;br /&gt;
              wholedn(r,41+count) = downcastmatrix(r,c);&lt;br /&gt;
         end&lt;br /&gt;
   end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
clear c&lt;br /&gt;
&lt;br /&gt;
%for up segments&lt;br /&gt;
for c =1:length(upcastmatrix(1,:)); %for all 58 columns&lt;br /&gt;
     for k= 1:length(upcastmatrix(:,1)) %for all the rows in downcastmatrix&lt;br /&gt;
             wholeup(k,c) = upcastmatrix(k,c); %puts origina stuff in for first 41 columns&lt;br /&gt;
     end &lt;br /&gt;
end&lt;br /&gt;
clear r&lt;br /&gt;
count = 0;&lt;br /&gt;
for c =2:19;    %length(diffdn(1,:))&lt;br /&gt;
    count = count+1;&lt;br /&gt;
    for r = 1:length(diffup(:,1));%totalptsup;&lt;br /&gt;
         if diffup(r,c) &amp;gt; trend;&lt;br /&gt;
                  wholeup(r,41+count) = movavgup(r,c);&lt;br /&gt;
         else     &lt;br /&gt;
              wholeup(r,41+count) = upcastmatrix(r,c);  &lt;br /&gt;
         end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
clear count&lt;br /&gt;
    nname = strrep(p,'za','dza');&lt;br /&gt;
    justbeforeitwrites = size(wholedn);&lt;br /&gt;
    dlmwrite(strcat('desp1',nname),wholedn,'delimiter',' ','precision',6);&lt;br /&gt;
    dlmwrite(strcat('desp2',nname),wholeup,'delimiter',' ','precision',6);&lt;br /&gt;
end&lt;br /&gt;
%~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
%adds data to wholedn if already done before&lt;br /&gt;
    &lt;br /&gt;
if fflag ~=1&lt;br /&gt;
for c =1:length(downcastmatrix(1,:)); %for all 58 columns&lt;br /&gt;
     for k= 1:length(downcastmatrix(:,1))%totalptsdn ;%for all the rows in downcastmatrix &lt;br /&gt;
             wholedn(k,c) = downcastmatrix(k,c); %puts origina stuff in for first 41 columns&lt;br /&gt;
     end &lt;br /&gt;
end&lt;br /&gt;
clear r&lt;br /&gt;
clear c&lt;br /&gt;
for r = 1:length(diffdn(:,1));%totalptsdn;&lt;br /&gt;
    count = 0;&lt;br /&gt;
    for c =42:59 ;%length(diffdn(1,:))&lt;br /&gt;
        count = count+1;&lt;br /&gt;
         if diffdn(r,c) &amp;gt; trend;    &lt;br /&gt;
                  wholedn(r,59+count) = movavgdn(r,c);&lt;br /&gt;
         else     &lt;br /&gt;
              wholedn(r,59+count) = downcastmatrix(r,c);&lt;br /&gt;
         end&lt;br /&gt;
    end&lt;br /&gt;
    clear count&lt;br /&gt;
end&lt;br /&gt;
clear c&lt;br /&gt;
%for up segments&lt;br /&gt;
for c =1:length(upcastmatrix(1,:)); %for all 58 columns&lt;br /&gt;
     for k= 1:length(upcastmatrix(:,1))%totalptsup; %for all the rows in downcastmatrix&lt;br /&gt;
             wholeup(k,c) = upcastmatrix(k,c); %puts origina stuff in for first 41 columns&lt;br /&gt;
     end &lt;br /&gt;
end&lt;br /&gt;
clear r&lt;br /&gt;
for r = 1:length(diffup(:,1));%totalptsup;&lt;br /&gt;
    count = 0;&lt;br /&gt;
    for c =42:59; %length(diffdn(1,:))&lt;br /&gt;
        count = count+1;&lt;br /&gt;
         if diffup(r,c) &amp;gt; trend;&lt;br /&gt;
                  wholeup(r,59+count) = movavgup(r,c);&lt;br /&gt;
         else     &lt;br /&gt;
              wholeup(r,59+count) = upcastmatrix(r,c); &lt;br /&gt;
         end  &lt;br /&gt;
    end&lt;br /&gt;
    clear count&lt;br /&gt;
end&lt;br /&gt;
   &lt;br /&gt;
    nname = strrep(p,'za','dza')%=====================6666666666666666666666666666&lt;br /&gt;
    %nname = strcat('d',p)&lt;br /&gt;
    dlmwrite(strcat('desp1',nname),wholedn,'delimiter',' ','precision',6);&lt;br /&gt;
    dlmwrite(strcat('desp2',nname),wholeup,'delimiter',' ','precision',6);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%--------------------------end make out loop-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%------------loop to print oplist or aug after derived parameters-----------------&lt;br /&gt;
&lt;br /&gt;
if fflag == 1; %if creating new file&lt;br /&gt;
    &lt;br /&gt;
    for j= 1:length(oplist);&lt;br /&gt;
    fprintf(nfile1,'%s\n',oplist(j,:));&lt;br /&gt;
    fprintf(nfile2,'%s\n',oplist(j,:));&lt;br /&gt;
    end&lt;br /&gt;
    fprintf(nfile1,'&amp;lt;data&amp;gt;\n');&lt;br /&gt;
    fprintf(nfile2,'&amp;lt;data&amp;gt;\n');&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
%===================&lt;br /&gt;
if fflag ~=1 %if working with old file&lt;br /&gt;
    fseek(nfile1,dploc,-1);&lt;br /&gt;
    fseek(nfile2,dploc,-1);&lt;br /&gt;
     for j = 1:length(oplist) &lt;br /&gt;
     fprintf(nfile1,'%s\n',oplist(j,:));&lt;br /&gt;
     fprintf(nfile2,'%s\n',oplist(j,:));&lt;br /&gt;
     end&lt;br /&gt;
&lt;br /&gt;
     for k = 1:length(auglist)&lt;br /&gt;
         fprintf(nfile1,'%s\n',auglist(k,:));&lt;br /&gt;
         fprintf(nfile2,'%s\n',auglist(k,:));&lt;br /&gt;
     end&lt;br /&gt;
&lt;br /&gt;
     fprintf(nfile1,'&amp;lt;data&amp;gt;\n');&lt;br /&gt;
     fprintf(nfile2,'&amp;lt;data&amp;gt;\n');&lt;br /&gt;
     ndatloc = ftell(nfile1);&lt;br /&gt;
end&lt;br /&gt;
%==================&lt;br /&gt;
 %------end loop for oplist or aug-----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 %==============part that actually writes matrix to lcd file=============&lt;br /&gt;
 &lt;br /&gt;
     mindn = fopen(strcat('desp1',nname));&lt;br /&gt;
     minup = fopen(strcat('desp2',nname));&lt;br /&gt;
 %working with new file&lt;br /&gt;
 if fflag ==1&lt;br /&gt;
 for o= 1:length(diffdn(:,1))%totalptsdn&lt;br /&gt;
     ln = fgets(mindn);&lt;br /&gt;
    fprintf(nfile1,ln);&lt;br /&gt;
 end&lt;br /&gt;
for o= 1:length(diffup(:,1))%totalptsup&lt;br /&gt;
     ln = fgets(minup);&lt;br /&gt;
    fprintf(nfile2,ln);&lt;br /&gt;
end&lt;br /&gt;
 end&lt;br /&gt;
 %if working with already created file&lt;br /&gt;
 if fflag ~=1&lt;br /&gt;
     fseek(nfile1,ndatloc,-1)&lt;br /&gt;
     fseek(nfile2,ndatloc,-1)&lt;br /&gt;
 for o= 1:length(diffdn(:,1));%totalptsdn&lt;br /&gt;
     ln = fgets(mindn);&lt;br /&gt;
    fprintf(nfile1,ln);&lt;br /&gt;
 end&lt;br /&gt;
 for o= 1:length(diffup(:,1));%totalptsup&lt;br /&gt;
     ln = fgets(minup);&lt;br /&gt;
    fprintf(nfile2,ln);&lt;br /&gt;
 end&lt;br /&gt;
 end&lt;br /&gt;
 fclose(mindn);&lt;br /&gt;
 fclose(minup);&lt;br /&gt;
 %==============end write matrix to lcd ===================================&lt;br /&gt;
&lt;br /&gt;
%-----------notes filters that have already been used&lt;br /&gt;
frewind(ogfile);&lt;br /&gt;
%frewind(nfile1)&lt;br /&gt;
&lt;br /&gt;
while feof(ogfile)~=1&lt;br /&gt;
    loc1 = ftell(ogfile);&lt;br /&gt;
    lnprev = fgets(ogfile);&lt;br /&gt;
             if strncmp(lnprev,'&amp;lt;filters_used&amp;gt;',14) == 1 %tests for filters used location&lt;br /&gt;
                fprintf(nfile1,'&amp;lt;filters_used&amp;gt;\n');&lt;br /&gt;
                fprintf(nfile2,'&amp;lt;filters_used&amp;gt;\n');&lt;br /&gt;
                 % fseek(ogfile,loc1,-1)&lt;br /&gt;
                 fil = 0;% trip into loop&lt;br /&gt;
                 count =0;&lt;br /&gt;
                 while feof(ogfile) ~=1 %makes variable to hold each filter&lt;br /&gt;
                       count = count +1;&lt;br /&gt;
                       fil = fgets(ogfile);&lt;br /&gt;
                       fwrite(nfile1,fil);&lt;br /&gt;
                       fwrite(nfile2,fil);&lt;br /&gt;
                       eval(['filter',num2str(count) '= fil']);&lt;br /&gt;
                 end&lt;br /&gt;
             end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%-----------end notes&lt;br /&gt;
%-----------add to filters the dspiked filters&lt;br /&gt;
&lt;br /&gt;
for b = 1:length(oplist);&lt;br /&gt;
fprintf(nfile1,'%s', 'dspike ');&lt;br /&gt;
fprintf(nfile1,'%s',oplist(b,:));&lt;br /&gt;
fprintf(nfile1,'%d %d\n', trend,flag);&lt;br /&gt;
fprintf(nfile2,'%s', 'dspike ');&lt;br /&gt;
fprintf(nfile2,'%s',oplist(b,:));&lt;br /&gt;
fprintf(nfile2,'%d %d\n', trend,flag);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if fflag ~=1&lt;br /&gt;
    %fseek(nfile1,loc1,-1);&lt;br /&gt;
    fprintf(nfile1,'%s', 'dspike ');&lt;br /&gt;
fprintf(nfile1,'%s',oplist(b,:));&lt;br /&gt;
fprintf(nfile1,'%d %d\n', trend,flag);&lt;br /&gt;
fprintf(nfile2,'%s', 'dspike ');&lt;br /&gt;
fprintf(nfile2,'%s',oplist(b,:));&lt;br /&gt;
fprintf(nfile2,'%d %d\n', trend,flag);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
for b = 1:length(auglist);&lt;br /&gt;
fprintf(nfile1,'%s', 'dspike ');&lt;br /&gt;
fprintf(nfile1,'%s',auglist(b,:));&lt;br /&gt;
fprintf(nfile1,'%d %d\n', trend,flag);&lt;br /&gt;
end&lt;br /&gt;
clear b&lt;br /&gt;
%fseek(nfile2,loc2,-1)&lt;br /&gt;
for b = 1:length(auglist);&lt;br /&gt;
fprintf(nfile2,'%s', 'dspike ');&lt;br /&gt;
fprintf(nfile2,'%s',auglist(b,:));&lt;br /&gt;
fprintf(nfile2,'%d %d\n', trend,flag);&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%-------------update list_ac9-------------- &lt;br /&gt;
mark = ftell(id);&lt;br /&gt;
&lt;br /&gt;
if fflag ==1&lt;br /&gt;
   frewind(id); &lt;br /&gt;
h=0;&lt;br /&gt;
r =1;  &lt;br /&gt;
for po=1:h1 %-1&lt;br /&gt;
h = h+2;&lt;br /&gt;
    r = h-1;&lt;br /&gt;
    ac9 = fgets(id);&lt;br /&gt;
    t =  textscan(ac9,'%s');&lt;br /&gt;
        newlst = char(t{1,:});&lt;br /&gt;
        newlst = strrep(newlst,'z','dz');&lt;br /&gt;
        newl(r,:) = strrep(newlst,'.lcd','.lcd.1');&lt;br /&gt;
        newl(h,:) = strrep(newlst,'.lcd','.lcd.2');&lt;br /&gt;
        &lt;br /&gt;
end&lt;br /&gt;
%if strncmp(p,'z',1) ==1&lt;br /&gt;
    dlmwrite('list_ac9dz',newl,'');&lt;br /&gt;
%end&lt;br /&gt;
end&lt;br /&gt;
  &lt;br /&gt;
fseek(id,mark,-1);&lt;br /&gt;
                fclose(ogfile);&lt;br /&gt;
     if endflag==1&lt;br /&gt;
         break&lt;br /&gt;
     end&lt;br /&gt;
  end              &lt;br /&gt;
fclose all;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[deemmer]]&amp;lt;big&amp;gt;&lt;/div&gt;</summary>
		<author><name>128.111.101.185</name></author>
		
	</entry>
</feed>