next up previous contents
Next: Output Description Up: FILTPHASE Previous: FILTPHASE   Contents

Input Cards

PF_METHOD $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{{\underline{goldstein}}}}}}$
$\textstyle \parbox{\MY}{Select goldstein method (''goldstein''), or spatial con...
...2D,
PF\_BLOCKSIZE and PF\_OVERLAP. For more info see implementation
section.}$



PF_OUT_FILE $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{{\underline{cint.alpha.filtered}}}}}}$
$\textstyle \parbox{\MY}{Output filename for complex real4 file with filtered ph...
...re alpha is substituted. For method spatialconv, default
is ''cint.filtered''}$



PF_IN_FILE $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{filename numlines}}}}$
$\textstyle \parbox{\MY}{Optional filename of complex real4 inteferogram (mph) f...
...rick' Doris.
For now, the interferogram to be filtered must be complex real4.}$



PF_ALPHA $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{{\underline{0.2}}}}}}$
$\textstyle \parbox{\MY}{This card is for method goldstein only. Alpha parameter...
... higher smoothing, relative decreases the peak, and thus the effect
of alpha.}$



PF_OVERLAP $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{{\underline{3}}}}}}$
$\textstyle \parbox{\MY}{This card is for method {\it goldstein} and {\it spectr...
... is centered around it. This is probably the best, but may be
time consuming.}$



PF_BLOCKSIZE $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{{\underline{32}}}}}}$
$\textstyle \parbox{\MY}{This card is for method {\it goldstein} and {\it spectr...
...h that it contains a peak frequency (1 trend in phase).
(32 is recommended.))}$



PF_KERNEL $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{{\underline{3 1/3 1/3 1/3}}}}}}$
$\textstyle \parbox{\MY}{This card is for method goldstein and spatialconv only....
...on section. The output
matrix has a zero valued edge of size floor(kernel/2).}$



PF_IN_KERNEL2D $\textstyle \parbox{0.75\linewidth}{
{\textrm{\it{filename}}}}$
$\textstyle \parbox{\MY}{This card is for method {\it spatialconv} and {\it spec...
... other way. The output matrix
has a zero valued edge of size floor(kernel/2).}$



Example of the cards for this step:

  c
  c
  comment   ___PHASEFILT___
  c
  c PF_METHOD    spectral
  c PF_IN_KERNEL2D  /proto/myfilter
  c PF_BLOCKSIZE 32
  c PF_OVERLAP   4
  c
  c PF_METHOD    spatialconv
  c PF_KERNEL    5 1 1 1 1 1
  c PF_IN_KERNEL2D  /proto/myfilter
  c
  c PF_METHOD    goldstein
 PF_IN_FILE   Outdata/cint.srp.raw 323
 PF_ALPHA     0.5
 PF_KERNEL    5 1 1 1 1 1
 PF_OVERLAP   4
 PF_BLOCKSIZE 32

A simple example of PF_IN_KERNEL2D in an ascii input file (use this example with method spatialconv)

  5  5  0.05
  0  1  1  1  1
 -1  0  1  1  1
 -1 -1  0  1  1
 -1 -1 -1  0  1
 -1 -1 -1 -1  0

A second example of PF_IN_KERNEL2D ascii input file One could use cards: PF_BLOCKSIZE 32, and PF_OVERLAP 4, PF_METHOD spatial

 15  15  1.0
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

The idea is to have a template directory with ascii kernels in it, that then can be used in doris. I do not have much experience with this.

One could generate the different filters with Matlab. For spectral method, one may want to filter with an Hamming window.

If you have matlab, paste the following to your terminal (uses Matlab) to generate the ascii file (just an example, please experiment yourself). Moreover, if you want to offer your ascii kernels for standard distribution of doris, please email it to us.

 matlab << __EOFHD > /dev/null
 SIZE = 32;
 filterfile = 'filter.hamming';
 f = (standing(hamming(SIZE))*ones(1,SIZE)) .* ...
     (ones(SIZE,1)*lying(hamming(SIZE)));  
 fid = fopen(filterfile,'w');
 fprintf(fid,'%i %i 1.0\n',SIZE,SIZE);
 for ii=1:SIZE
   fprintf(fid,'%4.2f ',f(ii,:));
   fprintf(fid,'\n');
 end
 exit;
 __EOFHD

And in Doris use the cards (using filter in spectral domain in this case):

 PF_METHOD    spectral
 PF_IN_KERNEL2D  filter.hamming
 PF_BLOCKSIZE 32
 PF_OVERLAP   4


next up previous contents
Next: Output Description Up: FILTPHASE Previous: FILTPHASE   Contents
Leijen 2009-04-14