IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 25, 2013, 12:18:02 PM (13 years ago)
Author:
eugene
Message:

try to model index vs Mxx, etc (failed)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20130711/psphot/test/tap_psphot_galaxygrid.pro

    r35973 r36029  
    155155  $BaseConfig = $FakeConfig
    156156
    157   # $FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_GAUSS
    158   # $FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_EXP
    159   # $FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_SERSIC
    160   # $FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_DEV
    161   # $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MIN 10.0
    162   # $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MAX 10.0
    163   # $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MIN 0.25
    164   # $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MAX 0.25
    165   # $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MIN 1.66
    166   # $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX 1.66
    167 
    168157  $Nseq = 0
    169158  foreach type EXP DEV
     
    229218        foreach fwhm 0.8 1.0 1.5
    230219          sprint name "sample.%02d" $Nseq
    231           cmf.load.concat $1/$name.dat $2/$name.fit.cmf DEVEXP
     220          cmf.load.concat $1/$name.dat $2/$name.fit.cmf $type
    232221          $Nseq ++
    233222        end
     
    280269
    281270macro grid.mkexp.sersic
     271  if ($0 != 2)
     272    echo "USAGE: grid.mkexp.devexp (dir)"
     273    break
     274  end
     275
     276  mkdir $1
     277
    282278  $FakeConfig = -camera SIMTEST
    283279  $FakeConfig = $FakeConfig -recipe PPSIM STACKTEST.RUN
     
    288284  $FakeConfig = $FakeConfig -Db GALAXY.FAKE T                        ; # generate a "realistic" distribution of galaxies
    289285  $FakeConfig = $FakeConfig -Df GALAXY.MAG 17.0
     286  $FakeConfig = $FakeConfig -Df GALAXY.GRID.MAG 14.5
    290287  $FakeConfig = $FakeConfig -Db GALAXY.GRID T                        ; # generate a grid of galaxies (constant mag)
    291288  $FakeConfig = $FakeConfig -Df GALAXY.THETA.MIN 0
     
    295292  $FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_SERSIC
    296293  $BaseConfig = $FakeConfig
    297 
    298   # $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MIN 1.0
    299   # $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX 1.0
    300   # $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MIN 10.0
    301   # $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MAX 10.0
    302   # $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MIN 0.25
    303   # $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MAX 0.25
    304   # $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MIN 1.66
    305   # $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX 1.66
    306294
    307295  $Nseq = 0
     
    318306          $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX $index
    319307         
     308          sprint name "$1/sersic.%02d" $Nseq
     309          mkexp $name $fwhm SERSIC
     310          $Nseq ++
     311        end
     312      end
     313    end
     314  end
     315end
     316
     317macro grid.fitexp.sersic.devexp
     318  if ($0 != 3)
     319    echo "USAGE: grid.fitexp.sersic.devexp (srcdir) (outdir)"
     320    break
     321  end
     322
     323  mkdir $2
     324
     325  $Nseq = 0
     326  foreach index 1 2 3 4
     327    foreach Rmajor 3 10 30
     328      foreach Aratio 0.25 0.5 1.0
     329        foreach fwhm 0.8 1.0 1.5
    320330          sprint name "sersic.%02d" $Nseq
    321           mkexp $name $fwhm SERSIC
     331          fitexp $1/$name $2/$name.fit EXP_CONV,DEV_CONV
    322332          $Nseq ++
    323333        end
     
    343353
    344354macro grid.load.sersic
    345   delete -q Xin_s Yin_s Min_s Tin_s Rin_s rin_s Iin_s
    346   delete -q Xot_s Yot_s Mot_s Tot_s Rot_s rot_s Iot_s
     355  if ($0 != 3)
     356    echo "USAGE: grid.load.devexp (srcdir) (fitdir)"
     357    break
     358  end
     359
     360  delete -q Xin_s Yin_s Min_s Tin_s Rin_s rin_s MTin_s Iin_s
     361  delete -q Xot_s Yot_s Mot_s Tot_s Rot_s rot_s MTot_s Iot_s
    347362
    348363  $Nseq = 0
     
    352367        foreach fwhm 0.8 1.0 1.5
    353368          sprint name "sersic.%02d" $Nseq
    354           cmf.load.concat $name.dat $name.fit.cmf SERSIC
     369          cmf.load.concat $1/$name.dat $2/$name.fit.cmf SERSIC
    355370          $Nseq ++
    356371        end
     
    359374  end
    360375end
     376
     377# I want to make plots of Iin_s vs Mkron, Mxx, and similar things
     378# this means I need to be able to join Chip.xfit things against Chip.psf
     379# and to join Chip.xfit(DEV) to Chip.xfit(EXP)
     380
     381# I think I need a generic 'JOIN' function
    361382
    362383macro grid.plots.sersic
     
    482503  subset IndexIn = IndexIn_all if (Type == 1)
    483504
     505  $TYPE_S = 83
     506  $TYPE_D = 68
     507  $TYPE_E = 69
     508  if ("$3" == "SERSIC")
     509    $InType = $TYPE_S
     510  end
     511  if ("$3" == "DEV")
     512    $InType = $TYPE_D
     513  end
     514  if ("$3" == "EXP")
     515    $InType = $TYPE_E
     516  end
     517
    484518  data $2
    485   if ("$3" == "SERSIC")
    486     read -fits Chip.xfit X_EXT Y_EXT EXT_INST_MAG EXT_WIDTH_MAJ EXT_WIDTH_MIN EXT_THETA EXT_PAR_07
    487   else
    488     read -fits Chip.xfit X_EXT Y_EXT EXT_INST_MAG EXT_WIDTH_MAJ EXT_WIDTH_MIN EXT_THETA
    489   end
     519
     520  break -auto off
     521  read -fits Chip.xfit X_EXT Y_EXT EXT_INST_MAG EXT_WIDTH_MAJ EXT_WIDTH_MIN EXT_THETA MODEL_TYPE EXT_PAR_07
     522  $reread = not($STATUS)
     523  break -auto on
     524  if ($reread)
     525    read -fits Chip.xfit X_EXT Y_EXT EXT_INST_MAG EXT_WIDTH_MAJ EXT_WIDTH_MIN EXT_THETA MODEL_TYPE
     526    set EXT_PAR_07 = (MODEL_TYPE:9 == 68)*4 + (MODEL_TYPE:9 == 69)
     527  end
     528
    490529  set EXT_THETA_ALT = EXT_THETA * (EXT_THETA >= 0.0) + (EXT_THETA + 3.14159265) * (EXT_THETA < 0.0)
    491530  set EXT_THETA = EXT_THETA_ALT * 180 / 3.14159265
     
    498537  reindex Xin_m = Xin using index2
    499538  reindex Yin_m = Yin using index2
     539
     540  set MTin_m = $InType + zero(Xin_m)
     541  reindex MTot_m = MODEL_TYPE:9 using index1
    500542
    501543  reindex Mot_m = EXT_INST_MAG using index1
     
    514556    reindex Iot_m = EXT_PAR_07 using index1
    515557    reindex Iin_m = IndexIn using index2
    516    $fields = X Y M T R r I
     558   $fields = X Y M T R r MT I
    517559  else
    518    $fields = X Y M T R r
     560   $fields = X Y M T R r MT
    519561  end
    520562 
     
    523565      concat $field\$set\_m $field\$set\_s
    524566    end
     567  end
     568
     569  concat min min_S
     570  concat Min Min_S
     571end
     572
     573macro grid.load.sersic.test
     574  if ($0 != 3)
     575    echo "USAGE: grid.load.devexp.test (srcdir) (fitdir)"
     576    break
     577  end
     578
     579  $fields_bt = X Y M T R r I
     580  $fields_ot = Pmag Kmag Amag IDx MTot
     581
     582  foreach field $fields_bt
     583    foreach set in ot
     584      delete -q $field\$set\_dev_s
     585      delete -q $field\$set\_exp_s
     586    end
     587  end
     588  foreach field $fields_ot
     589    delete -q $field\_dev_s
     590    delete -q $field\_exp_s
     591  end
     592
     593  $Nseq = 0
     594  foreach index 1 2 3 4
     595    foreach Rmajor 3 10 30
     596      foreach Aratio 0.25 0.5 1.0
     597        foreach fwhm 0.8 1.0 1.5
     598          sprint name "sersic.%02d" $Nseq
     599          cmf.load.sersic.test $1/$name.dat $2/$name.fit.cmf
     600          $Nseq ++
     601        end
     602      end
     603    end
     604  end
     605end
     606
     607# I have run DEV and EXP against input models of type SERSIC
     608macro cmf.load.sersic.test
     609  if ($0 != 3)
     610    echo "USAGE: cmf.load.sersic.test (dat) (cmf)"
     611    break
     612  end
     613
     614  # input parameters
     615  data $1
     616  read Xin_all 1 Yin_all 2 Fin_all 3 Type 4 Min_all 5 RmajIn_all 7 RminIn_all 8 ThetaIn_all 9 IndexIn_all 10
     617
     618  # galaxies only
     619  subset Xin = Xin_all if (Type == 1)
     620  subset Yin = Yin_all if (Type == 1)
     621  subset Min = Min_all if (Type == 1)
     622  subset Fin = Fin_all if (Type == 1)
     623  set min = -2.5*log(Fin)
     624
     625  subset Tin_rad = ThetaIn_all if (Type == 1)
     626  set Tin = Tin_rad * 180 / 3.14159265
     627
     628  subset RmajIn = RmajIn_all if (Type == 1)
     629  subset RminIn = RminIn_all if (Type == 1)
     630
     631  subset IndexIn = IndexIn_all if (Type == 1)
     632
     633  $TYPE_S = 83
     634  $TYPE_D = 68
     635  $TYPE_E = 69
     636
     637  data $2
     638
     639  # load measured values from xfit
     640  read -fits Chip.xfit IPP_IDET X_EXT Y_EXT EXT_INST_MAG EXT_WIDTH_MAJ EXT_WIDTH_MIN EXT_THETA MODEL_TYPE PSF_INST_MAG AP_MAG KRON_MAG
     641  set EXT_PAR_07 = (MODEL_TYPE:9 == $TYPE_D)*4 + (MODEL_TYPE:9 == $TYPE_E)
     642
     643  set EXT_THETA_ALT = EXT_THETA * (EXT_THETA >= 0.0) + (EXT_THETA + 3.14159265) * (EXT_THETA < 0.0)
     644  set EXT_THETA = EXT_THETA_ALT * 180 / 3.14159265
     645  set IPP_IDET_EXT = IPP_IDET
     646 
     647  match2d X_EXT Y_EXT Xin Yin 1.0 -index1 index1 -index2 index2
     648
     649  reindex Xot_m = X_EXT using index1
     650  reindex Yot_m = Y_EXT using index1
     651
     652  reindex Xin_m = Xin using index2
     653  reindex Yin_m = Yin using index2
     654
     655  reindex Mot_m = EXT_INST_MAG using index1
     656  reindex Tot_m = EXT_THETA using index1
     657
     658  reindex Min_m = Min using index2
     659  reindex Tin_m = Tin using index2
     660
     661  reindex Rot_m = EXT_WIDTH_MAJ using index1
     662  reindex rot_m = EXT_WIDTH_MIN using index1
     663
     664  reindex Rin_m = RmajIn using index2
     665  reindex rin_m = RminIn using index2
     666 
     667  reindex Pmag_m = PSF_INST_MAG using index1
     668  reindex Kmag_m = KRON_MAG using index1
     669  reindex Amag_m = AP_MAG using index1
     670
     671  reindex IDx_m = IPP_IDET_EXT using index1
     672
     673  reindex MTot_m = MODEL_TYPE:9 using index1
     674
     675  reindex Iot_m = EXT_PAR_07 using index1
     676  reindex Iin_m = IndexIn using index2
     677 
     678  # load moments and other kron values from Chip.psf
     679  read -fits Chip.psf IPP_IDET X_PSF Y_PSF MOMENTS_XX MOMENTS_XY MOMENTS_YY KRON_FLUX_INNER MOMENTS_R1 MOMENTS_RH
     680  set IPP_IDET_PSF = IPP_IDET
     681
     682  join -outer IPP_IDET_PSF IDx_m
     683  reindex Xp = X_PSF using index2
     684  reindex Yp = Y_PSF using index2
     685
     686  reindex Mxx_m = MOMENTS_XX using index2
     687  reindex Mxy_m = MOMENTS_XY using index2
     688  reindex Myy_m = MOMENTS_YY using index2
     689  reindex Mr1_m = MOMENTS_R1 using index2
     690  reindex Mrh_m = MOMENTS_RH using index2
     691  reindex Kfi_m = KRON_FLUX_INNER using index2
     692  set Kmi_m = -2.5*log(Kfi_m)
     693
     694  $fields_bt = X Y M T R r I
     695  $fields_ot = Pmag Kmag Amag IDx MTot Mxx Mxy Myy Mr1 Mrh Kmi
     696
     697  foreach field $fields_ot
     698    subset $field\_exp_m = $field\_m where (MTot_m == $TYPE_E)
     699    subset $field\_dev_m = $field\_m where (MTot_m == $TYPE_D)
     700  end
     701  foreach field $fields_bt
     702    foreach set in ot
     703      subset $field\$set\_exp_m = $field\$set\_m where (MTot_m == $TYPE_E)
     704      subset $field\$set\_dev_m = $field\$set\_m where (MTot_m == $TYPE_D)
     705    end
     706  end
     707
     708  join IDx_exp_m IDx_dev_m
     709  foreach field $fields_ot
     710    reindex $field\_exp_mr = $field\_exp_m using index1
     711    reindex $field\_dev_mr = $field\_dev_m using index2
     712  end
     713  foreach field $fields_bt
     714    foreach set in ot
     715      reindex $field\$set\_exp_mr = $field\$set\_exp_m using index1
     716      reindex $field\$set\_dev_mr = $field\$set\_dev_m using index2
     717    end
     718  end
     719
     720  # concat
     721  foreach field $fields_bt
     722    foreach set in ot
     723      concat $field\$set\_dev_mr $field\$set\_dev_s
     724      concat $field\$set\_exp_mr $field\$set\_exp_s
     725    end
     726  end
     727  foreach field $fields_ot
     728    concat $field\_dev_mr $field\_dev_s
     729    concat $field\_exp_mr $field\_exp_s
    525730  end
    526731
Note: See TracChangeset for help on using the changeset viewer.