IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 13, 2019, 12:48:05 PM (7 years ago)
Author:
eugene
Message:

adding smear experiment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/release.2015/ps1.analysis/examples/moments.sh

    r40690 r40693  
     1
     2macro imconvolve
     3  if ($0 != 4)
     4    echo "USAGE: imconvolve (image) (kernel) (output)"
     5    break
     6  end
     7
     8  # if kernel is not the same size as input, pad
     9  if ($1[][0] != $2[][0])
     10    echo "image sizes do not match"
     11    break
     12  end
     13  if ($1[0][] != $2[0][])
     14    echo "image sizes do not match"
     15    break
     16  end
     17
     18  local Nx Ny
     19  $Nx = $1[][0]
     20  $Ny = $1[0][]
     21
     22  fft2d $1 0 to im_R im_I
     23  fft2d $2 0 to kr_R kr_I
     24
     25  $Npix = $Nx*$Ny
     26  set ff_R = $Npix*(im_R * kr_R - im_I * kr_I)
     27  set ff_I = $Npix*(im_I * kr_R + im_R * kr_I)
     28
     29  fft2d -inverse ff_R ff_I to ot_R ot_I
     30  set tmppow = $Npix*sqrt(ot_R^2 + ot_I^2)
     31
     32  extract tmppow $3       0       0 {$Nx/2} {$Ny/2} {$Nx/2} {$Ny/2} $Nx $Ny
     33  extract tmppow $3 {$Nx/2}       0 {$Nx/2} {$Ny/2}       0 {$Ny/2} $Nx $Ny
     34  extract tmppow $3       0 {$Ny/2} {$Nx/2} {$Ny/2} {$Nx/2}       0 $Nx $Ny
     35  extract tmppow $3 {$Nx/2} {$Ny/2} {$Nx/2} {$Ny/2}       0       0 $Nx $Ny
     36end
    137
    238macro show.pol
     
    3066end
    3167
     68macro show.smear
     69  if ($0 != 2)
     70    echo "USAGE: show.smear (sigma)"
     71    break
     72  end
     73
     74  mcreate z 512 512
     75  set x = xramp(z) - z[][0]/2
     76  set y = yramp(z) - z[0][]/2
     77
     78  set f0 = 10*exp(-0.5*((x/2)^2 + (y/10)^2))
     79  set psf_r = exp(-0.5*((x/2)^2 + (y/6)^2))
     80  rotate psf_r 30.0
     81  extract psf_r psf {psf_r[][0]/2 - 256} {psf_r[0][]/2 - 256} 512 512 0 0 512 512
     82  star -q psf {psf[][0]/2} {psf[0][]/2} 128
     83  $Mxx_p = ($SXg/2.355)^2
     84  $Myy_p = ($SYg/2.355)^2
     85  $Mxy_p = $SXYg
     86
     87  delete -q e1_s e2_s e1_o e2_o theta Mxx_s Mxy_s Myy_s Mxx_o Mxy_o Myy_o
     88  for rot 0 360 5
     89    set fr = f0
     90    rotate fr $rot
     91    delete -q frs
     92    extract fr frs {fr[][0]/2 - 256} {fr[0][]/2 - 256} 512 512 0 0 512 512
     93
     94    imconvolve frs psf fs
     95
     96    star -q fs {fs[][0]/2} {fs[0][]/2} 128
     97
     98    $Mxx = ($SXg/2.355)^2
     99    $Myy = ($SYg/2.355)^2
     100    $Mxy = $SXYg
     101
     102    $T = $Mxx + $Myy
     103    $e1 = ($Mxx - $Myy) / $T
     104    $e2 = 2*$Mxy / $T
     105
     106    concat $rot theta
     107    concat $e1 e1_s
     108    concat $e2 e2_s
     109    concat $Mxx Mxx_s
     110    concat $Mxy Mxy_s
     111    concat $Myy Myy_s
     112
     113    # fr is the rotate version of f0
     114    star -q fr {fr[][0]/2} {fr[0][]/2} 128
     115
     116    $Mxx = ($SXg/2.355)^2
     117    $Myy = ($SYg/2.355)^2
     118    $Mxy = $SXYg
     119
     120    $T = $Mxx + $Myy
     121    $e1 = ($Mxx - $Myy) / $T
     122    $e2 = 2*$Mxy / $T
     123
     124    concat $e1 e1_o
     125    concat $e2 e2_o
     126    concat $Mxx Mxx_o
     127    concat $Mxy Mxy_o
     128    concat $Myy Myy_o
     129  end
     130
     131  lim -n graph -1.5 1.5 -1.5 1.5; clear; box; plot -pt cir -sz 2 -c blue e1_o e2_o; plot -pt cir -sz 2 -c red e1_s e2_s;
     132end
    32133
    33134macro test.rot
Note: See TracChangeset for help on using the changeset viewer.