Changeset 36884
- Timestamp:
- Jun 17, 2014, 5:58:38 AM (12 years ago)
- Location:
- branches/eam_branches/ipp-20140610
- Files:
-
- 141 edited
- 14 copied
-
. (modified) (1 prop)
-
Ohana/src/getstar (modified) (1 prop)
-
Ohana/src/getstar/src/ReadImageFiles.c (modified) (1 diff)
-
Ohana/src/relastro/src/launch_region_hosts.c (modified) (1 diff)
-
Ohana/src/relastro/src/syncfile.c (modified) (1 diff)
-
Ohana/src/relphot/src/launch_region_hosts.c (modified) (1 diff)
-
Ohana/src/relphot/src/syncfile.c (modified) (1 diff)
-
ippScripts/scripts/queuestaticsky.pl (modified) (1 prop)
-
ippScripts/scripts/sc_prepare_camera.pl (modified) (1 diff)
-
ippScripts/scripts/sc_prepare_chip.pl (modified) (1 diff)
-
ippScripts/scripts/sc_prepare_stack.pl (copied) (copied from trunk/ippScripts/scripts/sc_prepare_stack.pl )
-
ippScripts/scripts/sc_prepare_warp.pl (modified) (1 diff)
-
ippTasks/Makefile.am (modified) (1 diff)
-
ippTasks/remote.pro (copied) (copied from trunk/ippTasks/remote.pro )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/Detection (modified) (3 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/Detection.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/Detection.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetObject (modified) (2 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetObject.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetObject.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetection (modified) (4 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetection.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetection.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedMeanObject (modified) (1 diff)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedMeanObject.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedMeanObject.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpMeasurement (modified) (3 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpMeasurement.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpMeasurement.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/MeanObject (modified) (1 diff)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/MeanObject.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/MeanObject.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ObjectThin (modified) (1 diff)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ObjectThin.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ObjectThin.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlx (modified) (2 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlx.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlx.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackModelFit (modified) (2 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackModelFit.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackModelFit.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackObject (modified) (5 diffs)
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackObject.txt (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackObject.txt )
-
ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/changes.r36847 (copied) (copied from trunk/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/changes.r36847 )
-
ippTools/share/remotetool_definebyquery_cam.sql (modified) (1 diff)
-
ippTools/share/remotetool_definebyquery_stack.sql (modified) (1 diff)
-
ippTools/share/remotetool_definebyquery_warp.sql (modified) (1 diff)
-
ippconfig (modified) (1 prop)
-
ippconfig/gpc1/ppStack.config (modified) (3 diffs)
-
ippconfig/gpc1/psastro.config (modified) (8 diffs)
-
ippconfig/recipes/ppStack.config (modified) (1 diff)
-
ippconfig/recipes/ppSub.config (modified) (1 prop)
-
ippconfig/recipes/psphot.config (modified) (5 diffs)
-
ippconfig/recipes/reductionClasses.mdc (modified) (1 prop)
-
ppSim/src/ppSimInsertGalaxies.c (modified) (3 diffs)
-
ppSim/src/ppSimInsertStars.c (modified) (2 diffs)
-
ppStack/src/ppStack.h (modified) (1 diff)
-
ppStack/src/ppStackCombineFinal.c (modified) (2 diffs)
-
ppStack/src/ppStackLoop.c (modified) (3 diffs)
-
ppStack/src/ppStackLoop.h (modified) (1 diff)
-
ppStack/src/ppStackOptions.c (modified) (2 diffs)
-
ppStack/src/ppStackOptions.h (modified) (1 diff)
-
ppStack/src/ppStackPrepare.c (modified) (2 diffs)
-
ppStack/src/ppStackReadout.c (modified) (4 diffs)
-
ppStack/src/ppStackThread.c (modified) (1 diff)
-
ppViz/src/ppVizPSF/ppVizPSFLoop.c (modified) (2 diffs)
-
psModules/src/camera/pmFPAfileIO.c (modified) (1 diff)
-
psModules/src/camera/pmReadoutFake.c (modified) (5 diffs)
-
psModules/src/extras/pmThreadTools.c (modified) (1 diff)
-
psModules/src/extras/pmVisual.c (modified) (1 diff)
-
psModules/src/imcombine/pmPSFEnvelope.c (modified) (3 diffs)
-
psModules/src/imcombine/pmSubtractionStamps.c (modified) (1 diff)
-
psModules/src/objects/mksource.pl (modified) (1 diff)
-
psModules/src/objects/models/fwhm.sh (copied) (copied from trunk/psModules/src/objects/models/fwhm.sh )
-
psModules/src/objects/models/pmModel_DEV.c (modified) (6 diffs)
-
psModules/src/objects/models/pmModel_DEV.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_EXP.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_EXP.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_GAUSS.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_GAUSS.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_PGAUSS.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_PGAUSS.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_PS1_V1.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_PS1_V1.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_QGAUSS.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_QGAUSS.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_RGAUSS.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_RGAUSS.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_SERSIC.c (modified) (6 diffs)
-
psModules/src/objects/models/pmModel_SERSIC.h (modified) (1 diff)
-
psModules/src/objects/models/pmModel_TRAIL.c (modified) (5 diffs)
-
psModules/src/objects/models/pmModel_TRAIL.h (modified) (1 diff)
-
psModules/src/objects/pmDetEff.c (modified) (1 diff)
-
psModules/src/objects/pmGrowthCurve.c (modified) (1 diff)
-
psModules/src/objects/pmGrowthCurveGenerate.c (modified) (1 diff)
-
psModules/src/objects/pmModel.c (modified) (5 diffs)
-
psModules/src/objects/pmModel.h (modified) (1 diff)
-
psModules/src/objects/pmModelClass.c (modified) (2 diffs)
-
psModules/src/objects/pmModelClass.h (modified) (1 diff)
-
psModules/src/objects/pmModelFuncs.h (modified) (1 diff)
-
psModules/src/objects/pmModelUtils.c (modified) (6 diffs)
-
psModules/src/objects/pmPCM_MinimizeChisq.c (modified) (2 diffs)
-
psModules/src/objects/pmPCMdata.c (modified) (6 diffs)
-
psModules/src/objects/pmPSF.c (modified) (6 diffs)
-
psModules/src/objects/pmPSF.h (modified) (1 diff)
-
psModules/src/objects/pmPSF_IO.c (modified) (1 diff)
-
psModules/src/objects/pmPSFtry.c (modified) (1 diff)
-
psModules/src/objects/pmPSFtryFitEXT.c (modified) (1 diff)
-
psModules/src/objects/pmPSFtryFitPSF.c (modified) (1 diff)
-
psModules/src/objects/pmPSFtryMakePSF.c (modified) (2 diffs)
-
psModules/src/objects/pmPSFtryMetric.c (modified) (1 diff)
-
psModules/src/objects/pmPSFtryModel.c (modified) (1 diff)
-
psModules/src/objects/pmPhotObj.c (modified) (1 diff)
-
psModules/src/objects/pmSource.c (modified) (4 diffs)
-
psModules/src/objects/pmSource.h (modified) (1 diff)
-
psModules/src/objects/pmSourceContour.c (modified) (1 diff)
-
psModules/src/objects/pmSourceFitModel.c (modified) (5 diffs)
-
psModules/src/objects/pmSourceFitPCM.c (modified) (3 diffs)
-
psModules/src/objects/pmSourceFitSet.c (modified) (3 diffs)
-
psModules/src/objects/pmSourceGroups.c (modified) (1 diff)
-
psModules/src/objects/pmSourceIO.c (modified) (1 diff)
-
psModules/src/objects/pmSourceIO_CFF.c (modified) (6 diffs)
-
psModules/src/objects/pmSourceIO_CMF.c.in (modified) (13 diffs)
-
psModules/src/objects/pmSourceIO_CMP.c (modified) (3 diffs)
-
psModules/src/objects/pmSourceIO_MatchedRefs.c (modified) (1 diff)
-
psModules/src/objects/pmSourceIO_OBJ.c (modified) (2 diffs)
-
psModules/src/objects/pmSourceIO_PS1_CAL_0.c (modified) (4 diffs)
-
psModules/src/objects/pmSourceIO_PS1_DEV_0.c (modified) (3 diffs)
-
psModules/src/objects/pmSourceIO_PS1_DEV_1.c (modified) (4 diffs)
-
psModules/src/objects/pmSourceIO_RAW.c (modified) (1 diff)
-
psModules/src/objects/pmSourceIO_SMPDATA.c (modified) (3 diffs)
-
psModules/src/objects/pmSourceIO_SX.c (modified) (2 diffs)
-
psModules/src/objects/pmSourceMatch.c (modified) (1 diff)
-
psModules/src/objects/pmSourceMoments.c (modified) (1 diff)
-
psModules/src/objects/pmSourceOutputs.c (modified) (3 diffs)
-
psModules/src/objects/pmSourceOutputs.h (modified) (1 diff)
-
psModules/src/objects/pmSourcePhotometry.c (modified) (5 diffs)
-
psModules/src/objects/pmSourcePlotApResid.c (modified) (1 diff)
-
psModules/src/objects/pmSourcePlotMoments.c (modified) (1 diff)
-
psModules/src/objects/pmSourcePlotPSFModel.c (modified) (2 diffs)
-
psModules/src/objects/pmSourceSky.c (modified) (1 diff)
-
psModules/src/objects/pmSourceUtils.c (modified) (2 diffs)
-
psModules/src/objects/pmSourceVisual.c (modified) (1 diff)
-
psModules/src/psmodules.h (modified) (2 diffs)
-
psastro/doc/outline.txt (modified) (1 diff)
-
psastro/src/psastroConvert.c (modified) (1 diff)
-
psphot/src/psphotChoosePSF.c (modified) (1 diff)
-
psphot/src/psphotEfficiency.c (modified) (2 diffs)
-
psphot/src/psphotEvalFLT.c (modified) (1 diff)
-
psphot/src/psphotFullForceSummaryReadout.c (modified) (2 diffs)
-
psphot/src/psphotGalaxyShape.c (modified) (4 diffs)
-
psphot/src/psphotLensing.c (modified) (3 diffs)
-
psphot/src/psphotLoadSRCTEXT.c (modified) (1 diff)
-
psphot/src/psphotMakeFluxScale.c (modified) (1 diff)
-
psphot/src/psphotRadiusChecks.c (modified) (3 diffs)
-
psphot/src/psphotSersicModelClass.c (modified) (1 diff)
-
psphot/src/psphotSourceFits.c (modified) (3 diffs)
-
psphot/src/psphotVisual.c (modified) (1 diff)
-
psphot/test/tap_psphot_galaxies.pro (modified) (4 diffs)
-
pstamp/scripts/pstamp_checkdependent.pl (modified) (1 prop)
-
pstamp/scripts/pstamp_finish.pl (modified) (1 prop)
-
pstamp/scripts/pstamp_webrequest.pl (modified) (1 diff)
-
pstamp/scripts/pstampparse.pl (modified) (1 prop)
-
pswarp/src/pswarpTransformSources.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140610
- Property svn:mergeinfo changed
/trunk (added) merged: 36846-36871,36874,36879,36882
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20140610/Ohana/src/getstar
-
Property svn:mergeinfo
set to
/branches/eam_branches/ipp-20140423/Ohana/src/getstar merged eligible /tags/ipp-pv3-cr-20140614/Ohana/src/getstar merged eligible /trunk/Ohana/src/getstar merged eligible
-
Property svn:mergeinfo
set to
-
branches/eam_branches/ipp-20140610/Ohana/src/getstar/src/ReadImageFiles.c
r34088 r36884 138 138 !strcmp (tmpword, "PS1_V1") || 139 139 !strcmp (tmpword, "PS1_V2") || 140 !strcmp (tmpword, "PS1_V3")) { 140 !strcmp (tmpword, "PS1_V3") || 141 !strcmp (tmpword, "PS1_V4") || 142 !strcmp (tmpword, "PS1_V5")) { 141 143 142 144 exttype[Nimage] = strcreate (tmpword); -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/launch_region_hosts.c
r36833 r36884 9 9 for (i = 0; i < regionHosts->Nhosts; i++) { 10 10 char *syncfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "meanmags.sync"); 11 truncate (syncfile, 0);11 if (truncate (syncfile, 0)) fprintf (stderr, "trouble clearing syncfile %s\n", syncfile); 12 12 free (syncfile); 13 13 14 14 char *fitsfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "meanmags.fits"); 15 truncate (fitsfile, 0);15 if (truncate (fitsfile, 0)) fprintf (stderr, "trouble clearing fitsfile %s\n", fitsfile); 16 16 free (fitsfile); 17 17 18 18 char *imsyncfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "imagemags.sync"); 19 truncate (imsyncfile, 0);19 if (truncate (imsyncfile, 0)) fprintf (stderr, "trouble clearing imsyncfile %s\n", imsyncfile); 20 20 free (imsyncfile); 21 21 22 22 char *imfitsfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "imagemags.fits"); 23 truncate (imfitsfile, 0);23 if (truncate (imfitsfile, 0)) fprintf (stderr, "trouble clearing imfitsfile %s\n", imfitsfile); 24 24 free (imfitsfile); 25 25 26 26 char *loopsyncfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "loop.sync"); 27 truncate (loopsyncfile, 0);27 if (truncate (loopsyncfile, 0)) fprintf (stderr, "trouble clearing loopsyncfile %s\n", loopsyncfile); 28 28 free (loopsyncfile); 29 29 } -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/syncfile.c
r36630 r36884 50 50 int clear_sync_file (char *filename) { 51 51 // delete file contents 52 truncate (filename, 0);52 if (truncate (filename, 0)) fprintf (stderr, "trouble clearing file %s\n", filename); 53 53 54 54 return TRUE; -
branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/launch_region_hosts.c
r36630 r36884 22 22 for (i = 0; i < regionHosts->Nhosts; i++) { 23 23 char *syncfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "meanmags.sync"); 24 truncate (syncfile, 0);24 if (truncate (syncfile, 0)) fprintf (stderr, "trouble clearing syncfile %s\n", syncfile); 25 25 free (syncfile); 26 26 27 27 char *fitsfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "meanmags.fits"); 28 truncate (fitsfile, 0);28 if (truncate (fitsfile, 0)) fprintf (stderr, "trouble clearing fitsfile %s\n", fitsfile ); 29 29 free (fitsfile); 30 30 31 31 char *imsyncfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "imagemags.sync"); 32 truncate (imsyncfile, 0);32 if (truncate (imsyncfile, 0)) fprintf (stderr, "trouble clearing imsyncfile %s\n", imsyncfile); 33 33 free (imsyncfile); 34 34 35 35 char *imfitsfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "imagemags.fits"); 36 truncate (imfitsfile, 0);36 if (truncate (imfitsfile, 0)) fprintf (stderr, "trouble clearing imfitsfile %s\n", imfitsfile); 37 37 free (imfitsfile); 38 38 39 39 char *loopsyncfile = make_filename (CATDIR, regionHosts->hosts[i].hostname, regionHosts->hosts[i].hostID, "loop.sync"); 40 truncate (loopsyncfile, 0);40 if (truncate (loopsyncfile, 0)) fprintf (stderr, "trouble clearing loopsyncfile %s\n", loopsyncfile); 41 41 free (loopsyncfile); 42 42 } -
branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/syncfile.c
r36630 r36884 50 50 int clear_sync_file (char *filename) { 51 51 // delete file contents 52 truncate (filename, 0);52 if (truncate (filename, 0)) fprintf (stderr, "trouble clearing file %s\n", filename); 53 53 54 54 return TRUE; -
branches/eam_branches/ipp-20140610/ippScripts/scripts/queuestaticsky.pl
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20140610/ippScripts/scripts/sc_prepare_camera.pl
r36844 r36884 179 179 $psastro_command .= " -masklist ${remote_outroot}.masklist ${remote_outroot} "; 180 180 # $psastro_command .= " -refmasklist ${remote_outroot}.masklist ${remote_outroot} "; # This is used to do edge calculations. It should probably be smart enough to know that it can just use the masks I just specified, but it's not. 181 # Uncomment when remote psastro supports this 182 $psastro_command .= " -kh-correct /turquoise/usr/projects/ps1/watersc1/references/khcorrect.20140606.v0.fits "; 181 183 $psastro_command .= " -refmasklist /turquoise/usr/projects/ps1/watersc1/references/gpc1.refmask.list "; 182 $psastro_command .= " -astrommodel /turquoise/usr/projects/ps1/watersc1/references/gpc1.20080909.asm "; 184 # $psastro_command .= " -astrommodel /turquoise/usr/projects/ps1/watersc1/references/gpc1.20080909.asm "; 185 $psastro_command .= " -astrommodel /turquoise/usr/projects/ps1/watersc1/references/gpc1.20140505.asm "; 183 186 $psastro_command .= " -recipe PSASTRO $recipe_psastro "; 184 187 $psastro_command .= " -tracedest ${remote_outroot}.trace -log ${remote_outroot}.log "; -
branches/eam_branches/ipp-20140610/ippScripts/scripts/sc_prepare_chip.pl
r36844 r36884 315 315 $ppImage_command .= " -recipe PSPHOT $recipe_psphot "; 316 316 $ppImage_command .= " -recipe PPSTATS CHIPSTATS -stats ${remote_outroot}.${class_id}.stats "; 317 $ppImage_command .= " -threads $threads";317 $ppImage_command .= " -threads 4 "; 318 318 $ppImage_command .= " -image_id $chip_imfile_id "; 319 319 $ppImage_command .= " -tracedest ${remote_outroot}.${class_id}.trace "; -
branches/eam_branches/ipp-20140610/ippScripts/scripts/sc_prepare_warp.pl
r36844 r36884 199 199 $pswarp_command .= " -recipe PSWARP $recipe_pswarp "; 200 200 $pswarp_command .= " -tracedest ${remote_outroot}.trace -log ${remote_outroot}.log "; 201 $pswarp_command .= " -threads $threads"; # -image_id ${image_id} -source_id ${source_id} ";201 $pswarp_command .= " -threads 4 "; # -image_id ${image_id} -source_id ${source_id} "; 202 202 $pswarp_command .= " -recipe PPSTATS WARPSTATS "; 203 203 $pswarp_command .= " -dumpconfig ${remote_outroot}.mdc -stats ${remote_outroot}.stats "; -
branches/eam_branches/ipp-20140610/ippTasks/Makefile.am
r36452 r36884 49 49 vp.pro \ 50 50 bg.regeneration.pro \ 51 remote.pro \ 51 52 fullforce.pro 52 53 -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/Detection
r36815 r36884 8 8 imageID dimensionless BIGINT 8 NA image id hash of frame identifier & OTA/CCD number 9 9 randomDetID dimensionless BIGINT 8 NA random detection Id 10 dvoRegionID dimensionless REAL 4 -999identifier to dvo spatial region10 dvoRegionID dimensionless INT 4 0 identifier to dvo spatial region 11 11 obsTime MeanJulianDays FLOAT 8 -999 Time of mid observation in Mean Julian Days 12 12 xPos raw pixels REAL 4 -999 measured x on CCD from PSF fit … … 40 40 momentYY arcsec^2 REAL 4 -999 momeny YY 41 41 momentR1 arcsec REAL 4 -999 first radial moment 42 momentRH arcsec REAL 4 -999 half light radius 42 momentRH arcsec REAL 4 -999 half light radius (REMOVE THIS) 43 43 momentM3C arcsec^n REAL 4 -999 3rd moment sin(theta) 44 44 momentM3S arcsec^n REAL 4 -999 3rd moment cos(theta) … … 51 51 kronFluxErr adu/seconds REAL 4 -999 Kron flux error 52 52 kronRad arcsec REAL 4 -999 Kron radius 53 kronRadErr arcsec REAL 4 -999 Kron radius error 53 kronRadErr arcsec REAL 4 -999 Kron radius error (DROP) 54 54 sky adu/sec/pixel REAL 4 -999 PSF sky level at source 55 55 skyErr adu/sec/pixel REAL 4 -999 estimated error in sky 56 infoFlag dimensionless BIGINT 8 -999 flag indicating provenance information 56 infoFlag dimensionless INT 4 -999 flag indicating provenance information 57 infoFlag2 dimensionless INT 4 -999 flag indicating provenance information 57 58 dataRelease dimensionless TINYINT 1 NA Data release when this detection was originally taken. Recalibrations do not affect this value. 58 59 -- -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetObject
r36815 r36884 2 2 diffObjName string VAR 8 NA IAU Name constructed from objID postion PS1.x JHHMMSS.SS+/-DDMMSS.S x procesing version 3 3 diffObjID dimensionless BIGINT 8 NA ODM object identifier index 4 diffgcObjID dimensionless BIGINT 8NA ODM galactic coordinates identifier4 diffgcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 5 5 ippObjID dimensionless BIGINT 8 NA IPP object number 6 6 surveyID dimensionless TINYINT 1 255 Survey ID … … 10 10 randomID dimensionless BIGINT 8 0 Random integer between 0 and 2^32 = 4,394,967,296 remaining ramdom integer 0 11 11 batchID dimensionless BIGINT 8 -999 12 dvoRegionID dimensionless REAL4 -999 identifier to dvo spatial region12 dvoRegionID dimensionless INT 4 -999 identifier to dvo spatial region 13 13 objInfoFlag dimensionless BIGINT 8 -999 flag indicating odd properties 14 14 qualityFlag dimensionless TINYINT 1 0 subset of objInfoFlag - flags related to goodness of object 15 consistencyFlag dimensionless SMALLINT2 0 Value computed from associated detections, it is originally given by IPP and should agree with the ODM validation 15 consistencyFlag dimensionless SMALLINT2 0 Value computed from associated detections, it is originally given by IPP and should agree with the ODM validation (DROP) 16 16 ra degrees FLOAT 8 NA Right Ascension 17 17 dec degrees FLOAT 8 NA Declination -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetection
r36815 r36884 1 1 2 diffObjID dimensionless BIGINT 8 NA diff object identifier 2 diffgcObjID dimensionless BIGINT 8NA ODM galactic coordinates identifier3 diffgcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 3 4 diffDetID dimensionless BIGINT 8 NA diff detection identifier 4 5 diffDetMetaID dimensionless BIGINT 8 NA diff detection meta identifier … … 9 10 randomDiffID dimensionless BIGINT 8 NA random diff id 10 11 skyCellID dimensionless REAL 4 -999 single float giving PrimaryCell.SkyCell identifier 11 dvoRegionID dimensionless REAL 4 -999identifier to dvo spatial region12 dvoRegionID dimensionless INT 4 0 identifier to dvo spatial region 12 13 obsTime MeanJulianDays FLOAT 8 -999 Time of mid observation of positive detection in Mean Julian Days of positive detection 13 14 xPos pixels REAL 4 -999 measured x on diff image sky cell PSF fit … … 41 42 momentYY arcsec^2 REAL 4 -999 momeny YY 42 43 momentR1 arcsec REAL 4 -999 first radial moment 43 momentRH arcsec REAL 4 -999 half light radius 44 momentRH arcsec REAL 4 -999 half light radius (DROP) 44 45 momentM3C arcsec^3 REAL 4 -999 3rd moment sin(theta) 45 46 momentM3S arcsec^3 REAL 4 -999 3rd moment cos(theta) … … 66 67 sky adu/sec/pixel REAL 4 -999 PSF sky level at source 67 68 skyErr adu/sec/pixel REAL 4 -999 estimated error in sky 68 infoFlag dimensionless BIGINT 8 -999 flag indicating provenance information 69 infoFlag dimensionless INT 4 -999 flag indicating provenance information 70 infoFlag2 dimensionless INT 4 -999 flag indicating provenance information 69 71 dataRelease dimensionless TINYINT 1 NA Data release when this detection was originally taken. Recalibrations do not affect this value. -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedMeanObject
r36815 r36884 1 1 2 objID dimensionless BIGINT 8 NA ODM object identifier index 2 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 3 4 ippObjID dimensionless BIGINT 8 NA IPP object identifier 4 5 nDetections dimensionless SMALLINT 2 -999 total number of detection measurements in all filters -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpMeasurement
r36815 r36884 1 1 objID dimensionless BIGINT 8 NA ODM object identifier 2 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier2 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 3 3 detectID dimensionless BIGINT 8 NA ODM detection identifier 4 4 ippObjID dimensionless BIGINT 8 NA ippobject id generated by IPP … … 9 9 randomWarpID dimensionless BIGINT 8 NA Random warp_id 10 10 skyCellID dimensionless REAL 4 -999 single float giving PrimaryCell.SkyCell identifier 11 dvoRegionID dimensionless REAL4 -999 identifier to dvo spatial region11 dvoRegionID dimensionless INT 4 -999 identifier to dvo spatial region 12 12 obsTime MeanJulianDays FLOAT 8 -999 Time of mid observation in Mean Julian Days 13 13 ------------------------------------------------------ … … 31 31 momentYY arcsec^2 REAL 4 -999 momeny YY 32 32 momentR1 arcsec^1 REAL 4 -999 first radial moment 33 momentRH arcsec REAL 4 -999 to be half light radius 33 momentRH arcsec REAL 4 -999 to be half light radius (DROP) 34 34 momentM3C arcsec^3 REAL 4 -999 3rd moment sin(theta) 35 35 momentM3S arcsec^3 REAL 4 -999 3rd moment cos(theta) -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/MeanObject
r36815 r36884 4 4 5 5 objID dimensionless BIGINT 8 NA ODM object identifier index 6 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier6 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 7 7 gQfPerfect dimensionless REAL 4 -999 maximum psf qfPerfect from best available g band detections 8 8 gMeanPSFMag AB magnitude REAL 4 -999 mean g psf AB magnitude from best available measurements (best available as current defined by ipp "waterfall logic" -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ObjectThin
r36815 r36884 10 10 randomID dimensionless BIGINT 8 0 Random integer between 0 and 2^32 = 4,394,967,296 remaining ramdom integer 0 11 11 batchID dimensionless BIGINT 8 -999 batch id 12 dvoRegionID dimensionless REAL4 -999 identifier of dvo spatial region - dvo cat id12 dvoRegionID dimensionless INT 4 -999 identifier of dvo spatial region - dvo cat id 13 13 dataRelease dimensionless TINYINT 1 NA Data release Version of this table 14 14 objInfoFlag dimensionless BIGINT 8 -999 flag indicating odd properties 15 15 qualityFlag dimensionless TINYINT 1 0 subset of objInfoFlag - flags related to goodness of object 16 consistencyFlag dimensionless SMALLINT 2 0 Value computed from associated detections, it is originally given by IPP and should agree with the ODM validation 16 consistencyFlag dimensionless SMALLINT 2 0 Value computed from associated detections, it is originally given by IPP and should agree with the ODM validation (DROP) 17 17 raStack degrees FLOAT 8 -999 Right Ascension - best weighted RA across filters from stack WHENEVER an object is detected in the stack 18 18 decStack degrees FLOAT 8 -999 Declination - best weighted Dec across filters from stack WHENEVER an object is detected in the stack -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlx
r36815 r36884 1 1 2 2 objID dimensionless BIGINT 8 NA ODM object identifier 3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 4 ippObjID dimensionless BIGINT 8 NA ipp object identifier 4 5 surveyID dimensionless TINYINT 1 0 stack type identifier 5 6 skyCellID dimensionless REAL 4 -999 single float giving PrimaryCell.SkyCell identifier … … 9 10 bestDetection dimensionless TINYINT 1 255 identifies if this row is a best detection or not. Also set if only a primary detection exists. 10 11 -- the Primary Dectection, 0 to 3 possible secondary dectections, and the "best" per filter. 11 dvoRegionID dimensionless REAL4 -999 identifier to dvo spatial region12 dvoRegionID dimensionless INT 4 -999 identifier to dvo spatial region 12 13 dataRelease dimensionless TINYINT 1 NA Data release when this table was loaded. 13 14 ------------------------------------------------------- replicate to end for each filter g,r,i,z,y 15 gippDetectID dimensionless BIGINT 8 NA stack identifier 14 16 gstackDetectID dimensionless BIGINT 8 NA ODM detection identifier 15 17 gstackMetaID dimensionless BIGINT 8 NA stack identifier 16 gippObjID dimensionless BIGINT 8 NA ipp object identifier17 gippDetectID dimensionless BIGINT 8 NA stack identifier18 18 --------------------------------------------------------unconvolved 19 19 gflxR3 adu/seconds REAL 4 -999 Flux inside r = 3 -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackModelFit
r36815 r36884 1 1 2 2 objID dimensionless BIGINT 8 NA ODM object identifier 3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 4 ippObjID dimensionless BIGINT 8 NA ipp object identifier 4 5 surveyID dimensionless TINYINT 1 NA survey flag identifier 5 6 skyCellID dimensionless REAL 4 -999 single float giving PrimaryCell.SkyCell identifier … … 9 10 bestDetection dimensionless TINYINT 1 255 identifies if this row is a best detection or not. Also set if only a primary detection exists. 10 11 -- the Primary Dectection, 0 to 3 possible secondary dectections, and the "best" per filter. 11 dvoRegionID dimensionless REAL4 -999 identifier to dvo spatial region12 dvoRegionID dimensionless INT 4 -999 identifier to dvo spatial region 12 13 dataRelease dimensionless TINYINT 1 NA Data release when this table was loaded 13 14 -------------------------------------------------------- replicate below for all filters (grizy) 14 glogC dimensionless REAL 4 -999 concentration index 15 glogA dimensionless REAL 4 -999 asymmetry index 16 gclump dimensionless REAL 4 -999 clumpiness factor 15 gS2 dimensionless REAL 4 -999 (un)smoothness (Cheng 2012, Simard 2002) 16 glogRT dimensionless REAL 4 -999 total residual (from ellipcally symmetric model) 17 glogRA dimensionless REAL 4 -999 asymmetric residual (from ellipcally symmetric model) 18 glogC dimensionless REAL 4 -999 concentration index (Petrosian R_50 / R_90) 19 glogA dimensionless REAL 4 -999 log of asymmetry index (Gyory & Bell 2010) 20 gbumpy dimensionless REAL 4 -999 Blakeslee bumpiness 21 ghalfLightRad arcsec REAL 4 -999 half-light radius 17 22 -------------------------------------------------------- replicate below for all filters (grizy) 23 gippDetectID dimensionless BIGINT 8 NA ipp detect identifier 18 24 gstackDetectID dimensionless BIGINT 8 NA ODM detection identifier 19 25 gstackMetaID dimensionless BIGINT 8 NA stack identifier 20 gippObjID dimensionless BIGINT 8 NA ipp object identifier 21 gippDetectID dimensionless BIGINT 8 NA ipp detect identifier 26 ---------------------------------------------------------------------------------------- 22 27 gdeVRadius arcsec REAL 4 -999 deVaucouleurs radius 23 28 gdeVRadiusErr arcsec REAL 4 -999 estimated error in deVaucouleurs radius -
branches/eam_branches/ipp-20140610/ippToPsps/pspsschema/SchemaNew16.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackObject
r36815 r36884 1 1 2 2 objID dimensionless BIGINT 8 NA ODM object identifier 3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 3 gcObjID dimensionless BIGINT 8 NA ODM galactic coordinates identifier 4 ippObjID dimensionless BIGINT 8 NA object ID generated by IPP 4 5 surveyID dimensionless TINYINT 1 NA survey flag identifier 5 6 skyCellID dimensionless REAL 4 -999 single float giving PrimaryCell.SkyCell identifier … … 9 10 bestDetection dimensionless TINYINT 1 255 identifies if this row is a best detection or not. Also set if only a primary detection exists. 10 11 the Primary Dectection, 0 to 3 possible secondary dectections, and the "best" per filter. 11 dvoRegionID dimensionless REAL4 -999 identifier to dvo spatial region12 dvoRegionID dimensionless INT 4 -999 identifier to dvo spatial region 12 13 dataRelease dimensionless TINYINT 1 NA Data release when this detection was originally taken. 13 14 ------------------------------------------------------------------------------------------ … … 15 16 -- Replicate the section below for each filter, changing the prefex ("g" in this example) 16 17 ------------------------------------------------------------------------------------------ 17 gippObjID dimensionless BIGINT 8 NA object ID generated by IPP18 18 gippDetectID dimensionless BIGINT 8 NA detection ID generated by IPP 19 19 gstackDetectID dimensionless BIGINT 8 NA ODM detection identifier 20 20 gstackMetaID dimensionless BIGINT 8 NA stack identifier 21 ------------------------------------------------------------------------------------------ 21 22 gxPos arcsec REAL 4 -999 measured x in sky Cell from PSF fit 22 23 gyPos arcsec REAL 4 -999 measured y in sky Cell from PSF fit … … 41 42 gmomentYY arcsec^2 REAL 4 -999 moment YY 42 43 gmomentR1 arcsec REAL 4 -999 moment R1 43 gmomentRH arcsec REAL 4 -999 moment RH - or half light radius 44 gmomentRH arcsec REAL 4 -999 moment RH - or half light radius (REMOVE) 44 45 gPSFFlux adu/sec REAL 4 -999 g psf flux from stack 45 46 gPSFFluxErr adu/sec REAL 4 -999 estimated error of g psf flux from stack … … 58 59 gsky adu/secs/arcsec REAL 4 -999 PSF sky level at source (adu) 59 60 gskyErr adu/secs/arcsec REAL 4 -999 estimated error in sky 60 ginfoFlag dimensionless BIGINT 8 -999 indicator of strange propeties 61 ginfoFlag dimensionless INT 4 -999 indicator of strange propeties 62 ginfoFlag2 dimensionless INT 4 -999 indicator of strange propeties 61 63 gnFrames dimensionless INT 4 -999 Number of frames contributing to source 62 64 -
branches/eam_branches/ipp-20140610/ippTools/share/remotetool_definebyquery_cam.sql
r36512 r36884 9 9 WHERE 10 10 camRun.state = 'new' AND 11 remoteRun.stage = 'camera'AND12 remote _id IS NULL11 (remoteRun.stage = 'camera' OR remoteRun.state IS NULL) AND 12 remoteComponent.remote_id IS NULL -
branches/eam_branches/ipp-20140610/ippTools/share/remotetool_definebyquery_stack.sql
r36512 r36884 9 9 WHERE 10 10 stackRun.state = 'new' AND 11 remoteRun.stage = 'stack'AND12 remote _id IS NULL11 (remoteRun.stage = 'stack' OR remoteRun.state IS NULL) AND 12 remoteComponent.remote_id IS NULL -
branches/eam_branches/ipp-20140610/ippTools/share/remotetool_definebyquery_warp.sql
r36512 r36884 9 9 WHERE 10 10 warpRun.state = 'new' AND 11 remoteRun.stage = 'warp'AND12 remote _id IS NULL11 (remoteRun.stage = 'warp' OR remoteRun.state IS NULL) AND 12 remoteComponent.remote_id IS NULL -
branches/eam_branches/ipp-20140610/ippconfig
- Property svn:mergeinfo changed
/trunk/ippconfig (added) merged: 36846,36855,36867,36870
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20140610/ippconfig/gpc1/ppStack.config
r36773 r36884 160 160 STACK.TYPE STR DEEP_STACK ## needed? 161 161 PSF.INPUT.CLIP.SIMPLE BOOL True 162 PSF.INPUT.MAX F32 6.0 # never really want >6 pixels in refstack, even on edges162 PSF.INPUT.MAX F32 7.0 # center/edge can vary 1-2 pix, prefer <6 pix but needs to be <7 pix for edges 163 163 PSF.INPUT.CLIP.NSIGMA F32 1.0 # sample typically on rising side of distribution (set even smaller?) 164 164 PSF.INPUT.THRESH F32 NAN … … 168 168 PSF.TARGET.AS.MAX BOOL TRUE # Set the target PSF FWHM as the maximum of accepted input FWHM values. 169 169 PSF.TARGET.AS.MAX.EPSILON F32 0.1 # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input) 170 THRESHOLD.MASK F32 0.1 # Threshold for mask deconvolution (0..1) 171 COMBINE.ITER F32 0.5 # Number of rejection iterations per input 172 COMBINE.REJ F32 3.0 # Rejection threshold in combination (sigma) 173 COMBINE.SYS F32 0.1 # Relative systematic error in combination 174 COMBINE.DISCARD F32 0.2 # Discard fraction for Olympic weighted mean 175 IMAGE.REJ F32 0.1 # Rejected pixel fraction threshold for rejecting entire image 176 NMINPIX S32 4 # Minimum input per pixel 177 MASK.VAL STR SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels 178 MASK.BLANKBORDER S32 20 # Mask blank border in final stack output 179 BSCALEOFFSET BOOL TRUE # HACK for removing bscale offset from input warps because of compression (0.5*BSCALE) 170 180 END 171 181 … … 193 203 MASK.VAL STR SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels 194 204 MASK.BLANKBORDER S32 20 # Mask blank border in final stack output 205 BSCALEOFFSET BOOL TRUE # HACK for removing bscale offset from input warps because of compression (0.5*BSCALE) 195 206 END 196 207 -
branches/eam_branches/ipp-20140610/ippconfig/gpc1/psastro.config
r36838 r36884 122 122 # PSASTRO.CATDIR STR SYNTH.GRIZY 123 123 # PSASTRO.CATDIR STR PS1.REF.20120503 124 PSASTRO.CATDIR STR PS1.REF.20120524125 124 # PSASTRO.CATDIR STR PS1.REF.20120524 125 PSASTRO.CATDIR STR PS1.REF.20140605 126 126 127 127 DVO.GETSTAR.PHOTCODE STR i … … 362 362 363 363 DEFAULT_RECIPE METADATA 364 # PSASTRO.CATDIR STR PS1.REF.20120503 365 PSASTRO.CATDIR STR PS1.REF.20120524 364 # PSASTRO.CATDIR STR PS1.REF.20120503 365 # PSASTRO.CATDIR STR PS1.REF.20120524 366 PSASTRO.CATDIR STR PS1.REF.20140605 366 367 ZERO.POINT.USE.MEAN BOOL TRUE 367 368 END … … 374 375 LAP_ASTRO METADATA 375 376 # PSASTRO.CATDIR STR 3PI.20110505.REFCAT 376 # PSASTRO.CATDIR STR SYNTH.GRIZY 377 # PSASTRO.CATDIR STR PS1.REF.20120503 378 PSASTRO.CATDIR STR PS1.REF.20120524 377 # PSASTRO.CATDIR STR SYNTH.GRIZY 378 # PSASTRO.CATDIR STR PS1.REF.20120503 379 # PSASTRO.CATDIR STR PS1.REF.20120524 380 PSASTRO.CATDIR STR PS1.REF.20140605 379 381 ZERO.POINT.USE.MEAN BOOL TRUE 380 382 END … … 405 407 DVO.GETSTAR.FIXED.ZEROPT F32 25.0 406 408 407 PSASTRO.CATDIR STR PS1.REF.20120524 409 PSASTRO.CATDIR STR PS1.REF.20140605 410 # PSASTRO.CATDIR STR PS1.REF.20120524 408 411 ZERO.POINT.USE.MEAN BOOL TRUE 409 412 PSASTRO.MAX.NRAW S32 0 … … 424 427 DVO.GETSTAR.FIXED.ZEROPT F32 25.0 425 428 DVO.GETSTAR.MIN.MAG.INST F32 -15.0 426 PSASTRO.CATDIR STR PS1.REF.20120524 429 # PSASTRO.CATDIR STR PS1.REF.20120524 430 PSASTRO.CATDIR STR PS1.REF.20140605 427 431 ZERO.POINT.USE.MEAN BOOL TRUE 428 432 … … 443 447 # - similar to DEEPCAL except for MIN.NSTAR 5 to attemp more edge skycells if poorer 444 448 STATICSKY_NIGHTCAL METADATA 445 PSASTRO.CATDIR STR PS1.REF.20120524 # reset here to ensure same catalog is used when reprocessing set uniformly 449 # PSASTRO.CATDIR STR PS1.REF.20120524 # reset here to ensure same catalog is used when reprocessing set uniformly 450 PSASTRO.CATDIR STR PS1.REF.20140605 446 451 REFSTAR_MASK BOOL FALSE 447 452 PSASTRO.SAVE.REFMATCH BOOL FALSE … … 479 484 # revised setup for DEEP/MDS stacks with range of inputs, should work for N~2(edges)--500 inputs with large MIN/MAX.INST.MAG.RAW 480 485 STATICSKY_DEEPCAL METADATA 481 PSASTRO.CATDIR STR PS1.REF.20120524 # reset here to ensure same catalog is used when reprocessing set uniformly 486 #PSASTRO.CATDIR STR PS1.REF.20120524 # reset here to ensure same catalog is used when reprocessing set uniformly 487 PSASTRO.CATDIR STR PS1.REF.20140605 # ensure same catalog is used when reprocessing MD set uniformly 482 488 REFSTAR_MASK BOOL FALSE 483 489 PSASTRO.SAVE.REFMATCH BOOL FALSE … … 498 504 DVO.GETSTAR.MAX.RHO F32 6000.0 # N/sqdeg, slightly larger than MAX.NREF 499 505 DVO.GETSTAR.MIN.MAG.INST F32 -25.0 # set absurd range to cover large range of exptime, then clamp... 500 DVO.GETSTAR.MIN.MAG F32 1 5.0# only used if keyword problem so also using CLAMP_MAG_MIN501 REFSTAR_CLAMP_MAG_MIN F32 1 5.0 # saturation in MD ~14 even in y-band, so toss out brighter in the list506 DVO.GETSTAR.MIN.MAG F32 16.5 # only used if keyword problem so also using CLAMP_MAG_MIN 507 REFSTAR_CLAMP_MAG_MIN F32 16.5 # saturation in MD ~14 even in y-band, so toss out brighter in the list. seeing offset in brighter stars 502 508 DVO.GETSTAR.FIXED.ZEROPT F32 0.0 # not really needed, exptime overly dominates 503 509 -
branches/eam_branches/ipp-20140610/ippconfig/recipes/ppStack.config
r36773 r36884 34 34 TARGET.MINMAG F32 3.0 # Minimum magnitude difference to tolerate in stamp 35 35 NMINPIX S32 1 # Minimum input per pixel 36 BSCALEOFFSET BOOL FALSE # HACK for removing offset from input warps because of compression (0.5*BSCALE) 36 37 37 38 BACKGROUND.MODEL BOOL FALSE # Construct a stacked version of the warp stage background -
branches/eam_branches/ipp-20140610/ippconfig/recipes/ppSub.config
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20140610/ippconfig/recipes/psphot.config
r36763 r36884 15 15 16 16 # format for output CMF files 17 OUTPUT.FORMAT STR PS1_V 317 OUTPUT.FORMAT STR PS1_V5 18 18 19 19 # the zero point is used to set a basic scale for DVO … … 238 238 239 239 EXTENDED_SOURCE_MODELS_SELECTION STR ALL 240 241 LENSING_PARAMETERS BOOL FALSE 240 242 241 243 # extended source models applied to sources … … 492 494 RADIAL_APERTURES BOOL T # calculate flux in circular radial apertures? 493 495 RADIAL_APERTURES_SN_LIM F32 0.0 # S/N limit for radial aperture calculation 494 OUTPUT.FORMAT STR PS1_SV 2496 OUTPUT.FORMAT STR PS1_SV3 495 497 496 498 # subtract radial profiles for extremely bright stars? … … 524 526 RADIAL_APERTURES BOOL F # calculate flux in circular radial apertures? 525 527 RADIAL_APERTURES_SN_LIM F32 0.0 # S/N limit for radial aperture calculation 526 OUTPUT.FORMAT STR PS1_SV 1528 OUTPUT.FORMAT STR PS1_SV3 527 529 528 530 EXT_FIT_MAX_RADIUS F32 50.0 … … 731 733 SAVE.BACKMDL BOOL FALSE 732 734 SAVE.RESID BOOL FALSE 733 OUTPUT.FORMAT STR PS1_SV 2734 END 735 OUTPUT.FORMAT STR PS1_SV3 736 END -
branches/eam_branches/ipp-20140610/ippconfig/recipes/reductionClasses.mdc
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20140610/ppSim/src/ppSimInsertGalaxies.c
r34261 r36884 145 145 axes.minor = galaxy->Rmin; 146 146 axes.theta = galaxy->theta; 147 pmPSF_AxesToModel (PAR, axes, type);147 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 148 148 } 149 149 psF64 Area = 2.0 * M_PI * galaxy->Rmaj * galaxy->Rmin; … … 154 154 155 155 // XXX let the flux limit be a user-defined number of sky sigmas (not just 1.0) 156 float radius = model-> modelRadius (model->params, 0.1*roughNoise);156 float radius = model->class->modelRadius (model->params, 0.1*roughNoise); 157 157 radius = PS_MAX (radius, 1.0); 158 158 … … 163 163 pmSource *source = pmSourceFromModel (model, readout, radius, PM_SOURCE_TYPE_EXTENDED); 164 164 165 galaxy->flux = model-> modelFlux (model->params);165 galaxy->flux = model->class->modelFlux (model->params); 166 166 167 167 // XXX set the mag & err values (should this be done in pmSourceFromModel?) -
branches/eam_branches/ipp-20140610/ppSim/src/ppSimInsertStars.c
r36375 r36884 116 116 // (inserting flux with a variable radius introduces a flux-dependent bias) 117 117 if (radius < 0) { 118 radius = model-> modelRadius (model->params, nSigmaLim * roughNoise);118 radius = model->class->modelRadius (model->params, nSigmaLim * roughNoise); 119 119 radius = PS_MAX (radius, 1.0); 120 120 radius = PS_MIN (radius, 50.0); … … 126 126 // XXX set the mag & err values (should this be done in pmSourceFromModel?) 127 127 // XXX i should be applying the gain and the correct effective area 128 psEllipseAxes axes = pmPSF_ModelToAxes (model->params->data.F32, model-> type);128 psEllipseAxes axes = pmPSF_ModelToAxes (model->params->data.F32, model->class->useReff); 129 129 float Area = 2.0 * M_PI * axes.major * axes.minor; 130 130 -
branches/eam_branches/ipp-20140610/ppStack/src/ppStack.h
r34849 r36884 108 108 const psVector *addVariance, // Additional variance for rejection 109 109 bool safety, // Enable safety switch? 110 const psVector *norm // Normalisations to apply 110 const psVector *norm, // Normalisations to apply 111 const psVector *bscaleApplyOffset // hack for offset based on bscale 111 112 ); 112 113 -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackCombineFinal.c
r36717 r36884 44 44 45 45 bool ppStackCombineFinal(ppStackThreadData *stack, psArray *covariances, ppStackOptions *options, 46 pmConfig *config, bool safe, bool normalise, bool grow )46 pmConfig *config, bool safe, bool normalise, bool grow, bool bscaleoffset) 47 47 { 48 48 psAssert(stack, "Require stack"); … … 107 107 PS_ARRAY_ADD_SCALAR(job->args, safe, PS_TYPE_U8); 108 108 PS_ARRAY_ADD_SCALAR(job->args, normalise, PS_TYPE_U8); 109 PS_ARRAY_ADD_SCALAR(job->args, bscaleoffset, PS_TYPE_U8); 109 110 if (!psThreadJobAddPending(job)) { 110 111 psFree(reject); -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackLoop.c
r36365 r36884 120 120 psTrace("ppStack", 2, "Final stack of convolved images....\n"); 121 121 if (options->convolve) { 122 if (!ppStackCombineFinal(stack, options->convCovars, options, config, false, false, true )) {122 if (!ppStackCombineFinal(stack, options->convCovars, options, config, false, false, true, false)) { 123 123 psError(psErrorCodeLast(), false, "Unable to perform final combination."); 124 124 psFree(stack); … … 128 128 else { 129 129 // Since we haven't convolved, I believe we do need to normalize here. 130 if (!ppStackCombineFinal(stack, options->convCovars, options, config, false, true, true)) { 130 //MEH -- see below for comment on ppStackCombineFinal and bscaleOffset 131 if (!ppStackCombineFinal(stack, options->convCovars, options, config, false, true, true, true)) { 131 132 psError(psErrorCodeLast(), false, "Unable to perform final combination."); 132 133 psFree(stack); … … 207 208 // generate the unconvolved stack. NOTE: this one must be normalized since the inputs have not been 208 209 psTrace("ppStack", 2, "Stack of unconvolved images....\n"); 209 if (!ppStackCombineFinal(stack, options->origCovars, options, config, false, true, false)) { 210 //MEH -- terrible hack for bscale offset to input warps -- treat like normalization 211 // -- if BSCALEOFFSET TRUE, 0.5*bscale for offset values, otherwise value 0.0 212 // -- bscaleOffset set when files read in and applied in CombineFinal (if arg true, only valid for unconv case) 213 if (!ppStackCombineFinal(stack, options->origCovars, options, config, false, true, false, true)) { 210 214 psError(psErrorCodeLast(), false, "Unable to perform unconvolved combination."); 211 215 psFree(stack); -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackLoop.h
r34800 r36884 65 65 bool safe, // Allow safe combination? 66 66 bool norm, // Normalise images? 67 bool grow // Grow rejection masks? 67 bool grow, // Grow rejection masks? 68 bool bscaleoffset // Apply bscale offset? 68 69 ); 69 70 -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackOptions.c
r35167 r36884 19 19 psFree(options->inputMask); 20 20 psFree(options->sourceLists); 21 psFree(options->bscaleOffset); 21 22 psFree(options->norm); 22 23 psFree(options->sources); … … 65 66 options->inputMask = NULL; 66 67 options->sourceLists = NULL; 68 options->bscaleOffset = NULL; 67 69 options->norm = NULL; 68 70 options->sources = NULL; -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackOptions.h
r35167 r36884 35 35 float clippedMean; // clipped mean of input fwhm 36 36 float clippedStdev; // clipped stdev of input fwhm 37 psVector *bscaleOffset; // hack offset of bzero using 0.5*bscale if option, 0.0 if not 37 38 // Convolve 38 39 psArray *cells; // Cells for convolved images --- a handle for reading again -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackPrepare.c
r35931 r36884 148 148 } 149 149 150 //MEH -- bscale offset hack for warps 151 options->bscaleOffset = psVectorAlloc(options->num, PS_TYPE_F32); 152 psVectorInit(options->bscaleOffset, 0.0); 153 bool setbscaleoffset = psMetadataLookupBool(NULL,recipe, "BSCALEOFFSET"); 154 150 155 psArray *psfs = psArrayAlloc(num); // PSFs for PSF envelope 151 156 int numCols = 0, numRows = 0; // Size of image … … 162 167 } 163 168 options->sumExposure += options->exposures->data.F32[i]; 169 170 //MEH -- hdu get redefn again below if conv (lots of this happening..) 171 if (setbscaleoffset) { 172 pmHDU *hdu = pmHDUFromCell(cell); 173 assert(hdu && hdu->header); 174 float bscale = psMetadataLookupF32(NULL, hdu->header, "BSCALE"); 175 options->bscaleOffset->data.F32[i] = 0.5*bscale; 176 } 177 psLogMsg("ppStack", PS_LOG_INFO, "bscaleOffset: %d %f", i,options->bscaleOffset->data.F32[i]); 164 178 165 179 // Get list of PSFs, to determine target PSF -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackReadout.c
r36710 r36884 34 34 bool safety = PS_SCALAR_VALUE(args->data[4], U8); // Safety switch on? 35 35 bool normalise = PS_SCALAR_VALUE(args->data[5], U8); // Normalise images? 36 bool bscaleoffset = PS_SCALAR_VALUE(args->data[6], U8); // Apply bscale offset? 36 37 37 38 psVector *mask = options->inputMask; // Mask for inputs … … 40 41 psVector *addVariance = options->matchChi2; // Additional variance when rejecting 41 42 psVector *norm = normalise ? options->norm : NULL; // Normalisations to apply to images 43 psVector *bscaleApplyOffset = bscaleoffset ? options->bscaleOffset : NULL; // BSCALE offset to apply to images 42 44 43 45 bool status = ppStackReadoutFinal(config, options->outRO, options->expRO, thread->readouts, mask, reject, 44 weightings, exposures, addVariance, safety, norm ); // Status of operation46 weightings, exposures, addVariance, safety, norm, bscaleApplyOffset); // Status of operation 45 47 46 48 thread->busy = false; … … 201 203 const psVector *mask, const psArray *rejected, const psVector *weightings, 202 204 const psVector *exposures, const psVector *addVariance, bool safety, 203 const psVector *norm )205 const psVector *norm, const psVector *bscaleApplyOffset) 204 206 { 205 207 assert(config); … … 271 273 stack->data[i] = data; 272 274 275 //MEH -- apply bscale offset before norm 276 if (bscaleApplyOffset) { 277 psLogMsg("ppStack", PS_LOG_INFO, "bscaleApplyOffset: %d %f", i, bscaleApplyOffset->data.F32[i]); 278 psBinaryOp(ro->image, ro->image, "-", psScalarAlloc(bscaleApplyOffset->data.F32[i], PS_TYPE_F32)); 279 } 280 273 281 if (norm) { 274 282 float normalise = powf(10.0, -0.4 * norm->data.F32[i]); // Normalisation -
branches/eam_branches/ipp-20140610/ppStack/src/ppStackThread.c
r34800 r36884 277 277 278 278 { 279 psThreadTask *task = psThreadTaskAlloc("PPSTACK_FINAL_COMBINE", 6);279 psThreadTask *task = psThreadTaskAlloc("PPSTACK_FINAL_COMBINE", 7); 280 280 task->function = &ppStackReadoutFinalThread; 281 281 psThreadTaskAdd(task); -
branches/eam_branches/ipp-20140610/ppViz/src/ppVizPSF/ppVizPSFLoop.c
r34800 r36884 117 117 118 118 pmModel *model = pmModelFromPSFforXY(psf, xSrc, ySrc, 1.0); // Model for normalisation 119 float fluxNorm = model-> modelFlux(model->params); // Flux for peak=1119 float fluxNorm = model->class->modelFlux(model->params); // Flux for peak=1 120 120 float fluxPeak = powf(10.0, -0.4 * data->fakeMag) / fluxNorm; // Peak flux 121 121 source->peak = pmPeakAlloc(xSrc, ySrc, fluxPeak, PM_PEAK_LONE); … … 135 135 source->peak = pmPeakAlloc(xSrc, ySrc, 1.0, PM_PEAK_LONE); 136 136 pmModel *model = pmModelFromPSFforXY(psf, xSrc, ySrc, 1.0); // Model for normalisation 137 float flux = model-> modelFlux(model->params); // Flux for peak=1137 float flux = model->class->modelFlux(model->params); // Flux for peak=1 138 138 psFree(model); 139 139 source->psfMag = -2.5 * log10(flux); -
branches/eam_branches/ipp-20140610/psModules/src/camera/pmFPAfileIO.c
r36834 r36884 34 34 #include "pmMoments.h" 35 35 #include "pmModelFuncs.h" 36 #include "pmModelClass.h" 36 37 #include "pmModel.h" 37 38 #include "pmSourceMasks.h" -
branches/eam_branches/ipp-20140610/psModules/src/camera/pmReadoutFake.c
r36623 r36884 20 20 #include "pmMoments.h" 21 21 #include "pmModelFuncs.h" 22 #include "pmModelClass.h" 22 23 #include "pmModel.h" 23 24 #include "pmModelUtils.h" 24 #include "pmModelClass.h"25 25 #include "pmSourceMasks.h" 26 26 #include "pmSourceExtendedPars.h" … … 55 55 56 56 psF32 *params = model->params->data.F32; // Model parameters 57 psEllipseAxes axes = pmPSF_ModelToAxes(params, model-> type); // Ellipse axes57 psEllipseAxes axes = pmPSF_ModelToAxes(params, model->class->useReff); // Ellipse axes 58 58 // Curiously, the minor axis can be larger than the major axis, so need to check. 59 59 if (axes.major >= axes.minor) { … … 62 62 axes.major = axes.minor; 63 63 } 64 return pmPSF_AxesToModel(params, axes, model-> type);64 return pmPSF_AxesToModel(params, axes, model->class->useReff); 65 65 } 66 66 … … 122 122 } 123 123 124 flux /= normModel-> modelFlux(normModel->params);124 flux /= normModel->class->modelFlux(normModel->params); 125 125 psFree(normModel); 126 126 } … … 164 164 float fakeRadius = 1.0; // Radius of fake source 165 165 if (isfinite(minFlux)) { 166 fakeRadius = PS_MAX(fakeRadius, fakeModel-> modelRadius(fakeModel->params, minFlux));166 fakeRadius = PS_MAX(fakeRadius, fakeModel->class->modelRadius(fakeModel->params, minFlux)); 167 167 } 168 168 if (radius > 0) { -
branches/eam_branches/ipp-20140610/psModules/src/extras/pmThreadTools.c
r36623 r36884 29 29 #include "pmMoments.h" 30 30 #include "pmModelFuncs.h" 31 #include "pmModelClass.h" 31 32 #include "pmModel.h" 32 33 #include "pmModelUtils.h" 33 #include "pmModelClass.h"34 34 #include "pmSourceMasks.h" 35 35 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/extras/pmVisual.c
r36834 r36884 22 22 bool pmSourceVisualClose(void); 23 23 24 // #include "pmHDU.h"25 // #include "pmFPA.h"26 // #include "pmFPAfile.h"27 // #include "pmAstrometryObjects.h"28 // #include "pmSubtractionStamps.h"29 // #include "pmTrend2D.h"30 // #include "pmResiduals.h"31 // #include "pmGrowthCurve.h"32 // #include "pmSpan.h"33 // #include "pmFootprintSpans.h"34 // #include "pmFootprint.h"35 // #include "pmPeaks.h"36 // #include "pmMoments.h"37 // #include "pmModelFuncs.h"38 // #include "pmModel.h"39 // #include "pmSourceMasks.h"40 // #include "pmSourceExtendedPars.h"41 // #include "pmSourceDiffStats.h"42 24 #include "pmSourceSatstar.h" 43 // #include "pmSourceLensing.h"44 // #include "pmSource.h"45 // #include "pmSourceFitModel.h"46 // #include "pmPSF.h"47 // #include "pmPSFtry.h"48 // #include "pmFPAExtent.h"49 // #include "pmAstrometryVisual.h"50 // #include "pmSubtractionVisual.h"51 // #include "pmStackVisual.h"52 // #include "pmSourceVisual.h"53 25 54 26 # if (HAVE_KAPA) -
branches/eam_branches/ipp-20140610/psModules/src/imcombine/pmPSFEnvelope.c
r36623 r36884 20 20 #include "pmMoments.h" 21 21 #include "pmModelFuncs.h" 22 #include "pmModelClass.h" 22 23 #include "pmModel.h" 23 24 #include "pmModelUtils.h" 24 #include "pmModelClass.h"25 25 #include "pmSourceMasks.h" 26 26 #include "pmSourceExtendedPars.h" … … 168 168 continue; 169 169 } 170 model-> modelSetLimits(PM_MODEL_LIMITS_MODERATE);170 model->class->modelSetLimits(PM_MODEL_LIMITS_MODERATE); 171 171 bool limits = true; // Model within limits? 172 172 for (int j = 0; j < model->params->n && limits; j++) { 173 if (!model-> modelLimits(PS_MINIMIZE_PARAM_MIN, j, model->params->data.F32, NULL) ||174 !model-> modelLimits(PS_MINIMIZE_PARAM_MAX, j, model->params->data.F32, NULL)) {173 if (!model->class->modelLimits(PS_MINIMIZE_PARAM_MIN, j, model->params->data.F32, NULL) || 174 !model->class->modelLimits(PS_MINIMIZE_PARAM_MAX, j, model->params->data.F32, NULL)) { 175 175 limits = false; 176 176 } … … 246 246 continue; 247 247 } 248 float srcRadius = model-> modelRadius(model->params, PS_SQR(VARIANCE_VAL)); // Radius for source248 float srcRadius = model->class->modelRadius(model->params, PS_SQR(VARIANCE_VAL)); // Radius for source 249 249 psFree(model); 250 250 if (srcRadius == 0) { -
branches/eam_branches/ipp-20140610/psModules/src/imcombine/pmSubtractionStamps.c
r36623 r36884 21 21 #include "pmMoments.h" 22 22 #include "pmModelFuncs.h" 23 #include "pmModelClass.h" 23 24 #include "pmModel.h" 24 25 #include "pmSourceMasks.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/mksource.pl
r36623 r36884 24 24 "PS1_DV2", 2, 25 25 "PS1_DV3", 3, 26 "PS1_DV4", 4, 26 27 ); 27 28 %cmfmodes_sv = ("PS1_SV1", 1, 28 29 "PS1_SV2", 2, 30 "PS1_SV3", 3, 29 31 ); 30 32 -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_DEV.c
r36623 r36884 36 36 #include "pmMoments.h" 37 37 #include "pmModelFuncs.h" 38 #include "pmModelClass.h" 38 39 #include "pmModel.h" 39 40 #include "pmModelUtils.h" 40 #include "pmModelClass.h"41 41 #include "pmSourceMasks.h" 42 42 #include "pmSourceExtendedPars.h" … … 59 59 # define PM_MODEL_LIMITS pmModelLimits_DEV 60 60 # define PM_MODEL_RADIUS pmModelRadius_DEV 61 # define PM_MODEL_SET_FWHM pmModelSetFWHM_DEV 61 62 # define PM_MODEL_FROM_PSF pmModelFromPSF_DEV 62 63 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_DEV … … 123 124 if (radius <= 1.5) { 124 125 // Nsub ~ 10*index^2 + 1 125 psEllipseAxes axes = pmPSF_ModelToAxes(PAR, pmModelClassGetType ("PS_MODEL_DEV"));126 psEllipseAxes axes = pmPSF_ModelToAxes(PAR, true); // DEV uses Reff 126 127 int Nsub = 2 * ((int)(25 / axes.minor)) + 1; 127 128 Nsub = PS_MIN (Nsub, 121); … … 336 337 } 337 338 339 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 340 return (NAN); 341 } 342 338 343 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 339 344 { … … 357 362 // the 2D PSF model fits polarization terms (E0,E1,E2) 358 363 // convert to shape terms (SXX,SYY,SXY) 359 bool useReff = pmModelUseReff (modelPSF->type);364 bool useReff = modelPSF->class->useReff; 360 365 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 361 366 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 411 416 // convert to shape terms (SXX,SYY,SXY) 412 417 // XXX user-defined value for limit? 413 bool useReff = pmModelUseReff (model->type);418 bool useReff = model->class->useReff; 414 419 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 415 420 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_DEV.h
r35560 r36884 8 8 psF64 pmModelFlux_DEV(const psVector *params); 9 9 psF64 pmModelRadius_DEV(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_DEV(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_DEV(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_DEV(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_EXP.c
r36623 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" … … 56 56 # define PM_MODEL_LIMITS pmModelLimits_EXP 57 57 # define PM_MODEL_RADIUS pmModelRadius_EXP 58 # define PM_MODEL_SET_FWHM pmModelSetFWHM_EXP 58 59 # define PM_MODEL_FROM_PSF pmModelFromPSF_EXP 59 60 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_EXP … … 343 344 } 344 345 346 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 347 return (NAN); 348 } 349 345 350 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 346 351 { … … 364 369 // the 2D PSF model fits polarization terms (E0,E1,E2) 365 370 // convert to shape terms (SXX,SYY,SXY) 366 bool useReff = pmModelUseReff (modelPSF->type);371 bool useReff = modelPSF->class->useReff; 367 372 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 368 373 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 418 423 // convert to shape terms (SXX,SYY,SXY) 419 424 // XXX user-defined value for limit? 420 bool useReff = pmModelUseReff (model->type);425 bool useReff = model->class->useReff; 421 426 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 422 427 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_EXP.h
r35560 r36884 8 8 psF64 pmModelFlux_EXP(const psVector *params); 9 9 psF64 pmModelRadius_EXP(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_EXP(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_EXP(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_EXP(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_GAUSS.c
r36623 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" … … 54 54 # define PM_MODEL_GUESS pmModelGuess_GAUSS 55 55 # define PM_MODEL_LIMITS pmModelLimits_GAUSS 56 # define PM_MODEL_SET_FWHM pmModelSetFWHM_GAUSS 56 57 # define PM_MODEL_RADIUS pmModelRadius_GAUSS 57 58 # define PM_MODEL_FROM_PSF pmModelFromPSF_GAUSS … … 257 258 } 258 259 260 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 261 return (2.35482004503*sigma); 262 } 263 259 264 // construct the PSF model from the FLT model and the psf 260 265 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) … … 279 284 // the 2D PSF model fits polarization terms (E0,E1,E2) 280 285 // convert to shape terms (SXX,SYY,SXY) 281 bool useReff = pmModelUseReff (modelPSF->type);286 bool useReff = modelPSF->class->useReff; 282 287 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 283 288 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 331 336 // the 2D PSF model fits polarization terms (E0,E1,E2) 332 337 // convert to shape terms (SXX,SYY,SXY) 333 bool useReff = pmModelUseReff (model->type);338 bool useReff = model->class->useReff; 334 339 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 335 340 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_GAUSS.h
r35560 r36884 8 8 psF64 pmModelFlux_GAUSS(const psVector *params); 9 9 psF64 pmModelRadius_GAUSS(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_GAUSS(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_GAUSS(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_GAUSS(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_PGAUSS.c
r36623 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" … … 55 55 # define PM_MODEL_LIMITS pmModelLimits_PGAUSS 56 56 # define PM_MODEL_RADIUS pmModelRadius_PGAUSS 57 # define PM_MODEL_SET_FWHM pmModelSetFWHM_PGAUSS 57 58 # define PM_MODEL_FROM_PSF pmModelFromPSF_PGAUSS 58 59 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_PGAUSS … … 324 325 } 325 326 327 // scale factor is constant for PGAUSS, I found it with the fwhm.sh script 328 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 329 return (3.0063103*sigma); 330 } 331 326 332 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 327 333 { … … 344 350 // the 2D PSF model fits polarization terms (E0,E1,E2) 345 351 // convert to shape terms (SXX,SYY,SXY) 346 bool useReff = pmModelUseReff (modelPSF->type);352 bool useReff = modelPSF->class->useReff; 347 353 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 348 354 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 396 402 // the 2D PSF model fits polarization terms (E0,E1,E2) 397 403 // convert to shape terms (SXX,SYY,SXY) 398 bool useReff = pmModelUseReff (model->type);404 bool useReff = model->class->useReff; 399 405 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 400 406 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_PGAUSS.h
r35560 r36884 8 8 psF64 pmModelFlux_PGAUSS(const psVector *params); 9 9 psF64 pmModelRadius_PGAUSS(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_PGAUSS(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_PGAUSS(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_PGAUSS(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_PS1_V1.c
r36623 r36884 35 35 #include "pmMoments.h" 36 36 #include "pmModelFuncs.h" 37 #include "pmModelClass.h" 37 38 #include "pmModel.h" 38 39 #include "pmModelUtils.h" 39 #include "pmModelClass.h"40 40 #include "pmSourceMasks.h" 41 41 #include "pmSourceExtendedPars.h" … … 57 57 # define PM_MODEL_LIMITS pmModelLimits_PS1_V1 58 58 # define PM_MODEL_RADIUS pmModelRadius_PS1_V1 59 # define PM_MODEL_SET_FWHM pmModelSetFWHM_PS1_V1 59 60 # define PM_MODEL_FROM_PSF pmModelFromPSF_PS1_V1 60 61 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_PS1_V1 … … 336 337 } 337 338 339 // I used the script in models/fwhm.sh to generate the trend of FWHM scaling vs the K value 340 // FWHM = Scale * Sigma (not that PAR[PM_PAR_SXX] = sigma * sqrt(2) 341 // K : z_hm : FWHM 342 // 0 : 1.000 : 2.83 343 // 1 : 0.597 : 2.19 344 // 2 : 0.396 : 1.78 345 // 3 : 0.291 : 1.53 346 // 4 : 0.232 : 1.36 347 // 5 : 0.198 : 1.26 348 // 6 : 0.169 : 1.16 349 // 7 : 0.142 : 1.07 350 // 8 : 0.124 : 0.99 351 // 9 : 0.118 : 0.97 352 // 10 : 0.106 : 0.92 353 // 11 : 0.092 : 0.86 354 // 12 : 0.091 : 0.85 355 // 13 : 0.080 : 0.80 356 // 14 : 0.078 : 0.79 357 // 15 : 0.073 : 0.76 358 // 16 : 0.063 : 0.71 359 // 17 : 0.068 : 0.74 360 // 18 : 0.056 : 0.67 361 // 19 : 0.058 : 0.68 362 363 // static float PS1_V1_Core[] = { 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0}; 364 static float PS1_V1_Scale[] = {2.83, 2.19, 1.78, 1.53, 1.36, 1.26, 1.16, 1.07, 0.99, 0.97, 0.92, 0.86, 0.85, 0.80, 0.79, 0.76, 0.71, 0.74, 0.67, 0.68}; 365 366 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 367 368 psF32 *PAR = params->data.F32; 369 370 float core = PAR[PM_PAR_7]; 371 372 if (!isfinite(core)) return (2.0*M_SQRT2*sigma); 373 374 // if PS1_V1_Core is defined as a set of integer steps, so we can simplify: 375 int binCore = MAX(0, MIN (19, (int)core)); 376 377 float scale = NAN; 378 if (binCore == 0) { 379 scale = (core - binCore + 0) * (PS1_V1_Scale[binCore + 1] - PS1_V1_Scale[binCore + 0]) + PS1_V1_Scale[binCore + 0]; 380 } else { 381 scale = (core - binCore - 1) * (PS1_V1_Scale[binCore + 0] - PS1_V1_Scale[binCore - 1]) + PS1_V1_Scale[binCore - 1]; 382 } 383 384 return (scale * sigma); 385 } 386 338 387 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 339 388 { 340 341 389 psF32 *out = modelPSF->params->data.F32; 342 390 psF32 *in = modelFLT->params->data.F32; … … 357 405 // the 2D PSF model fits polarization terms (E0,E1,E2) 358 406 // convert to shape terms (SXX,SYY,SXY) 359 bool useReff = pmModelUseReff (modelPSF->type);407 bool useReff = modelPSF->class->useReff; 360 408 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 361 409 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 411 459 // convert to shape terms (SXX,SYY,SXY) 412 460 // XXX user-defined value for limit? 413 bool useReff = pmModelUseReff (model->type);461 bool useReff = model->class->useReff; 414 462 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 415 463 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_PS1_V1.h
r35560 r36884 8 8 psF64 pmModelFlux_PS1_V1(const psVector *params); 9 9 psF64 pmModelRadius_PS1_V1(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_PS1_V1(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_PS1_V1(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_PS1_V1(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_QGAUSS.c
r36623 r36884 35 35 #include "pmMoments.h" 36 36 #include "pmModelFuncs.h" 37 #include "pmModelClass.h" 37 38 #include "pmModel.h" 38 39 #include "pmModelUtils.h" 39 #include "pmModelClass.h"40 40 #include "pmSourceMasks.h" 41 41 #include "pmSourceExtendedPars.h" … … 57 57 # define PM_MODEL_LIMITS pmModelLimits_QGAUSS 58 58 # define PM_MODEL_RADIUS pmModelRadius_QGAUSS 59 # define PM_MODEL_SET_FWHM pmModelSetFWHM_QGAUSS 59 60 # define PM_MODEL_FROM_PSF pmModelFromPSF_QGAUSS 60 61 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_QGAUSS … … 337 338 } 338 339 340 // I used the script in models/fwhm.sh to generate the trend of FWHM scaling vs the K value 341 // FWHM = Scale * Sigma (not that PAR[PM_PAR_SXX] = sigma * sqrt(2) 342 // K : z_hm : FWHM 343 // 0 : 1.000 : 2.83 344 // 1 : 0.648 : 2.28 345 // 2 : 0.430 : 1.85 346 // 3 : 0.310 : 1.58 347 // 4 : 0.244 : 1.40 348 // 5 : 0.200 : 1.26 349 // 6 : 0.165 : 1.15 350 // 7 : 0.149 : 1.09 351 // 8 : 0.125 : 1.00 352 // 9 : 0.116 : 0.96 353 // 10 : 0.101 : 0.90 354 // 11 : 0.095 : 0.87 355 // 12 : 0.083 : 0.82 356 // 13 : 0.082 : 0.81 357 // 14 : 0.080 : 0.80 358 // 15 : 0.074 : 0.77 359 // 16 : 0.064 : 0.71 360 // 17 : 0.068 : 0.74 361 // 18 : 0.057 : 0.67 362 // 19 : 0.058 : 0.68 363 364 // static float QGAUSS_Core[] = { 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0}; 365 static float QGAUSS_Scale[] = {2.83, 2.28, 1.85, 1.58, 1.40, 1.26, 1.15, 1.09, 1.00, 0.96, 0.90, 0.87, 0.82, 0.81, 0.80, 0.77, 0.71, 0.74, 0.67, 0.68}; 366 367 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 368 369 psF32 *PAR = params->data.F32; 370 371 float core = PAR[PM_PAR_7]; 372 373 if (!isfinite(core)) return (2.0*M_SQRT2*sigma); 374 375 // QGAUSS_Core is defined as a set of integer steps, so we can simplify: 376 int binCore = MAX(0, MIN (19, (int)core)); 377 378 float scale = NAN; 379 if (binCore == 0) { 380 scale = (core - binCore + 0) * (QGAUSS_Scale[binCore + 1] - QGAUSS_Scale[binCore + 0]) + QGAUSS_Scale[binCore + 0]; 381 } else { 382 scale = (core - binCore - 1) * (QGAUSS_Scale[binCore + 0] - QGAUSS_Scale[binCore - 1]) + QGAUSS_Scale[binCore - 1]; 383 } 384 385 return (scale * sigma); 386 } 387 339 388 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 340 389 { … … 358 407 // the 2D PSF model fits polarization terms (E0,E1,E2) 359 408 // convert to shape terms (SXX,SYY,SXY) 360 bool useReff = pmModelUseReff (modelPSF->type);409 bool useReff = modelPSF->class->useReff; 361 410 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 362 411 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 416 465 // the 2D PSF model fits polarization terms (E0,E1,E2) 417 466 // convert to shape terms (SXX,SYY,SXY) 418 bool useReff = pmModelUseReff (model->type);467 bool useReff = model->class->useReff; 419 468 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 420 469 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_QGAUSS.h
r35560 r36884 8 8 psF64 pmModelFlux_QGAUSS(const psVector *params); 9 9 psF64 pmModelRadius_QGAUSS(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_QGAUSS(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_QGAUSS(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_QGAUSS(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_RGAUSS.c
r36623 r36884 34 34 #include "pmMoments.h" 35 35 #include "pmModelFuncs.h" 36 #include "pmModelClass.h" 36 37 #include "pmModel.h" 37 38 #include "pmModelUtils.h" 38 #include "pmModelClass.h"39 39 #include "pmSourceMasks.h" 40 40 #include "pmSourceExtendedPars.h" … … 56 56 # define PM_MODEL_LIMITS pmModelLimits_RGAUSS 57 57 # define PM_MODEL_RADIUS pmModelRadius_RGAUSS 58 # define PM_MODEL_SET_FWHM pmModelSetFWHM_RGAUSS 58 59 # define PM_MODEL_FROM_PSF pmModelFromPSF_RGAUSS 59 60 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_RGAUSS … … 330 331 } 331 332 333 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 334 return (NAN); 335 } 336 332 337 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 333 338 { … … 351 356 // the 2D PSF model fits polarization terms (E0,E1,E2) 352 357 // convert to shape terms (SXX,SYY,SXY) 353 bool useReff = pmModelUseReff (modelPSF->type);358 bool useReff = modelPSF->class->useReff; 354 359 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 355 360 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 404 409 // the 2D PSF model fits polarization terms (E0,E1,E2) 405 410 // convert to shape terms (SXX,SYY,SXY) 406 bool useReff = pmModelUseReff (model->type);411 bool useReff = model->class->useReff; 407 412 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 408 413 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_RGAUSS.h
r35560 r36884 8 8 psF64 pmModelFlux_RGAUSS(const psVector *params); 9 9 psF64 pmModelRadius_RGAUSS(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_RGAUSS(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_RGAUSS(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_RGAUSS(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_SERSIC.c
r36762 r36884 43 43 #include "pmMoments.h" 44 44 #include "pmModelFuncs.h" 45 #include "pmModelClass.h" 45 46 #include "pmModel.h" 46 47 #include "pmModelUtils.h" 47 #include "pmModelClass.h"48 48 #include "pmSourceMasks.h" 49 49 #include "pmSourceExtendedPars.h" … … 66 66 # define PM_MODEL_LIMITS pmModelLimits_SERSIC 67 67 # define PM_MODEL_RADIUS pmModelRadius_SERSIC 68 # define PM_MODEL_SET_FWHM pmModelSetFWHM_SERSIC 68 69 # define PM_MODEL_FROM_PSF pmModelFromPSF_SERSIC 69 70 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_SERSIC … … 124 125 if (radius <= 1.5) { 125 126 // Nsub ~ 10*index^2 + 1 126 psEllipseAxes axes = pmPSF_ModelToAxes(PAR, pmModelClassGetType ("PS_MODEL_SERSIC"));127 psEllipseAxes axes = pmPSF_ModelToAxes(PAR, true); // SERSIC model uses Reff 127 128 int Nsub = 2 * ((int)(6.0*Sindex / axes.minor)) + 1; 128 129 Nsub = PS_MIN (Nsub, 121); … … 357 358 } 358 359 360 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 361 return (NAN); 362 } 363 359 364 bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf) 360 365 { … … 378 383 // the 2D PSF model fits polarization terms (E0,E1,E2) 379 384 // convert to shape terms (SXX,SYY,SXY) 380 bool useReff = pmModelUseReff (modelPSF->type);385 bool useReff = modelPSF->class->useReff; 381 386 if (!pmPSF_FitToModel (out, 0.1, useReff)) { 382 387 psTrace("psModules.objects", 5, "Failed to fit object at (r,c) = (%.1f,%.1f)", in[PM_PAR_YPOS], in[PM_PAR_XPOS]); … … 432 437 // convert to shape terms (SXX,SYY,SXY) 433 438 // XXX user-defined value for limit? 434 bool useReff = pmModelUseReff (model->type);439 bool useReff = model->class->useReff; 435 440 if (!pmPSF_FitToModel (PAR, 0.1, useReff)) { 436 441 psTrace ("psModules.objects", 3, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_SERSIC.h
r35560 r36884 8 8 psF64 pmModelFlux_SERSIC(const psVector *params); 9 9 psF64 pmModelRadius_SERSIC(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_SERSIC(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_SERSIC(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_SERSIC(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_TRAIL.c
r36623 r36884 5 5 * The meaning of the parameters may thus vary depending on the specifics of the model. 6 6 * All models which are used as a PSF representations share a few parameters, for which # 7 #include "pmModelClass.h" 7 8 * define names are listed in pmModel.h: 8 9 … … 33 34 #include "pmMoments.h" 34 35 #include "pmModelFuncs.h" 36 #include "pmModelClass.h" 35 37 #include "pmModel.h" 36 38 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 39 #include "pmSourceMasks.h" 39 40 #include "pmSourceExtendedPars.h" … … 55 56 # define PM_MODEL_LIMITS pmModelLimits_TRAIL 56 57 # define PM_MODEL_RADIUS pmModelRadius_TRAIL 58 # define PM_MODEL_SET_FWHM pmModelSetFWHM_TRAIL 57 59 # define PM_MODEL_FROM_PSF pmModelFromPSF_TRAIL 58 60 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_TRAIL … … 352 354 353 355 psF32 *psfPAR = source->modelPSF->params->data.F32; 354 bool useReff = pmModelUseReff (source->modelPSF->type);356 bool useReff = source->modelPSF->class->useReff; 355 357 356 358 psEllipseAxes psfAxes; … … 413 415 // PAR_LENGTH is the unconvolved length. add a bit for safety 414 416 return (0.5*PAR[PM_PAR_LENGTH] + 2); 417 } 418 419 psF64 PM_MODEL_SET_FWHM (const psVector *params, psF64 sigma) { 420 return (NAN); 415 421 } 416 422 -
branches/eam_branches/ipp-20140610/psModules/src/objects/models/pmModel_TRAIL.h
r35560 r36884 8 8 psF64 pmModelFlux_TRAIL(const psVector *params); 9 9 psF64 pmModelRadius_TRAIL(const psVector *params, psF64 flux); 10 psF64 pmModelSetFWHM_TRAIL(const psVector *params, psF64 flux); 10 11 bool pmModelFromPSF_TRAIL(pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf); 11 12 bool pmModelParamsFromPSF_TRAIL(pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmDetEff.c
r36623 r36884 17 17 #include "pmMoments.h" 18 18 #include "pmModelFuncs.h" 19 #include "pmModelClass.h" 19 20 #include "pmModel.h" 20 21 #include "pmModelUtils.h" 21 #include "pmModelClass.h"22 22 #include "pmSourceMasks.h" 23 23 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmGrowthCurve.c
r36623 r36884 30 30 #include "pmMoments.h" 31 31 #include "pmModelFuncs.h" 32 #include "pmModelClass.h" 32 33 #include "pmModel.h" 33 34 #include "pmModelUtils.h" 34 #include "pmModelClass.h"35 35 #include "pmSourceMasks.h" 36 36 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmGrowthCurveGenerate.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmModel.c
r36834 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 #include "pmModelClass.h"37 37 38 38 static void modelFree(pmModel *tmp) … … 92 92 } 93 93 94 tmp->modelFunc = class->modelFunc; 95 tmp->modelFlux = class->modelFlux; 96 tmp->modelRadius = class->modelRadius; 97 tmp->modelLimits = class->modelLimits; 98 tmp->modelGuess = class->modelGuess; 99 tmp->modelFromPSF = class->modelFromPSF; 100 tmp->modelParamsFromPSF = class->modelParamsFromPSF; 101 tmp->modelFitStatus = class->modelFitStatus; 102 tmp->modelSetLimits = class->modelSetLimits; 94 tmp->class = class; 95 96 // tmp->modelFunc = class->modelFunc; 97 // tmp->modelFlux = class->modelFlux; 98 // tmp->modelRadius = class->modelRadius; 99 // tmp->modelLimits = class->modelLimits; 100 // tmp->modelGuess = class->modelGuess; 101 // tmp->modelFromPSF = class->modelFromPSF; 102 // tmp->modelParamsFromPSF = class->modelParamsFromPSF; 103 // tmp->modelFitStatus = class->modelFitStatus; 104 // tmp->modelSetLimits = class->modelSetLimits; 103 105 104 106 psTrace("psModules.objects", 10, "---- %s() end ----\n", __func__); … … 158 160 psF32 tmpF; 159 161 160 tmpF = model-> modelFunc (NULL, model->params, x);162 tmpF = model->class->modelFunc (NULL, model->params, x); 161 163 psFree(x); 162 164 psTrace("psModules.objects", 10, "---- %s() end ----\n", __func__); … … 178 180 psF32 tmpF; 179 181 180 tmpF = model-> modelFunc (NULL, model->params, x);182 tmpF = model->class->modelFunc (NULL, model->params, x); 181 183 psFree(x); 182 184 psTrace("psModules.objects", 10, "---- %s() end ----\n", __func__); … … 285 287 // add in the desired components for this coordinate 286 288 if (mode & PM_MODEL_OP_FUNC) { 287 pixelValue += model-> modelFunc (NULL, params, x);289 pixelValue += model->class->modelFunc (NULL, params, x); 288 290 } 289 291 -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmModel.h
r31153 r36884 47 47 bool isPCM; ///< is this model fitted with PSF-convolution? 48 48 49 pmModelClass *class; 50 49 51 // functions for this model which depend on the model class 50 pmModelFunc modelFunc; 51 pmModelFlux modelFlux; 52 pmModelRadius modelRadius; 53 pmModelLimits modelLimits; 54 pmModelGuessFunc modelGuess; 55 pmModelFromPSFFunc modelFromPSF; 56 pmModelParamsFromPSF modelParamsFromPSF; 57 pmModelFitStatusFunc modelFitStatus; 58 pmModelSetLimitsFunc modelSetLimits; 52 53 // pmModelFunc modelFunc; 54 // pmModelFlux modelFlux; 55 // pmModelRadius modelRadius; 56 // pmModelLimits modelLimits; 57 // pmModelGuessFunc modelGuess; 58 // pmModelFromPSFFunc modelFromPSF; 59 // pmModelParamsFromPSF modelParamsFromPSF; 60 // pmModelFitStatusFunc modelFitStatus; 61 // pmModelSetLimitsFunc modelSetLimits; 59 62 }; 60 63 -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmModelClass.c
r36441 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 39 39 #include "pmErrorCodes.h" … … 54 54 55 55 static pmModelClass defaultModels[] = { 56 {"PS_MODEL_GAUSS", 7, (pmModelFunc)pmModelFunc_GAUSS, (pmModelFlux)pmModelFlux_GAUSS, (pmModelRadius)pmModelRadius_GAUSS, (pmModelLimits)pmModelLimits_GAUSS, (pmModelGuessFunc)pmModelGuess_GAUSS, (pmModelFromPSFFunc)pmModelFromPSF_GAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_GAUSS, (pmModelFitStatusFunc)pmModelFitStatus_GAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_GAUSS },57 {"PS_MODEL_PGAUSS", 7, (pmModelFunc)pmModelFunc_PGAUSS, (pmModelFlux)pmModelFlux_PGAUSS, (pmModelRadius)pmModelRadius_PGAUSS, (pmModelLimits)pmModelLimits_PGAUSS, (pmModelGuessFunc)pmModelGuess_PGAUSS, (pmModelFromPSFFunc)pmModelFromPSF_PGAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_PGAUSS, (pmModelFitStatusFunc)pmModelFitStatus_PGAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_PGAUSS },58 {"PS_MODEL_QGAUSS", 8, (pmModelFunc)pmModelFunc_QGAUSS, (pmModelFlux)pmModelFlux_QGAUSS, (pmModelRadius)pmModelRadius_QGAUSS, (pmModelLimits)pmModelLimits_QGAUSS, (pmModelGuessFunc)pmModelGuess_QGAUSS, (pmModelFromPSFFunc)pmModelFromPSF_QGAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_QGAUSS, (pmModelFitStatusFunc)pmModelFitStatus_QGAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_QGAUSS },59 {"PS_MODEL_PS1_V1", 8, (pmModelFunc)pmModelFunc_PS1_V1, (pmModelFlux)pmModelFlux_PS1_V1, (pmModelRadius)pmModelRadius_PS1_V1, (pmModelLimits)pmModelLimits_PS1_V1, (pmModelGuessFunc)pmModelGuess_PS1_V1, (pmModelFromPSFFunc)pmModelFromPSF_PS1_V1, (pmModelParamsFromPSF)pmModelParamsFromPSF_PS1_V1, (pmModelFitStatusFunc)pmModelFitStatus_PS1_V1, (pmModelSetLimitsFunc)pmModelSetLimits_PS1_V1 },60 {"PS_MODEL_RGAUSS", 8, (pmModelFunc)pmModelFunc_RGAUSS, (pmModelFlux)pmModelFlux_RGAUSS, (pmModelRadius)pmModelRadius_RGAUSS, (pmModelLimits)pmModelLimits_RGAUSS, (pmModelGuessFunc)pmModelGuess_RGAUSS, (pmModelFromPSFFunc)pmModelFromPSF_RGAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_RGAUSS, (pmModelFitStatusFunc)pmModelFitStatus_RGAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_RGAUSS },61 {"PS_MODEL_SERSIC", 8, (pmModelFunc)pmModelFunc_SERSIC, (pmModelFlux)pmModelFlux_SERSIC, (pmModelRadius)pmModelRadius_SERSIC, (pmModelLimits)pmModelLimits_SERSIC, (pmModelGuessFunc)pmModelGuess_SERSIC, (pmModelFromPSFFunc)pmModelFromPSF_SERSIC, (pmModelParamsFromPSF)pmModelParamsFromPSF_SERSIC, (pmModelFitStatusFunc)pmModelFitStatus_SERSIC, (pmModelSetLimitsFunc)pmModelSetLimits_SERSIC },62 {"PS_MODEL_EXP", 7, (pmModelFunc)pmModelFunc_EXP, (pmModelFlux)pmModelFlux_EXP, (pmModelRadius)pmModelRadius_EXP, (pmModelLimits)pmModelLimits_EXP, (pmModelGuessFunc)pmModelGuess_EXP, (pmModelFromPSFFunc)pmModelFromPSF_EXP, (pmModelParamsFromPSF)pmModelParamsFromPSF_EXP, (pmModelFitStatusFunc)pmModelFitStatus_EXP, (pmModelSetLimitsFunc)pmModelSetLimits_EXP },63 {"PS_MODEL_DEV", 7, (pmModelFunc)pmModelFunc_DEV, (pmModelFlux)pmModelFlux_DEV, (pmModelRadius)pmModelRadius_DEV, (pmModelLimits)pmModelLimits_DEV, (pmModelGuessFunc)pmModelGuess_DEV, (pmModelFromPSFFunc)pmModelFromPSF_DEV, (pmModelParamsFromPSF)pmModelParamsFromPSF_DEV, (pmModelFitStatusFunc)pmModelFitStatus_DEV, (pmModelSetLimitsFunc)pmModelSetLimits_DEV },64 {"PS_MODEL_TRAIL", 7, (pmModelFunc)pmModelFunc_TRAIL, (pmModelFlux)pmModelFlux_TRAIL, (pmModelRadius)pmModelRadius_TRAIL, (pmModelLimits)pmModelLimits_TRAIL, (pmModelGuessFunc)pmModelGuess_TRAIL, (pmModelFromPSFFunc)pmModelFromPSF_TRAIL, (pmModelParamsFromPSF)pmModelParamsFromPSF_TRAIL, (pmModelFitStatusFunc)pmModelFitStatus_TRAIL, (pmModelSetLimitsFunc)pmModelSetLimits_TRAIL },56 {"PS_MODEL_GAUSS", 7, 0, (pmModelFunc)pmModelFunc_GAUSS, (pmModelFlux)pmModelFlux_GAUSS, (pmModelRadius)pmModelRadius_GAUSS, (pmModelSetFWHM)pmModelSetFWHM_GAUSS, (pmModelLimits)pmModelLimits_GAUSS, (pmModelGuessFunc)pmModelGuess_GAUSS, (pmModelFromPSFFunc)pmModelFromPSF_GAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_GAUSS, (pmModelFitStatusFunc)pmModelFitStatus_GAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_GAUSS }, 57 {"PS_MODEL_PGAUSS", 7, 0, (pmModelFunc)pmModelFunc_PGAUSS, (pmModelFlux)pmModelFlux_PGAUSS, (pmModelRadius)pmModelRadius_PGAUSS, (pmModelSetFWHM)pmModelSetFWHM_PGAUSS, (pmModelLimits)pmModelLimits_PGAUSS, (pmModelGuessFunc)pmModelGuess_PGAUSS, (pmModelFromPSFFunc)pmModelFromPSF_PGAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_PGAUSS, (pmModelFitStatusFunc)pmModelFitStatus_PGAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_PGAUSS }, 58 {"PS_MODEL_QGAUSS", 8, 0, (pmModelFunc)pmModelFunc_QGAUSS, (pmModelFlux)pmModelFlux_QGAUSS, (pmModelRadius)pmModelRadius_QGAUSS, (pmModelSetFWHM)pmModelSetFWHM_QGAUSS, (pmModelLimits)pmModelLimits_QGAUSS, (pmModelGuessFunc)pmModelGuess_QGAUSS, (pmModelFromPSFFunc)pmModelFromPSF_QGAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_QGAUSS, (pmModelFitStatusFunc)pmModelFitStatus_QGAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_QGAUSS }, 59 {"PS_MODEL_PS1_V1", 8, 0, (pmModelFunc)pmModelFunc_PS1_V1, (pmModelFlux)pmModelFlux_PS1_V1, (pmModelRadius)pmModelRadius_PS1_V1, (pmModelSetFWHM)pmModelSetFWHM_PS1_V1, (pmModelLimits)pmModelLimits_PS1_V1, (pmModelGuessFunc)pmModelGuess_PS1_V1, (pmModelFromPSFFunc)pmModelFromPSF_PS1_V1, (pmModelParamsFromPSF)pmModelParamsFromPSF_PS1_V1, (pmModelFitStatusFunc)pmModelFitStatus_PS1_V1, (pmModelSetLimitsFunc)pmModelSetLimits_PS1_V1 }, 60 {"PS_MODEL_RGAUSS", 8, 0, (pmModelFunc)pmModelFunc_RGAUSS, (pmModelFlux)pmModelFlux_RGAUSS, (pmModelRadius)pmModelRadius_RGAUSS, (pmModelSetFWHM)pmModelSetFWHM_RGAUSS, (pmModelLimits)pmModelLimits_RGAUSS, (pmModelGuessFunc)pmModelGuess_RGAUSS, (pmModelFromPSFFunc)pmModelFromPSF_RGAUSS, (pmModelParamsFromPSF)pmModelParamsFromPSF_RGAUSS, (pmModelFitStatusFunc)pmModelFitStatus_RGAUSS, (pmModelSetLimitsFunc)pmModelSetLimits_RGAUSS }, 61 {"PS_MODEL_SERSIC", 8, 1, (pmModelFunc)pmModelFunc_SERSIC, (pmModelFlux)pmModelFlux_SERSIC, (pmModelRadius)pmModelRadius_SERSIC, (pmModelSetFWHM)pmModelSetFWHM_SERSIC, (pmModelLimits)pmModelLimits_SERSIC, (pmModelGuessFunc)pmModelGuess_SERSIC, (pmModelFromPSFFunc)pmModelFromPSF_SERSIC, (pmModelParamsFromPSF)pmModelParamsFromPSF_SERSIC, (pmModelFitStatusFunc)pmModelFitStatus_SERSIC, (pmModelSetLimitsFunc)pmModelSetLimits_SERSIC }, 62 {"PS_MODEL_EXP", 7, 1, (pmModelFunc)pmModelFunc_EXP, (pmModelFlux)pmModelFlux_EXP, (pmModelRadius)pmModelRadius_EXP, (pmModelSetFWHM)pmModelSetFWHM_EXP, (pmModelLimits)pmModelLimits_EXP, (pmModelGuessFunc)pmModelGuess_EXP, (pmModelFromPSFFunc)pmModelFromPSF_EXP, (pmModelParamsFromPSF)pmModelParamsFromPSF_EXP, (pmModelFitStatusFunc)pmModelFitStatus_EXP, (pmModelSetLimitsFunc)pmModelSetLimits_EXP }, 63 {"PS_MODEL_DEV", 7, 1, (pmModelFunc)pmModelFunc_DEV, (pmModelFlux)pmModelFlux_DEV, (pmModelRadius)pmModelRadius_DEV, (pmModelSetFWHM)pmModelSetFWHM_DEV, (pmModelLimits)pmModelLimits_DEV, (pmModelGuessFunc)pmModelGuess_DEV, (pmModelFromPSFFunc)pmModelFromPSF_DEV, (pmModelParamsFromPSF)pmModelParamsFromPSF_DEV, (pmModelFitStatusFunc)pmModelFitStatus_DEV, (pmModelSetLimitsFunc)pmModelSetLimits_DEV }, 64 {"PS_MODEL_TRAIL", 7, 0, (pmModelFunc)pmModelFunc_TRAIL, (pmModelFlux)pmModelFlux_TRAIL, (pmModelRadius)pmModelRadius_TRAIL, (pmModelSetFWHM)pmModelSetFWHM_TRAIL, (pmModelLimits)pmModelLimits_TRAIL, (pmModelGuessFunc)pmModelGuess_TRAIL, (pmModelFromPSFFunc)pmModelFromPSF_TRAIL, (pmModelParamsFromPSF)pmModelParamsFromPSF_TRAIL, (pmModelFitStatusFunc)pmModelFitStatus_TRAIL, (pmModelSetLimitsFunc)pmModelSetLimits_TRAIL }, 65 65 }; 66 66 -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmModelClass.h
r36441 r36884 35 35 char *name; 36 36 int nParams; 37 bool useReff; 37 38 pmModelFunc modelFunc; 38 39 pmModelFlux modelFlux; 39 40 pmModelRadius modelRadius; 41 pmModelSetFWHM modelSetFWHM; 40 42 pmModelLimits modelLimits; 41 43 pmModelGuessFunc modelGuess; -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmModelFuncs.h
r36375 r36884 110 110 typedef psF64 (*pmModelRadius)(const psVector *params, double flux); 111 111 112 // This function returns the FWHM given the supplied sigma (major or minor) 113 typedef psF64 (*pmModelSetFWHM)(const psVector *params, double sigma); 114 112 115 // This function provides the model guess parameters based on the details of 113 116 // the given source. -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmModelUtils.c
r36623 r36884 32 32 #include "pmMoments.h" 33 33 #include "pmModelFuncs.h" 34 #include "pmModelClass.h" 34 35 #include "pmModel.h" 35 36 #include "pmModelUtils.h" 36 #include "pmModelClass.h"37 37 #include "pmSourceMasks.h" 38 38 #include "pmSourceExtendedPars.h" … … 46 46 #include "pmErrorCodes.h" 47 47 48 // XX static bool useModelVar = false;49 // XX50 // XX void pmModelSetModelVarOption (bool option) {51 // XX useModelVar = option;52 // XX }53 // XX bool pmModelGetModelVarOption (void) {54 // XX return useModelVar;55 // XX }56 57 48 /***************************************************************************** 58 49 pmModelFromPSF (*modelEXT, *psf): use the model position parameters to … … 68 59 69 60 // set model parameters for this source based on PSF information 70 if (!modelEXT-> modelFromPSF (modelPSF, modelEXT, psf)) {61 if (!modelEXT->class->modelFromPSF (modelPSF, modelEXT, psf)) { 71 62 psTrace ("psModules.objects", 3, "Failed to set model params from PSF"); 72 63 psFree(modelPSF); … … 89 80 90 81 // set model parameters for this source based on PSF information 91 if (!modelPSF-> modelParamsFromPSF (modelPSF, psf, Xo, Yo, Io)) {82 if (!modelPSF->class->modelParamsFromPSF (modelPSF, psf, Xo, Yo, Io)) { 92 83 psFree(modelPSF); 93 84 return NULL; … … 109 100 110 101 // determine the normalized flux 111 float normFlux = model-> modelFlux (model->params);102 float normFlux = model->class->modelFlux (model->params); 112 103 assert (isfinite(normFlux)); 113 104 assert (normFlux > 0); … … 120 111 121 112 bool pmModelUseReff (pmModelType type) { 122 bool useReff = false; 123 useReff |= (type == pmModelClassGetType ("PS_MODEL_SERSIC"));124 useReff |= (type == pmModelClassGetType ("PS_MODEL_DEV"));125 useReff |= (type == pmModelClassGetType ("PS_MODEL_EXP"));113 114 pmModelClass *class = pmModelClassSelect (type); 115 psAssert (class, "undefined model class?"); 116 bool useReff = class->useReff; 126 117 return useReff; 127 118 } -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPCM_MinimizeChisq.c
r36623 r36884 31 31 #include "pmMoments.h" 32 32 #include "pmModelFuncs.h" 33 #include "pmModelClass.h" 33 34 #include "pmModel.h" 34 35 #include "pmModelUtils.h" 35 #include "pmModelClass.h"36 36 #include "pmSourceMasks.h" 37 37 #include "pmSourceExtendedPars.h" … … 455 455 coord->data.F32[1] = (psF32) (i + 0.5 + source->pixels->row0); 456 456 457 pcm->modelFlux->data.F32[i][j] = pcm->modelConv-> modelFunc (deriv, params, coord);457 pcm->modelFlux->data.F32[i][j] = pcm->modelConv->class->modelFunc (deriv, params, coord); 458 458 459 459 for (int n = 0; n < params->n; n++) { -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPCMdata.c
r36623 r36884 31 31 #include "pmMoments.h" 32 32 #include "pmModelFuncs.h" 33 #include "pmModelClass.h" 33 34 #include "pmModel.h" 34 35 #include "pmModelUtils.h" 35 #include "pmModelClass.h"36 36 #include "pmSourceMasks.h" 37 37 #include "pmSourceExtendedPars.h" … … 293 293 294 294 psEllipseAxes axes; 295 bool useReff = pmModelUseReff (modelPSF->type);295 bool useReff = modelPSF->class->useReff; 296 296 psF32 *PAR = modelPSF->params->data.F32; 297 297 pmModelParamsToAxes (&axes, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY], useReff); … … 302 302 // XXX need to do this more carefully 303 303 if (modelPSF->type == modelType_GAUSS) { 304 float FWHM_MAJOR = 2*modelPSF-> modelRadius (modelPSF->params, 0.5*PAR[PM_PAR_I0]);304 float FWHM_MAJOR = 2*modelPSF->class->modelRadius (modelPSF->params, 0.5*PAR[PM_PAR_I0]); 305 305 float FWHM_MINOR = FWHM_MAJOR * (axes.minor / axes.major); 306 306 *sigma = 0.50 * (FWHM_MAJOR + FWHM_MINOR) / 2.35; … … 330 330 331 331 psEllipseAxes axes; 332 bool useReff = pmModelUseReff (modelPSF->type);332 bool useReff = modelPSF->class->useReff; 333 333 psF32 *PAR = modelPSF->params->data.F32; 334 334 pmModelParamsToAxes (&axes, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY], useReff); … … 339 339 // XXX need to do this more carefully 340 340 if (modelPSF->type == modelType_GAUSS) { 341 float FWHM_MAJOR = 2*modelPSF-> modelRadius (modelPSF->params, 0.5*PAR[PM_PAR_I0]);341 float FWHM_MAJOR = 2*modelPSF->class->modelRadius (modelPSF->params, 0.5*PAR[PM_PAR_I0]); 342 342 float FWHM_MINOR = FWHM_MAJOR * (axes.minor / axes.major); 343 343 *sigma = 0.50 * (FWHM_MAJOR + FWHM_MINOR) / 2.35; … … 393 393 psMinConstraint *constraint = psMinConstraintAlloc(); 394 394 constraint->paramMask = psVectorAlloc (params->n, PS_TYPE_VECTOR_MASK); 395 constraint->checkLimits = model-> modelLimits;395 constraint->checkLimits = model->class->modelLimits; 396 396 397 397 int nParams = pmPCMsetParams (constraint, fitOptions->mode); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSF.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 329 329 // convert the parameters used in the fitted source model to the psEllipseAxes representation 330 330 // (major,minor,theta) 331 psEllipseAxes pmPSF_ModelToAxes (psF32 *modelPar, pmModelType type)331 psEllipseAxes pmPSF_ModelToAxes (psF32 *modelPar, bool useReff) 332 332 { 333 333 psEllipseAxes axes; … … 338 338 PS_ASSERT_PTR_NON_NULL(modelPar, axes); 339 339 340 bool useReff = pmModelUseReff (type);341 340 pmModelParamsToAxes (&axes, modelPar[PM_PAR_SXX], modelPar[PM_PAR_SXY], modelPar[PM_PAR_SYY], useReff); 342 341 return axes; … … 345 344 // convert the psEllipseAxes representation (major,minor,theta) to the parameters used in the 346 345 // fitted source model 347 bool pmPSF_AxesToModel (psF32 *modelPar, psEllipseAxes axes, pmModelType type)346 bool pmPSF_AxesToModel (psF32 *modelPar, psEllipseAxes axes, bool useReff) 348 347 { 349 348 PS_ASSERT_PTR_NON_NULL(modelPar, false); … … 357 356 } 358 357 359 bool useReff = pmModelUseReff (type);360 358 pmModelAxesToParams (&modelPar[PM_PAR_SXX], &modelPar[PM_PAR_SXY], &modelPar[PM_PAR_SYY], axes, useReff); 361 359 return true; … … 420 418 421 419 // get the model full-width at half-max 422 float fwhmMajor = 2*model-> modelRadius (model->params, 0.5);420 float fwhmMajor = 2*model->class->modelRadius (model->params, 0.5); 423 421 424 422 # if (0) 425 423 psF32 *params = model->params->data.F32; // Model parameters 426 psEllipseAxes axes = pmPSF_ModelToAxes(params, MAX_AXIS_RATIO, model-> type); // Ellipse axes424 psEllipseAxes axes = pmPSF_ModelToAxes(params, MAX_AXIS_RATIO, model->class->useReff); // Ellipse axes 427 425 428 426 // Curiously, the minor axis can be larger than the major axis, so need to check. -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSF.h
r35768 r36884 106 106 pmPSF *pmPSFBuildSimple (char *typeName, float sxx, float syy, float sxy, ...); 107 107 108 bool pmPSF_AxesToModel (psF32 *modelPar, psEllipseAxes axes, pmModelType type);108 bool pmPSF_AxesToModel (psF32 *modelPar, psEllipseAxes axes, bool useReff); 109 109 bool pmPSF_FitToModel (psF32 *fittedPar, float minMinorAxis, bool useReff); 110 110 111 111 psEllipsePol pmPSF_ModelToFit (psF32 *modelPar, bool useReff); 112 psEllipseAxes pmPSF_ModelToAxes (psF32 *modelPar, pmModelType type);112 psEllipseAxes pmPSF_ModelToAxes (psF32 *modelPar, bool useReff); 113 113 114 114 /// Calculate FWHM value from a PSF -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSF_IO.c
r36623 r36884 47 47 #include "pmMoments.h" 48 48 #include "pmModelFuncs.h" 49 #include "pmModelClass.h" 49 50 #include "pmModel.h" 50 51 #include "pmModelUtils.h" 51 #include "pmModelClass.h"52 52 #include "pmSourceMasks.h" 53 53 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSFtry.c
r36623 r36884 29 29 #include "pmMoments.h" 30 30 #include "pmModelFuncs.h" 31 #include "pmModelClass.h" 31 32 #include "pmModel.h" 32 33 #include "pmModelUtils.h" 33 #include "pmModelClass.h"34 34 #include "pmSourceMasks.h" 35 35 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSFtryFitEXT.c
r36623 r36884 29 29 #include "pmMoments.h" 30 30 #include "pmModelFuncs.h" 31 #include "pmModelClass.h" 31 32 #include "pmModel.h" 32 33 #include "pmModelUtils.h" 33 #include "pmModelClass.h"34 34 #include "pmSourceMasks.h" 35 35 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSFtryFitPSF.c
r36658 r36884 27 27 #include "pmMoments.h" 28 28 #include "pmModelFuncs.h" 29 #include "pmModelClass.h" 29 30 #include "pmModel.h" 30 31 #include "pmModelUtils.h" 31 #include "pmModelClass.h"32 32 #include "pmSourceMasks.h" 33 33 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSFtryMakePSF.c
r36834 r36884 28 28 #include "pmMoments.h" 29 29 #include "pmModelFuncs.h" 30 #include "pmModelClass.h" 30 31 #include "pmModel.h" 31 32 #include "pmModelUtils.h" 32 #include "pmModelClass.h"33 33 #include "pmSourceMasks.h" 34 34 #include "pmSourceExtendedPars.h" … … 212 212 assert (source->modelEXT); // all unmasked sources should have modelEXT 213 213 214 bool useReff = pmModelUseReff (source->modelEXT->type);214 bool useReff = source->modelEXT->class->useReff; 215 215 psEllipsePol pol = pmPSF_ModelToFit (source->modelEXT->params->data.F32, useReff); 216 216 -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSFtryMetric.c
r36623 r36884 28 28 #include "pmMoments.h" 29 29 #include "pmModelFuncs.h" 30 #include "pmModelClass.h" 30 31 #include "pmModel.h" 31 32 #include "pmModelUtils.h" 32 #include "pmModelClass.h"33 33 #include "pmSourceMasks.h" 34 34 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPSFtryModel.c
r36623 r36884 29 29 #include "pmMoments.h" 30 30 #include "pmModelFuncs.h" 31 #include "pmModelClass.h" 31 32 #include "pmModel.h" 32 33 #include "pmModelUtils.h" 33 #include "pmModelClass.h"34 34 #include "pmSourceMasks.h" 35 35 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmPhotObj.c
r36623 r36884 29 29 #include "pmMoments.h" 30 30 #include "pmModelFuncs.h" 31 #include "pmModelClass.h" 31 32 #include "pmModel.h" 32 33 #include "pmModelUtils.h" 33 #include "pmModelClass.h"34 34 #include "pmSourceMasks.h" 35 35 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSource.c
r36747 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" … … 146 146 source->apMagRaw = NAN; 147 147 source->apRadius = NAN; 148 source->apNpixels = 0; 148 149 source->apFlux = NAN; 149 150 source->apFluxErr = NAN; … … 237 238 source->apMagRaw = in->apMagRaw; 238 239 source->apRadius = in->apRadius; 240 source->apNpixels = in->apNpixels; 239 241 source->apFlux = in->apFlux; 240 242 source->apFluxErr = in->apFluxErr; … … 987 989 if (!isfinite(oldI0)) return false; 988 990 989 bool useReff = pmModelUseReff (model->type);991 bool useReff = model->class->useReff; 990 992 pmModelParamsToAxes (&axes, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY], useReff); 991 993 -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSource.h
r36747 r36884 97 97 float apMagRaw; ///< raw mag in given aperture 98 98 float apRadius; ///< radius for aperture magnitude 99 int apNpixels; ///< number of unmasked pixels in aperture 99 100 float apFlux; ///< apFlux corresponding to psfMag or extMag (depending on type) 100 101 float apFluxErr; ///< apFluxErr corresponding to psfMag or extMag (depending on type) -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceContour.c
r36623 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceFitModel.c
r36623 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" … … 170 170 psMinConstraint *constraint = psMinConstraintAlloc(); 171 171 constraint->paramMask = psVectorAlloc (params->n, PS_TYPE_VECTOR_MASK); 172 constraint->checkLimits = model-> modelLimits;172 constraint->checkLimits = model->class->modelLimits; 173 173 174 174 // set parameter mask based on fitting mode … … 233 233 // force the floating parameters to fall within the contraint ranges 234 234 for (int i = 0; i < params->n; i++) { 235 model-> modelLimits (PS_MINIMIZE_PARAM_MIN, i, params->data.F32, NULL);236 model-> modelLimits (PS_MINIMIZE_PARAM_MAX, i, params->data.F32, NULL);235 model->class->modelLimits (PS_MINIMIZE_PARAM_MIN, i, params->data.F32, NULL); 236 model->class->modelLimits (PS_MINIMIZE_PARAM_MAX, i, params->data.F32, NULL); 237 237 } 238 238 … … 254 254 psImage *covar = psImageAlloc (params->n, params->n, PS_TYPE_F32); 255 255 256 fitStatus = psMinimizeLMChi2(myMin, covar, params, constraint, x, y, yErr, model-> modelFunc);256 fitStatus = psMinimizeLMChi2(myMin, covar, params, constraint, x, y, yErr, model->class->modelFunc); 257 257 for (int i = 0; i < dparams->n; i++) { 258 258 if ((constraint->paramMask != NULL) && constraint->paramMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) … … 306 306 altmask->data.PS_TYPE_VECTOR_MASK_DATA[i] = (constraint->paramMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) ? 0 : 1; 307 307 } 308 psMinimizeGaussNewtonDelta(delta, params, altmask, x, y, yErr, model-> modelFunc);308 psMinimizeGaussNewtonDelta(delta, params, altmask, x, y, yErr, model->class->modelFunc); 309 309 310 310 for (int i = 0; i < dparams->n; i++) { -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceFitPCM.c
r36623 r36884 31 31 #include "pmMoments.h" 32 32 #include "pmModelFuncs.h" 33 #include "pmModelClass.h" 33 34 #include "pmModel.h" 34 35 #include "pmModelUtils.h" 35 #include "pmModelClass.h"36 36 #include "pmSourceMasks.h" 37 37 #include "pmSourceExtendedPars.h" … … 63 63 // force the floating parameters to fall within the contraint ranges 64 64 for (int i = 0; i < params->n; i++) { 65 pcm->modelConv-> modelLimits (PS_MINIMIZE_PARAM_MIN, i, params->data.F32, NULL);66 pcm->modelConv-> modelLimits (PS_MINIMIZE_PARAM_MAX, i, params->data.F32, NULL);65 pcm->modelConv->class->modelLimits (PS_MINIMIZE_PARAM_MIN, i, params->data.F32, NULL); 66 pcm->modelConv->class->modelLimits (PS_MINIMIZE_PARAM_MAX, i, params->data.F32, NULL); 67 67 } 68 68 … … 165 165 bool pmSourceModelGuessPCM (pmPCMdata *pcm, pmSource *source, psImageMaskType maskVal, psImageMaskType markVal) { 166 166 167 if (!pcm->modelConv-> modelGuess(pcm->modelConv, source, maskVal, markVal)) {167 if (!pcm->modelConv->class->modelGuess(pcm->modelConv, source, maskVal, markVal)) { 168 168 return false; 169 169 } -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceFitSet.c
r36623 r36884 32 32 #include "pmMoments.h" 33 33 #include "pmModelFuncs.h" 34 #include "pmModelClass.h" 34 35 #include "pmModel.h" 35 36 #include "pmModelUtils.h" 36 #include "pmModelClass.h"37 37 #include "pmSourceMasks.h" 38 38 #include "pmSourceExtendedPars.h" … … 223 223 float *paramOne = params + nParamBase; 224 224 float *betaOne = betas + nParamBase; 225 bool status = model-> modelLimits (mode, nParamOne, paramOne, betaOne);225 bool status = model->class->modelLimits (mode, nParamOne, paramOne, betaOne); 226 226 return status; 227 227 } … … 388 388 psVector *derivOne = thisSet->derivSet->data[i]; 389 389 390 chisqOne = model-> modelFunc (derivOne, paramOne, x);390 chisqOne = model->class->modelFunc (derivOne, paramOne, x); 391 391 chisqSum += chisqOne; 392 392 } -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceGroups.c
r36623 r36884 18 18 #include "pmMoments.h" 19 19 #include "pmModelFuncs.h" 20 #include "pmModelClass.h" 20 21 #include "pmModel.h" 21 22 #include "pmModelUtils.h" 22 #include "pmModelClass.h"23 23 #include "pmSourceMasks.h" 24 24 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO.c
r36757 r36884 40 40 #include "pmMoments.h" 41 41 #include "pmModelFuncs.h" 42 #include "pmModelClass.h" 42 43 #include "pmModel.h" 43 44 #include "pmModelUtils.h" 44 #include "pmModelClass.h"45 45 #include "pmSourceMasks.h" 46 46 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_CFF.c
r36757 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 208 208 axes.minor = 1.0; 209 209 axes.theta = 0.0; 210 pmPSF_AxesToModel (PAR, axes, model Type);210 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 211 211 212 212 // peak->detValue, rawFlux, smoothFlux are all set to the flux argument which is counts per second … … 273 273 galaxyAxes.theta = theta * PS_RAD_DEG; 274 274 275 pmPSF_AxesToModel (xPAR, galaxyAxes, galaxyModelType);275 pmPSF_AxesToModel (xPAR, galaxyAxes, model->class->useReff); 276 276 if (model->params->n > 7) { 277 277 xPAR[PM_PAR_7] = 0.5 / Sindex; … … 403 403 yPos[n_rows] = PAR[PM_PAR_YPOS]; 404 404 405 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model-> type);405 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 406 406 rMajor[n_rows] = axes.major; 407 407 rMinor[n_rows] = axes.minor; … … 461 461 yPos[0] = PAR[PM_PAR_YPOS]; 462 462 463 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model-> type);463 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 464 464 rMajor[0] = axes.major; 465 465 rMinor[0] = axes.minor; … … 490 490 yPos[1] = PAR[PM_PAR_YPOS]; 491 491 492 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model-> type);492 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 493 493 rMajor[1] = axes.major; 494 494 rMinor[1] = axes.minor; -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_CMF.c.in
r36758 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 142 142 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG", PS_DATA_F32, "magnitude in standard aperture", source->apMag); 143 143 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RAW", PS_DATA_F32, "magnitude in reported aperture", source->apMagRaw); 144 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RADIUS", PS_DATA_F32, "radius used for aperture mags", outputs.apRadius);144 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RADIUS", PS_DATA_F32, "radius used for aperture mags", source->apRadius); 145 145 @>PS1_DV1,>PS1_V3,>PS1_SV1@ psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX", PS_DATA_F32, "instrumental flux in standard aperture", source->apFlux); 146 146 @>PS1_DV1,>PS1_V3,>PS1_SV1@ psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX_SIG", PS_DATA_F32, "aperture flux error", source->apFluxErr); 147 @>PS1_V4,>PS1_SV2,>PS1_DV3@ psMetadataAdd (row, PS_LIST_TAIL, "AP_NPIX", PS_DATA_S32, "aperture unmasked pixels", source->apNpixels); 147 148 148 149 @<PS1_V3,PS1_SV1,PS1_DV?@ psMetadataAdd (row, PS_LIST_TAIL, "PEAK_FLUX_AS_MAG", PS_DATA_F32, "Peak flux expressed as magnitude", outputs.peakMag); … … 163 164 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "EXT_NSIGMA", PS_DATA_F32, "Nsigma deviations from PSF to EXT", source->extNsigma); 164 165 166 // PSF shape parameters: 165 167 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_MAJOR", PS_DATA_F32, "PSF width (major axis)", outputs.psfMajor); 166 168 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_MINOR", PS_DATA_F32, "PSF width (minor axis)", outputs.psfMinor); 167 169 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_THETA", PS_DATA_F32, "PSF orientation angle", outputs.psfTheta); 170 @>PS1_V4,>PS1_SV2,>PS1_DV3@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_CORE", PS_DATA_F32, "k term if defined", outputs.psfCore); 171 172 // I use a look-up table and linear interpolation to map PSF_MAJOR,PSF_MINOR + PSF_CORE to FWHM values 173 @>PS1_V4,>PS1_SV2,>PS1_DV3@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_FWHM_MAJ", PS_DATA_F32, "PSF FWHM (major axis)", outputs.psfMajorFWHM); 174 @>PS1_V4,>PS1_SV2,>PS1_DV3@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_FWHM_MIN", PS_DATA_F32, "PSF FWHM (minor axis)", outputs.psfMinorFWHM); 175 176 // psf data quality 168 177 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF", PS_DATA_F32, "PSF coverage/quality factor (bad)", source->pixWeightNotBad); 169 178 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF_PERFECT", PS_DATA_F32, "PSF coverage/quality factor (poor)", source->pixWeightNotPoor); … … 197 206 } 198 207 199 if (source->lensing OBJ&& source->lensingPSF->smear) {208 if (source->lensingPSF && source->lensingPSF->smear) { 200 209 @>PS1_V4@ psMetadataAdd (row, PS_LIST_TAIL, "LENS_X11_SM_PSF", PS_DATA_F32, "smear polarizability element (objects)", source->lensingPSF->smear->X11); 201 210 @>PS1_V4@ psMetadataAdd (row, PS_LIST_TAIL, "LENS_X12_SM_PSF", PS_DATA_F32, "smear polarizability element (objects)", source->lensingPSF->smear->X12); … … 205 214 } 206 215 207 if (source->lensing OBJ&& source->lensingPSF->shear) {216 if (source->lensingPSF && source->lensingPSF->shear) { 208 217 @>PS1_V4@ psMetadataAdd (row, PS_LIST_TAIL, "LENS_X11_SH_PSF", PS_DATA_F32, "shear polarizability element (objects)", source->lensingPSF->shear->X11); 209 218 @>PS1_V4@ psMetadataAdd (row, PS_LIST_TAIL, "LENS_X12_SH_PSF", PS_DATA_F32, "shear polarizability element (objects)", source->lensingPSF->shear->X12); … … 302 311 303 312 // define PSF model type 304 // XXX need to carry the extra model parameters305 313 int modelType = pmModelClassGetType ("PS_MODEL_GAUSS"); 306 314 307 char *PSF_NAME = psMetadataLookupStr (&status, header, "PSF_NAME"); 315 // if header does not define the model, default to a gaussian 316 char *PSF_NAME = psMetadataLookupStr (&status, header, "PSFMODEL"); 308 317 if (PSF_NAME != NULL) { 309 318 modelType = pmModelClassGetType (PSF_NAME); 310 319 } 311 320 assert (modelType > -1); 321 322 // do we expect to find lensing parameters? 323 bool haveLensOBJ = psMetadataLookupBool (&status, header, "LENS_OBJ"); 324 bool haveLensPSF = psMetadataLookupBool (&status, header, "LENS_PSF"); 312 325 313 326 // We get the size of the table, and allocate the array of sources first because the table … … 344 357 @ALL@ axes.theta = psMetadataLookupF32 (&status, row, "PSF_THETA"); 345 358 @ALL@ axes.theta = axes.theta * PS_RAD_DEG; 359 360 @>PS1_V4,>PS1_SV2,>PS1_DV3@ if (model->params->n >= PM_PAR_7) { 361 @>PS1_V4,>PS1_SV2,>PS1_DV3@ PAR[PM_PAR_7] = psMetadataLookupF32 (&status, row, "PSF_CORE"); 362 @>PS1_V4,>PS1_SV2,>PS1_DV3@ } 346 363 347 364 @ALL@ PAR[PM_PAR_SKY] = psMetadataLookupF32 (&status, row, "SKY"); … … 355 372 @ALL@ source->apMag = psMetadataLookupF32 (&status, row, "AP_MAG"); 356 373 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->apMagRaw = psMetadataLookupF32 (&status, row, "AP_MAG_RAW"); 374 @>PS1_DV1,>PS1_V3,>PS1_SV1@ source->apFlux = psMetadataLookupF32 (&status, row, "AP_FLUX"); 375 @>PS1_DV1,>PS1_V3,>PS1_SV1@ source->apFluxErr = psMetadataLookupF32 (&status, row, "AP_FLUX_SIG"); 357 376 358 377 // XXX use these to determine PAR[PM_PAR_I0] if they exist? … … 365 384 @ALL@ dPAR[PM_PAR_I0] = (isfinite(source->psfMag)) ? PAR[PM_PAR_I0] * source->psfMagErr : NAN; 366 385 367 pmPSF_AxesToModel (PAR, axes, model Type);386 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 368 387 369 388 @ALL@ float peakMag = psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG"); … … 383 402 @ALL@ source->crNsigma = psMetadataLookupF32 (&status, row, "CR_NSIGMA"); 384 403 @ALL@ source->extNsigma = psMetadataLookupF32 (&status, row, "EXT_NSIGMA"); 385 @ALL@ source->apRadius = psMetadataLookupS32 (&status, row, "AP_MAG_RADIUS"); 404 @ALL@ source->apRadius = psMetadataLookupF32 (&status, row, "AP_MAG_RADIUS"); 405 @>PS1_V4,>PS1_SV2,>PS1_DV3@ source->apNpixels = psMetadataLookupS32 (&status, row, "AP_NPIX"); 386 406 387 407 // note that some older versions used PSF_PROBABILITY: this was not well defined. … … 410 430 @>PS1_V2,PS1_SV?@ source->moments->Mxyyy = -0.25 * psMetadataLookupF32 (&status, row, "MOMENTS_M4S"); 411 431 @>PS1_V2,PS1_SV?@ source->moments->Myyyy = 0.0; 432 433 // Lensing parameters (on read if PS1_V5+) 434 if (haveLensOBJ) { 435 source->lensingOBJ = pmSourceLensingAlloc (); 436 source->lensingOBJ->smear = pmLensingParsAlloc(); 437 source->lensingOBJ->shear = pmLensingParsAlloc(); 438 439 @>PS1_V4@ source->lensingOBJ->smear->X11 = psMetadataLookupF32 (&status, row, "LENS_X11_SM_OBJ"); 440 @>PS1_V4@ source->lensingOBJ->smear->X12 = psMetadataLookupF32 (&status, row, "LENS_X12_SM_OBJ"); 441 @>PS1_V4@ source->lensingOBJ->smear->X22 = psMetadataLookupF32 (&status, row, "LENS_X22_SM_OBJ"); 442 @>PS1_V4@ source->lensingOBJ->smear->e1 = psMetadataLookupF32 (&status, row, "LENS_E1_SM_OBJ"); 443 @>PS1_V4@ source->lensingOBJ->smear->e2 = psMetadataLookupF32 (&status, row, "LENS_E2_SM_OBJ"); 444 @>PS1_V4@ source->lensingOBJ->shear->X11 = psMetadataLookupF32 (&status, row, "LENS_X11_SH_OBJ"); 445 @>PS1_V4@ source->lensingOBJ->shear->X12 = psMetadataLookupF32 (&status, row, "LENS_X12_SH_OBJ"); 446 @>PS1_V4@ source->lensingOBJ->shear->X22 = psMetadataLookupF32 (&status, row, "LENS_X22_SH_OBJ"); 447 @>PS1_V4@ source->lensingOBJ->shear->e1 = psMetadataLookupF32 (&status, row, "LENS_E1_SH_OBJ"); 448 @>PS1_V4@ source->lensingOBJ->shear->e2 = psMetadataLookupF32 (&status, row, "LENS_E2_SH_OBJ"); 449 } 450 451 if (haveLensPSF) { 452 source->lensingPSF = pmSourceLensingAlloc (); 453 source->lensingPSF->smear = pmLensingParsAlloc(); 454 source->lensingPSF->shear = pmLensingParsAlloc(); 455 456 @>PS1_V4@ source->lensingPSF->smear->X11 = psMetadataLookupF32 (&status, row, "LENS_X11_SM_PSF"); 457 @>PS1_V4@ source->lensingPSF->smear->X12 = psMetadataLookupF32 (&status, row, "LENS_X12_SM_PSF"); 458 @>PS1_V4@ source->lensingPSF->smear->X22 = psMetadataLookupF32 (&status, row, "LENS_X22_SM_PSF"); 459 @>PS1_V4@ source->lensingPSF->smear->e1 = psMetadataLookupF32 (&status, row, "LENS_E1_SM_PSF"); 460 @>PS1_V4@ source->lensingPSF->smear->e2 = psMetadataLookupF32 (&status, row, "LENS_E2_SM_PSF"); 461 @>PS1_V4@ source->lensingPSF->shear->X11 = psMetadataLookupF32 (&status, row, "LENS_X11_SH_PSF"); 462 @>PS1_V4@ source->lensingPSF->shear->X12 = psMetadataLookupF32 (&status, row, "LENS_X12_SH_PSF"); 463 @>PS1_V4@ source->lensingPSF->shear->X22 = psMetadataLookupF32 (&status, row, "LENS_X22_SH_PSF"); 464 @>PS1_V4@ source->lensingPSF->shear->e1 = psMetadataLookupF32 (&status, row, "LENS_E1_SH_PSF"); 465 @>PS1_V4@ source->lensingPSF->shear->e2 = psMetadataLookupF32 (&status, row, "LENS_E2_SH_PSF"); 466 } 412 467 413 468 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->Mrf = psMetadataLookupF32 (&status, row, "MOMENTS_R1"); … … 982 1037 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_THETA_ERR", 0, "EXT angle err (SXY, isnan)", dPAR[PM_PAR_SXY]); 983 1038 } else { 984 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model-> type);1039 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 985 1040 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_WIDTH_MAJ", 0, "EXT width (major axis), length for trail", axes.major); 986 1041 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_WIDTH_MIN", 0, "EXT width (minor axis), sigma for trail", axes.minor); … … 1132 1187 axes.minor = psMetadataLookupF32(&status, row, "EXT_WIDTH_MIN"); 1133 1188 axes.theta = psMetadataLookupF32(&status, row, "EXT_THETA"); 1134 if (!pmPSF_AxesToModel(PAR, axes, model Type)) {1189 if (!pmPSF_AxesToModel(PAR, axes, model->class->useReff)) { 1135 1190 // Do we need to fail here or can this happen? 1136 1191 psError(PS_ERR_UNKNOWN, false, "Failed to convert psf axes to model"); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_CMP.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 136 136 lsky = (source->sky < 1.0) ? 0.0 : log10(source->sky); 137 137 138 axes = pmPSF_ModelToAxes (PAR, model-> type);138 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 139 139 140 140 float psfMagErr = isfinite(source->psfMagErr) ? source->psfMagErr : 999; … … 293 293 goto skip_source; 294 294 295 pmPSF_AxesToModel (PAR, axes, modelType);295 pmPSF_AxesToModel (PAR, axes, source->modelPSF->class->useReff); 296 296 297 297 psArrayAdd (sources, 100, source); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_MatchedRefs.c
r36834 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_OBJ.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 93 93 } 94 94 95 axes = pmPSF_ModelToAxes (PAR, model-> type);95 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 96 96 97 97 psLineInit (line); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_PS1_CAL_0.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 115 115 yErr = dPAR[PM_PAR_YPOS]; 116 116 if (isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX])) { 117 axes = pmPSF_ModelToAxes (PAR, model-> type);117 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 118 118 } else { 119 119 axes.major = NAN; … … 290 290 dPAR[PM_PAR_I0] = (isfinite(source->psfMag)) ? PAR[PM_PAR_I0] * source->psfMagErr : NAN; 291 291 292 pmPSF_AxesToModel (PAR, axes, model Type);292 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 293 293 294 294 float peakMag = psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG"); … … 624 624 yErr = dPAR[PM_PAR_YPOS]; 625 625 626 axes = pmPSF_ModelToAxes (PAR, model-> type);626 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 627 627 628 628 // generate RA,DEC -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_PS1_DEV_0.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 91 91 yErr = dPAR[PM_PAR_YPOS]; 92 92 93 axes = pmPSF_ModelToAxes (PAR, model-> type);93 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 94 94 } else { 95 95 // XXX: This code seg faults if source->peak is NULL. … … 216 216 source->psfMagErr = psMetadataLookupF32 (&status, row, "PSF_INST_MAG_SIG"); 217 217 218 pmPSF_AxesToModel (PAR, axes, model Type);218 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 219 219 220 220 float peakMag = psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG"); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_PS1_DEV_1.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 97 97 yErr = dPAR[PM_PAR_YPOS]; 98 98 if (isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX])) { 99 axes = pmPSF_ModelToAxes (PAR, model-> type);99 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 100 100 } else { 101 101 axes.major = NAN; … … 259 259 dPAR[PM_PAR_I0] = (isfinite(source->psfMag)) ? PAR[PM_PAR_I0] * source->psfMagErr : NAN; 260 260 261 pmPSF_AxesToModel (PAR, axes, model Type);261 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 262 262 263 263 float peakMag = psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG"); … … 524 524 yErr = dPAR[PM_PAR_YPOS]; 525 525 526 axes = pmPSF_ModelToAxes (PAR, model-> type);526 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 527 527 528 528 row = psMetadataAlloc (); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_RAW.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_SMPDATA.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 93 93 lsky = (source->sky < 1.0) ? 0.0 : log10(source->sky); 94 94 95 axes = pmPSF_ModelToAxes (PAR, model-> type);95 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 96 96 97 97 } else { … … 190 190 axes.theta = psMetadataLookupF32 (&status, row, "THETA"); 191 191 192 pmPSF_AxesToModel (PAR, axes, model Type);192 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 193 193 194 194 source->psfMag = psMetadataLookupF32 (&status, row, "MAG_RAW") - ZERO_POINT; -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceIO_SX.c
r36623 r36884 37 37 #include "pmMoments.h" 38 38 #include "pmModelFuncs.h" 39 #include "pmModelClass.h" 39 40 #include "pmModel.h" 40 41 #include "pmModelUtils.h" 41 #include "pmModelClass.h"42 42 #include "pmSourceMasks.h" 43 43 #include "pmSourceExtendedPars.h" … … 82 82 // pmSourceSextractType (source, &type, &flags); 83 83 84 axes = pmPSF_ModelToAxes (PAR, model-> type);84 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 85 85 86 86 psLineInit (line); -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceMatch.c
r36623 r36884 18 18 #include "pmMoments.h" 19 19 #include "pmModelFuncs.h" 20 #include "pmModelClass.h" 20 21 #include "pmModel.h" 21 22 #include "pmModelUtils.h" 22 #include "pmModelClass.h"23 23 #include "pmSourceMasks.h" 24 24 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceMoments.c
r36623 r36884 35 35 #include "pmMoments.h" 36 36 #include "pmModelFuncs.h" 37 #include "pmModelClass.h" 37 38 #include "pmModel.h" 38 39 #include "pmModelUtils.h" 39 #include "pmModelClass.h"40 40 #include "pmSourceMasks.h" 41 41 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceOutputs.c
r36623 r36884 26 26 #include "pmMoments.h" 27 27 #include "pmModelFuncs.h" 28 #include "pmModelClass.h" 28 29 #include "pmModel.h" 29 30 #include "pmModelUtils.h" 30 #include "pmModelClass.h"31 31 #include "pmSourceMasks.h" 32 32 #include "pmSourceExtendedPars.h" … … 108 108 } 109 109 if (isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXY]) && isfinite(PAR[PM_PAR_SYY])) { 110 axes = pmPSF_ModelToAxes (PAR, model-> type);110 axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 111 111 outputs->psfMajor = axes.major; 112 112 outputs->psfMinor = axes.minor; 113 113 outputs->psfTheta = axes.theta*PS_DEG_RAD; 114 115 // some models (PS1_V1, QGAUSS) have an extra 'core' parameter 116 outputs->psfCore = NAN; 117 if (model->type == pmModelClassGetType ("PS_MODEL_PS1_V1")) { 118 outputs->psfCore = PAR[PM_PAR_7]; 119 } 120 if (model->type == pmModelClassGetType ("PS_MODEL_QGAUSS")) { 121 outputs->psfCore = PAR[PM_PAR_7]; 122 } 123 124 outputs->psfMajorFWHM = model->class->modelSetFWHM(model->params, axes.major); 125 outputs->psfMinorFWHM = model->class->modelSetFWHM(model->params, axes.minor); 114 126 } else { 115 127 outputs->psfMajor = NAN; 116 128 outputs->psfMinor = NAN; 117 129 outputs->psfTheta = NAN; 130 outputs->psfCore = NAN; 118 131 } 119 132 outputs->chisq = model->chisq; 120 133 outputs->nDOF = model->nDOF; 121 134 outputs->nPix = model->nPix; 122 outputs->apRadius = source->apRadius;123 135 } else { 124 136 bool useMoments = pmSourcePositionUseMoments(source); … … 138 150 outputs->psfMinor = NAN; 139 151 outputs->psfTheta = NAN; 152 outputs->psfCore = NAN; 140 153 outputs->chisq = NAN; 141 154 outputs->nDOF = 0; 142 155 outputs->nPix = 0; 143 outputs->apRadius = NAN;144 156 } 145 157 -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceOutputs.h
r33690 r36884 26 26 float psfMinor; 27 27 float psfTheta; 28 float psfCore; 29 float psfMajorFWHM; 30 float psfMinorFWHM; 28 31 float chisq; 29 float apRadius;30 32 int nPix; 31 33 int nDOF; -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourcePhotometry.c
r36623 r36884 33 33 #include "pmMoments.h" 34 34 #include "pmModelFuncs.h" 35 #include "pmModelClass.h" 35 36 #include "pmModel.h" 36 37 #include "pmModelUtils.h" 37 #include "pmModelClass.h"38 38 #include "pmSourceMasks.h" 39 39 #include "pmSourceExtendedPars.h" … … 330 330 331 331 // measure fitMag 332 flux = model-> modelFlux (model->params);332 flux = model->class->modelFlux (model->params); 333 333 if (flux > 0) { 334 334 mag = -2.5*log10(flux); … … 359 359 360 360 bool status; 361 int nPix = 0; 362 status = pmSourcePhotometryAper(&nPix, &source->apMagRaw, &source->apFlux, &source->apFluxErr, model, image, variance, mask, maskVal); 361 status = pmSourcePhotometryAper(&source->apNpixels, &source->apMagRaw, &source->apFlux, &source->apFluxErr, model, image, variance, mask, maskVal); 363 362 if (status) { 364 363 source->mode |= PM_SOURCE_MODE_AP_MAGS; … … 490 489 491 490 // for the full model, add all points 492 value = fabs(model-> modelFunc (NULL, params, coord) - sky);491 value = fabs(model->class->modelFunc (NULL, params, coord) - sky); 493 492 modelSum += value; 494 493 … … 893 892 894 893 // for the full model, add all points 895 float value = model-> modelFunc (NULL, params, coord);894 float value = model->class->modelFunc (NULL, params, coord); 896 895 897 896 // fprintf (stderr, "%d, %d : %f, %f : %f - %f : %f\n", -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourcePlotApResid.c
r36623 r36884 35 35 #include "pmMoments.h" 36 36 #include "pmModelFuncs.h" 37 #include "pmModelClass.h" 37 38 #include "pmModel.h" 38 39 #include "pmModelUtils.h" 39 #include "pmModelClass.h"40 40 #include "pmSourceMasks.h" 41 41 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourcePlotMoments.c
r36623 r36884 38 38 #include "pmMoments.h" 39 39 #include "pmModelFuncs.h" 40 #include "pmModelClass.h" 40 41 #include "pmModel.h" 41 42 #include "pmModelUtils.h" 42 #include "pmModelClass.h"43 43 #include "pmSourceMasks.h" 44 44 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourcePlotPSFModel.c
r36623 r36884 39 39 #include "pmMoments.h" 40 40 #include "pmModelFuncs.h" 41 #include "pmModelClass.h" 41 42 #include "pmModel.h" 42 43 #include "pmModelUtils.h" 43 #include "pmModelClass.h"44 44 #include "pmSourceMasks.h" 45 45 #include "pmSourceExtendedPars.h" … … 147 147 // force the axis ratio to be < 20.0 148 148 psEllipseAxes axes_mnt = psEllipseMomentsToAxes (moments, 20.0); 149 psEllipseAxes axes_psf = pmPSF_ModelToAxes (PAR, model-> type);149 psEllipseAxes axes_psf = pmPSF_ModelToAxes (PAR, model->class->useReff); 150 150 151 151 // moments major axis -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceSky.c
r36623 r36884 34 34 #include "pmMoments.h" 35 35 #include "pmModelFuncs.h" 36 #include "pmModelClass.h" 36 37 #include "pmModel.h" 37 38 #include "pmModelUtils.h" 38 #include "pmModelClass.h"39 39 #include "pmSourceMasks.h" 40 40 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceUtils.c
r36623 r36884 34 34 #include "pmMoments.h" 35 35 #include "pmModelFuncs.h" 36 #include "pmModelClass.h" 36 37 #include "pmModel.h" 37 38 #include "pmModelUtils.h" 38 #include "pmModelClass.h"39 39 #include "pmSourceMasks.h" 40 40 #include "pmSourceExtendedPars.h" … … 65 65 pmModel *model = pmModelAlloc(modelType); 66 66 67 if (!model-> modelGuess(model, source, maskVal, markVal)) {67 if (!model->class->modelGuess(model, source, maskVal, markVal)) { 68 68 psFree (model); 69 69 return NULL; -
branches/eam_branches/ipp-20140610/psModules/src/objects/pmSourceVisual.c
r36834 r36884 16 16 #include "pmMoments.h" 17 17 #include "pmModelFuncs.h" 18 #include "pmModelClass.h" 18 19 #include "pmModel.h" 19 20 #include "pmModelUtils.h" 20 #include "pmModelClass.h"21 21 #include "pmSourceMasks.h" 22 22 #include "pmSourceExtendedPars.h" -
branches/eam_branches/ipp-20140610/psModules/src/psmodules.h
r36834 r36884 129 129 130 130 #include <pmModelFuncs.h> 131 #include <pmModelClass.h> 131 132 #include <pmModel.h> 132 133 #include <pmModel_CentralPixel.h> … … 149 150 #include <pmSourcePlots.h> 150 151 #include <pmPSF_IO.h> 151 #include <pmModelClass.h>152 152 #include <pmModelUtils.h> 153 153 #include <pmSourcePhotometry.h> -
branches/eam_branches/ipp-20140610/psastro/doc/outline.txt
r26259 r36884 3 3 4 4 psastroParseCamera 5 psastroDefineFiles 5 6 psastroDataLoad 6 psastroConvertReadout (save PSASTRO.RAWSTARS & PSASTRO.RAWSTARS.SUBSET on readout->analysis) 7 psastroConvertReadout (saves PSASTRO.RAWSTARS on readout->analysis) 8 psastroCorrectKH 7 9 psastroAnalysis 8 10 psastroUseModel 9 11 psastroAstromGuess (plots PSASTRO.RAWSTARS) 12 psastroRemoveClumpsRawstars (saves PSASTRO.RAWSTARS.SUBSET on readout->analysis) 10 13 psastroLoadRefstars (loads full reference star set) 11 14 psastroChooseRefstars (save PSASTRO.REFSTARS & PSASTRO.REFSTARS.SUBSET on readout->analysis) -
branches/eam_branches/ipp-20140610/psastro/src/psastroConvert.c
r36837 r36884 199 199 // effect (all affected data was processed BEFORE the bug was introduced), and it 200 200 // does not affect any of the PV2 or PV3 data processed AFTER the bug was fixed. 201 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model-> type);201 psEllipseAxes axes = pmPSF_ModelToAxes (PAR, model->class->useReff); 202 202 203 203 pmAstromObj *obj = pmAstromObjAlloc (); -
branches/eam_branches/ipp-20140610/psphot/src/psphotChoosePSF.c
r36623 r36884 448 448 449 449 // get the model full-width at half-max 450 float FWHM_MAJOR = 2*modelPSF-> modelRadius (modelPSF->params, 0.5);450 float FWHM_MAJOR = 2*modelPSF->class->modelRadius (modelPSF->params, 0.5); 451 451 452 452 // XXX make sure this is consistent with the re-definition of PM_PAR_SXX -
branches/eam_branches/ipp-20140610/psphot/src/psphotEfficiency.c
r34353 r36884 71 71 continue; 72 72 } 73 float flux = normModel-> modelFlux(normModel->params); // Total flux for peak of 1.073 float flux = normModel->class->modelFlux(normModel->params); // Total flux for peak of 1.0 74 74 psFree(normModel); 75 75 if (!isfinite(flux)) { … … 424 424 continue; 425 425 } 426 float sourceRadius = PS_MAX(radius, model-> modelRadius(model->params, minFlux)); // Radius for source426 float sourceRadius = PS_MAX(radius, model->class->modelRadius(model->params, minFlux)); // Radius for source 427 427 psFree(model); 428 428 if (!isfinite(sourceRadius)) { -
branches/eam_branches/ipp-20140610/psphot/src/psphotEvalFLT.c
r17396 r36884 53 53 } 54 54 55 keep = model-> modelFitStatus(model);55 keep = model->class->modelFitStatus(model); 56 56 if (keep) return true; 57 57 -
branches/eam_branches/ipp-20140610/psphot/src/psphotFullForceSummaryReadout.c
r36759 r36884 425 425 // copy the best fit params to the model 426 426 // fractional radii with the lowest chisq 427 psEllipseAxes axes = pmPSF_ModelToAxes(model->params->data.F32, model-> type);427 psEllipseAxes axes = pmPSF_ModelToAxes(model->params->data.F32, model->class->useReff); 428 428 429 429 // examine the params for the trial with minimum chisq. … … 637 637 // now save the model parameters in the model structure 638 638 639 pmPSF_AxesToModel (model->params->data.F32, axes, model Type);639 pmPSF_AxesToModel (model->params->data.F32, axes, model->class->useReff); 640 640 641 641 model->mag = -2.5 * log10(flux0); -
branches/eam_branches/ipp-20140610/psphot/src/psphotGalaxyShape.c
r36757 r36884 283 283 284 284 // I have some source guess (e0, e1, e2) 285 psEllipseAxes guessAxes = pmPSF_ModelToAxes (PAR, model Type);285 psEllipseAxes guessAxes = pmPSF_ModelToAxes (PAR, model->class->useReff); 286 286 287 287 float fRmajorBest = NAN; … … 295 295 testAxes.minor = guessAxes.minor * fRminor; 296 296 297 pmPSF_AxesToModel (PAR, testAxes, model Type);297 pmPSF_AxesToModel (PAR, testAxes, model->class->useReff); 298 298 299 299 psphotGalaxyShapeSource (pcm, source, galaxyFits, maskVal, psfSize, true); … … 324 324 #endif 325 325 326 pmPSF_AxesToModel (PAR, testAxes, model Type);326 pmPSF_AxesToModel (PAR, testAxes, model->class->useReff); 327 327 328 328 psphotGalaxyShapeSource (pcm, source, galaxyFits, maskVal, psfSize, false); … … 400 400 401 401 pcm->modelConv->params->data.F32[PM_PAR_I0] = Io; 402 float flux = pcm->modelConv-> modelFlux (pcm->modelConv->params);402 float flux = pcm->modelConv->class->modelFlux (pcm->modelConv->params); 403 403 float dflux = flux * (dIo / Io); 404 404 -
branches/eam_branches/ipp-20140610/psphot/src/psphotLensing.c
r36662 r36884 12 12 psMetadata *recipe = psMetadataLookupPtr (&status, config->recipes, PSPHOT_RECIPE); 13 13 psAssert (recipe, "missing recipe?"); 14 15 // perform full extended source non-linear fits? 16 if (!psMetadataLookupBool (&status, recipe, "LENSING_PARAMETERS")) { 17 psLogMsg ("psphot", PS_LOG_INFO, "skipping extended source fits\n"); 18 return true; 19 } 14 20 15 21 int num = psphotFileruleCount(config, filerule); … … 87 93 } 88 94 95 psMetadataAddBool(readout->analysis, PS_LIST_TAIL, "LENS_OBJ", PS_META_REPLACE, "per-object lensing stats measured", true); 89 96 psLogMsg ("psphot.lensing", PS_LOG_DETAIL, "calculate lensing parameters for %d objects\n", (int) sources->n); 90 97 … … 317 324 psFree (stats); 318 325 326 psMetadataAddBool(readout->analysis, PS_LIST_TAIL, "LENS_PSF", PS_META_REPLACE, "psf-trend lensing stats measured", true); 319 327 psLogMsg ("psphot.lensing", PS_LOG_DETAIL, "calculate lensing parameters for %d objects: %f sec\n", (int) sources->n, psTimerMark ("psphot.lensing")); 320 328 -
branches/eam_branches/ipp-20140610/psphot/src/psphotLoadSRCTEXT.c
r32348 r36884 73 73 dPAR[PM_PAR_I0] = 0.0; 74 74 75 pmPSF_AxesToModel (PAR, axes, model Type);75 pmPSF_AxesToModel (PAR, axes, model->class->useReff); 76 76 77 77 float peakFlux = 1.0; -
branches/eam_branches/ipp-20140610/psphot/src/psphotMakeFluxScale.c
r30624 r36884 38 38 } else { 39 39 // measure the fitMag for this model 40 fitSum = model-> modelFlux (model->params);40 fitSum = model->class->modelFlux (model->params); 41 41 } 42 42 if (fitSum < 1.e-6) continue; -
branches/eam_branches/ipp-20140610/psphot/src/psphotRadiusChecks.c
r36086 r36884 60 60 if (radiusFit <= 0) { // use fixed radius 61 61 if (moments == NULL) { 62 radiusFit = model-> modelRadius(model->params, PSF_FIT_NSIGMA*moments->dSky);62 radiusFit = model->class->modelRadius(model->params, PSF_FIT_NSIGMA*moments->dSky); 63 63 } else { 64 radiusFit = model-> modelRadius(model->params, 1.0);64 radiusFit = model->class->modelRadius(model->params, 1.0); 65 65 } 66 66 model->fitRadius = (RADIUS_TYPE)(radiusFit + PSF_FIT_PADDING); … … 95 95 if (radiusFit <= 0) { // use fixed radius 96 96 if (moments == NULL) { 97 radiusFit = model-> modelRadius(model->params, PSF_FIT_NSIGMA*moments->dSky);97 radiusFit = model->class->modelRadius(model->params, PSF_FIT_NSIGMA*moments->dSky); 98 98 } else { 99 radiusFit = model-> modelRadius(model->params, 1.0);99 radiusFit = model->class->modelRadius(model->params, 1.0); 100 100 } 101 101 model->fitRadius = (RADIUS_TYPE)(radiusFit + PSF_FIT_PADDING); … … 294 294 float flux = deep ? EXT_FIT_NSIGMA*EXT_FIT_SKY_SIG : 0.1 * model->params->data.F32[PM_PAR_I0]; 295 295 296 float rawRadius = model-> modelRadius (model->params, flux);296 float rawRadius = model->class->modelRadius (model->params, flux); 297 297 if (isnan(rawRadius)) return false; 298 298 -
branches/eam_branches/ipp-20140610/psphot/src/psphotSersicModelClass.c
r33410 r36884 586 586 coord->data.F32[1] = (psF32) (i + source->pixels->row0); 587 587 588 pcm->modelConvFlux->data.F32[i][j] = pcm->modelConv-> modelFunc (NULL, params, coord);588 pcm->modelConvFlux->data.F32[i][j] = pcm->modelConv->class->modelFunc (NULL, params, coord); 589 589 } 590 590 } -
branches/eam_branches/ipp-20140610/psphot/src/psphotSourceFits.c
r36375 r36884 700 700 model->params->data.F32[PM_PAR_7] = 0.5/indexGuess[i]; 701 701 702 if (!model-> modelGuess(model, source, maskVal, markVal)) {702 if (!model->class->modelGuess(model, source, maskVal, markVal)) { 703 703 model->flags |= PM_MODEL_STATUS_BADARGS; 704 704 return false; … … 723 723 model->flags = PM_MODEL_STATUS_NONE; // do not attempt to handle failures here, let the next iteration deal with it 724 724 model->params->data.F32[PM_PAR_7] = 0.5/indexGuess[iMin]; 725 model-> modelGuess(model, source, maskVal, markVal);725 model->class->modelGuess(model, source, maskVal, markVal); 726 726 727 727 return true; … … 752 752 model->params->data.F32[PM_PAR_7] = indexGuess[i]; 753 753 754 if (!model-> modelGuess(model, source, maskVal, markVal)) {754 if (!model->class->modelGuess(model, source, maskVal, markVal)) { 755 755 model->flags |= PM_MODEL_STATUS_BADARGS; 756 756 return false; -
branches/eam_branches/ipp-20140610/psphot/src/psphotVisual.c
r35769 r36884 1444 1444 coord->data.F32[1] = r; 1445 1445 coord->data.F32[0] = 0.0; 1446 fmaj->data.F32[i] = log10(source->modelPSF-> modelFunc (NULL, params, coord));1446 fmaj->data.F32[i] = log10(source->modelPSF->class->modelFunc (NULL, params, coord)); 1447 1447 1448 1448 coord->data.F32[0] = r; 1449 1449 coord->data.F32[1] = 0.0; 1450 fmin->data.F32[i] = log10(source->modelPSF-> modelFunc (NULL, params, coord));1450 fmin->data.F32[i] = log10(source->modelPSF->class->modelFunc (NULL, params, coord)); 1451 1451 } 1452 1452 psFree (coord); 1453 1453 psFree (params); 1454 1454 1455 float FWHM_MAJOR = 2.0*source->modelPSF-> modelRadius (source->modelPSF->params, 0.5*source->modelPSF->params->data.F32[PM_PAR_I0]);1455 float FWHM_MAJOR = 2.0*source->modelPSF->class->modelRadius (source->modelPSF->params, 0.5*source->modelPSF->params->data.F32[PM_PAR_I0]); 1456 1456 float FWHM_MINOR = FWHM_MAJOR * (axes.minor / axes.major); 1457 1457 if (FWHM_MAJOR < FWHM_MINOR) PS_SWAP (FWHM_MAJOR, FWHM_MINOR); -
branches/eam_branches/ipp-20140610/psphot/test/tap_psphot_galaxies.pro
r35769 r36884 32 32 $FakeOptions = $BaseOptions 33 33 $FakeOptions = $FakeOptions -exptime 30.0 34 # $FakeOptions = $FakeOptions -D PSF.MODEL PS_MODEL_PS1_V1 34 35 $FakeOptions = $FakeOptions -D PSF.MODEL PS_MODEL_GAUSS 35 36 … … 44 45 45 46 # basic config for ppSim with randomly distributed stars and gridded galaxies 46 $FakeConfig = -camera SIMTEST 47 $FakeConfig = $FakeConfig -recipe PPSIM STACKTEST.RUN 48 $FakeConfig = $FakeConfig -D PSASTRO:PSASTRO.CATDIR catdir.ref 49 $FakeConfig = $FakeConfig -Db STARS.FAKE F ; # only use stars from catdir.ref 50 $FakeConfig = $FakeConfig -Db MATCH.DENSITY F 51 $FakeConfig = $FakeConfig -Db PSF.CONVOLVE T 52 $FakeConfig = $FakeConfig -Db GALAXY.FAKE T ; # generate a "realistic" distribution of galaxies 53 $FakeConfig = $FakeConfig -Df GALAXY.MAG 17.0 54 $FakeConfig = $FakeConfig -Db GALAXY.GRID T ; # generate a grid of galaxies (constant mag) 55 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_GAUSS 56 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_EXP 57 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_SERSIC 58 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_DEV 59 $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MIN 10.0 60 $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MAX 10.0 61 $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MIN 0.25 62 $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MAX 0.25 63 $FakeConfig = $FakeConfig -Df GALAXY.THETA.MIN 0 64 $FakeConfig = $FakeConfig -Df GALAXY.THETA.MAX 180 65 $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MIN 1.66 66 $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX 1.66 67 $FakeConfig = $FakeConfig -Di GALAXY.GRID.DX 120 68 $FakeConfig = $FakeConfig -Di GALAXY.GRID.DY 120 47 if (1) 48 $FakeConfig = -camera SIMTEST 49 $FakeConfig = $FakeConfig -recipe PPSIM STACKTEST.RUN 50 $FakeConfig = $FakeConfig -D PSASTRO:PSASTRO.CATDIR catdir.ref 51 $FakeConfig = $FakeConfig -Db STARS.FAKE F ; # only use stars from catdir.ref 52 $FakeConfig = $FakeConfig -Db MATCH.DENSITY F 53 $FakeConfig = $FakeConfig -Db PSF.CONVOLVE T 54 $FakeConfig = $FakeConfig -Db GALAXY.FAKE T ; # generate a "realistic" distribution of galaxies 55 $FakeConfig = $FakeConfig -Df GALAXY.MAG 17.0 56 $FakeConfig = $FakeConfig -Db GALAXY.GRID F ; # generate a grid of galaxies (constant mag) 57 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_GAUSS 58 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_EXP 59 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_SERSIC 60 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_DEV 61 $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MIN 10.0 62 $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MAX 1.0 63 $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MIN 0.25 64 $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MAX 1.00 65 $FakeConfig = $FakeConfig -Df GALAXY.THETA.MIN 0 66 $FakeConfig = $FakeConfig -Df GALAXY.THETA.MAX 180 67 $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MIN 1.66 68 $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX 1.66 69 $FakeConfig = $FakeConfig -Di GALAXY.GRID.DX 120 70 $FakeConfig = $FakeConfig -Di GALAXY.GRID.DY 120 71 end 72 73 # basic config for ppSim with randomly distributed stars and gridded galaxies 74 if (0) 75 $FakeConfig = -camera SIMTEST 76 $FakeConfig = $FakeConfig -recipe PPSIM STACKTEST.RUN 77 $FakeConfig = $FakeConfig -D PSASTRO:PSASTRO.CATDIR catdir.ref 78 $FakeConfig = $FakeConfig -Db STARS.FAKE F ; # only use stars from catdir.ref 79 $FakeConfig = $FakeConfig -Db MATCH.DENSITY F 80 $FakeConfig = $FakeConfig -Db PSF.CONVOLVE T 81 $FakeConfig = $FakeConfig -Db GALAXY.FAKE T ; # generate a "realistic" distribution of galaxies 82 $FakeConfig = $FakeConfig -Df GALAXY.MAG 17.0 83 $FakeConfig = $FakeConfig -Db GALAXY.GRID T ; # generate a grid of galaxies (constant mag) 84 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_GAUSS 85 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_EXP 86 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_SERSIC 87 #$FakeConfig = $FakeConfig -D GALAXY.MODEL PS_MODEL_DEV 88 $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MIN 10.0 89 $FakeConfig = $FakeConfig -Df GALAXY.RMAJOR.MAX 10.0 90 $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MIN 0.25 91 $FakeConfig = $FakeConfig -Df GALAXY.ARATIO.MAX 0.25 92 $FakeConfig = $FakeConfig -Df GALAXY.THETA.MIN 0 93 $FakeConfig = $FakeConfig -Df GALAXY.THETA.MAX 180 94 $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MIN 1.66 95 $FakeConfig = $FakeConfig -Df GALAXY.INDEX.MAX 1.66 96 $FakeConfig = $FakeConfig -Di GALAXY.GRID.DX 120 97 $FakeConfig = $FakeConfig -Di GALAXY.GRID.DY 120 98 end 69 99 70 100 list fwhm … … 164 194 $psphotConfig = $psphotConfig -Di PSPHOT:LMM_FIT_GAIN_FACTOR_MODE 2 165 195 $psphotConfig = $psphotConfig -Db PSPHOT:SAVE.RESID T 196 # $psphotConfig = $psphotConfig -D PSPHOT:PSF_MODEL PS_MODEL_PS1_V1 197 $psphotConfig = $psphotConfig -D PSPHOT:PSF_MODEL PS_MODEL_GAUSS 166 198 $psphotConfig = $psphotConfig -D PSPHOT:EXTENDED_SOURCE_MODELS_SELECTION $fitModel 199 $psphotConfig = $psphotConfig -D PSPHOT:OUTPUT.FORMAT PS1_V5 167 200 168 201 # ppImage / psphot on the output … … 217 250 218 251 # plot (input - output) vs mag 252 end 253 254 macro ck.poserrors 255 reindex X_raw_m = X_raw using index2 256 reindex X_out_m = X_PSF_out using index1 257 reindex dX_out_m = X_PSF_SIG_out using index1 258 set Xoff = X_raw_m - X_out_m 259 reindex M_raw_m = PSF_INST_MAG_raw using index2 260 261 # lim M_raw_m Xoff; clear; box; plot M_raw_m Xoff 262 set dC = Xoff^2 / dX_out_m^2 263 lim M_raw_m dX_out_m; clear; box; plot M_raw_m dX_out_m 219 264 end 220 265 -
branches/eam_branches/ipp-20140610/pstamp/scripts/pstamp_checkdependent.pl
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20140610/pstamp/scripts/pstamp_finish.pl
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20140610/pstamp/scripts/pstamp_webrequest.pl
r35439 r36884 93 93 my $command = "$psmkreq --req_name $request_name --output $request_file @ARGV"; 94 94 95 if (0) { 96 open DEBUG, ">>/tmp/pstamp.debug.log"; 97 print DEBUG "\ncommand is: $command\n"; 98 close DEBUG; 99 } 100 95 101 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 96 102 run(command => $command, verbose => $verbose); 97 103 unless ($success) { 98 104 print STDERR @$stderr_buf; 105 print STDERR "\ncommand was: $command\n"; 99 106 die("Unable to perform psmkreq: $error_code"); 100 107 } -
branches/eam_branches/ipp-20140610/pstamp/scripts/pstampparse.pl
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/eam_branches/ipp-20140610/pswarp/src/pswarpTransformSources.c
r34800 r36884 120 120 #if 0 121 121 // XXX Note that this will not set the correct axes 122 psEllipseAxes axes = pmPSF_ModelToAxes(source->modelPSF->params->data.F32, 20.0, source->modelPSF-> type);123 pmPSF_AxesToModel(new->modelPSF->params->data.F32, axes, new->modelPSF-> type);122 psEllipseAxes axes = pmPSF_ModelToAxes(source->modelPSF->params->data.F32, 20.0, source->modelPSF->class->useReff); 123 pmPSF_AxesToModel(new->modelPSF->params->data.F32, axes, new->modelPSF->class->useReff); 124 124 #endif 125 125
Note:
See TracChangeset
for help on using the changeset viewer.
