Changeset 40693 for trunk/doc/release.2015/ps1.analysis/examples/moments.sh
- Timestamp:
- Apr 13, 2019, 12:48:05 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/release.2015/ps1.analysis/examples/moments.sh
r40690 r40693 1 2 macro 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 36 end 1 37 2 38 macro show.pol … … 30 66 end 31 67 68 macro 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; 132 end 32 133 33 134 macro test.rot
Note:
See TracChangeset
for help on using the changeset viewer.
