pro cleandeep,inf,out ;IPOTESI: l'immagine ha le bande cattive ORIZZONTALI ;SET s=10 in cleantot ;SET n=0.8 in cleantot on_error,2 in=rotate(inf,1) dim=size(in) hs=dim(1) vs=dim(2) d=8 ;distanza fra blocchi di bande cattive: periodicita' dei canali ;cattivi dovuta all'elettronica del dispositivo k=(hs-1)/d ;numero max. di colonne da pulire (es. hs=128, d=8, k=15) g=4 ;posto della prima colonna buona b=5 ;posto della prima colonna cattiva c=6 ;posto della seconda colonna cattiva e=7 ;posto della seconda colonna buona v=fltarr(k,vs) medianv=fltarr(vs) for i=0,(k-1) do begin v(i,*)=(in(g+i*d,*)+in(e+i*d,*))/2-(in(b+i*d,*)+in(c+i*d,*))/2 endfor for i=0,(vs-1) do begin resistant_mean,v(*,i),2.5,mean,sigma,num_rej medianv(i)=mean endfor outt=in for i=0,(k-1) do begin outt(b+i*d,*)=in(b+i*d,*)+medianv outt(c+i*d,*)=in(c+i*d,*)+medianv endfor out=rotate(outt,3) end