IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 27924


Ignore:
Timestamp:
May 11, 2010, 5:39:56 PM (16 years ago)
Author:
eugene
Message:

adding new structure and IO function to support simple circular radial apertures

Location:
branches/eam_branches/psModules.20100506/src/objects
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/psModules.20100506/src/objects/Makefile.am

    r27672 r27924  
    4343        pmSourceIO_CMF_PS1_V1.c \
    4444        pmSourceIO_CMF_PS1_V2.c \
     45        pmSourceIO_CMF_PS1_SV1.c \
    4546        pmSourceIO_CMF_PS1_DV1.c \
    4647        pmSourceIO_MatchedRefs.c \
  • branches/eam_branches/psModules.20100506/src/objects/pmSource.c

    r27657 r27924  
    5454    psFree(tmp->moments);
    5555    psFree(tmp->diffStats);
     56    psFree(tmp->radial);
    5657    psFree(tmp->blends);
    5758    psTrace("psModules.objects", 10, "---- end ----\n");
     
    116117    source->extpars = NULL;
    117118    source->diffStats = NULL;
     119    source->radial = NULL;
    118120
    119121    source->region = psRegionSet(NAN, NAN, NAN, NAN);
  • branches/eam_branches/psModules.20100506/src/objects/pmSource.h

    r27657 r27924  
    9191    pmSourceExtendedPars *extpars;      ///< extended source parameters
    9292    pmSourceDiffStats *diffStats;       ///< extra parameters for difference detections
     93    pmSourceRadialApertures *radial;    ///< radial flux in circular apertures
    9394    int imageID;
    9495};
  • branches/eam_branches/psModules.20100506/src/objects/pmSourceExtendedPars.c

    r27818 r27924  
    6565}
    6666
     67// pmSourceRadialApertures carries the raw radial flux information, including angular bins
     68static void pmSourceRadialAperturesFree(pmSourceRadialApertures *radial)
     69{
     70    if (!radial) return;
     71    psFree(radial->flux);
     72    psFree(radial->fill);
     73}
     74
     75pmSourceRadialApertures *pmSourceRadialAperturesAlloc()
     76{
     77    pmSourceRadialApertures *radial = (pmSourceRadialApertures *)psAlloc(sizeof(pmSourceRadialApertures));
     78    psMemSetDeallocator(radial, (psFreeFunc) pmSourceRadialAperturesFree);
     79
     80    radial->flux = NULL;
     81    radial->fill = NULL;
     82    return radial;
     83}
     84
     85bool psMemCheckSourceRadialApertures(psPtr ptr)
     86{
     87    PS_ASSERT_PTR(ptr, false);
     88    return ( psMemGetDeallocator(ptr) == (psFreeFunc) pmSourceRadialAperturesFree);
     89}
     90
    6791// pmSourceEllipticalFlux carries the elliptical renormalized radial flux info
    6892static void pmSourceEllipticalFluxFree(pmSourceEllipticalFlux *flux)
  • branches/eam_branches/psModules.20100506/src/objects/pmSourceExtendedPars.h

    r27818 r27924  
    2020    psVector *isophotalRadii;           // isophotal radius for the above angles
    2121} pmSourceRadialFlux;
     22
     23typedef struct {
     24    psVector *flux;                     // fluxes measured at above radii
     25    psVector *fill;                     // angles corresponding to above radial profiles
     26} pmSourceRadialApertures;
    2227
    2328typedef struct {
     
    6267bool psMemCheckSourceRadialFlux(psPtr ptr);
    6368
     69pmSourceRadialApertures *pmSourceRadialAperturesAlloc();
     70bool psMemCheckSourceRadialApertures(psPtr ptr);
     71
    6472pmSourceEllipticalFlux *pmSourceEllipticalFluxAlloc();
    6573bool psMemCheckSourceEllipticalFlux(psPtr ptr);
  • branches/eam_branches/psModules.20100506/src/objects/pmSourceIO.c

    r27818 r27924  
    539539                status &= pmSourcesWrite_CMF_PS1_V2 (file->fits, readout, sources, file->header, outhead, dataname);
    540540            }
     541            if (!strcmp (exttype, "PS1_SV1")) {
     542                status &= pmSourcesWrite_CMF_PS1_SV1 (file->fits, readout, sources, file->header, outhead, dataname, recipe);
     543            }
    541544            if (!strcmp (exttype, "PS1_DV1")) {
    542545                status &= pmSourcesWrite_CMF_PS1_DV1 (file->fits, readout, sources, file->header, outhead, dataname);
     
    556559                    status &= pmSourcesWrite_CMF_PS1_V2_XSRC (file->fits, readout, sources, file->header, xsrcname, recipe);
    557560                }
     561                if (!strcmp (exttype, "PS1_SV1")) {
     562                    status &= pmSourcesWrite_CMF_PS1_SV1_XSRC (file->fits, readout, sources, file->header, xsrcname, recipe);
     563                }
    558564                if (!strcmp (exttype, "PS1_DV1")) {
    559565                    status &= pmSourcesWrite_CMF_PS1_DV1_XSRC (file->fits, readout, sources, file->header, xsrcname, recipe);
     
    573579                    status &= pmSourcesWrite_CMF_PS1_V2_XFIT (file->fits, readout, sources, xfitname);
    574580                }
     581                if (!strcmp (exttype, "PS1_SV1")) {
     582                    status &= pmSourcesWrite_CMF_PS1_SV1_XFIT (file->fits, readout, sources, xfitname);
     583                }
    575584                if (!strcmp (exttype, "PS1_DV1")) {
    576585                    status &= pmSourcesWrite_CMF_PS1_DV1_XFIT (file->fits, readout, sources, xfitname);
     
    981990        // we need to find the corresponding table EXTNAME.
    982991        // first check the header
    983         char *extdata = psMetadataLookupStr (NULL, hdu->header, "EXTDATA");
     992        char *extdata = psMetadataLookupStr (&status, hdu->header, "EXTDATA");
    984993        if (extdata) {
    985994            // if EXTDATA is defined in the header, use that value for 'dataname'
     
    10231032            if (!strcmp (exttype, "PS1_V2")) {
    10241033                sources = pmSourcesRead_CMF_PS1_V2 (file->fits, hdu->header);
     1034            }
     1035            if (!strcmp (exttype, "PS1_SV1")) {
     1036                sources = pmSourcesRead_CMF_PS1_SV1 (file->fits, hdu->header);
    10251037            }
    10261038            if (!strcmp (exttype, "PS1_DV1")) {
  • branches/eam_branches/psModules.20100506/src/objects/pmSourceIO.h

    r27818 r27924  
    4343bool pmSourcesWrite_CMF_PS1_V2_XFIT (psFits *fits, pmReadout *readout, psArray *sources, char *extname);
    4444
     45bool pmSourcesWrite_CMF_PS1_SV1 (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname, psMetadata *recipe);
     46bool pmSourcesWrite_CMF_PS1_SV1_XSRC (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe);
     47bool pmSourcesWrite_CMF_PS1_SV1_XFIT (psFits *fits, pmReadout *readout, psArray *sources, char *extname);
     48
    4549bool pmSourcesWrite_CMF_PS1_DV1 (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname);
    4650bool pmSourcesWrite_CMF_PS1_DV1_XSRC (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe);
     
    5761psArray *pmSourcesRead_CMF_PS1_V1 (psFits *fits, psMetadata *header);
    5862psArray *pmSourcesRead_CMF_PS1_V2 (psFits *fits, psMetadata *header);
     63psArray *pmSourcesRead_CMF_PS1_SV1 (psFits *fits, psMetadata *header);
    5964psArray *pmSourcesRead_CMF_PS1_DV1 (psFits *fits, psMetadata *header);
    6065
Note: See TracChangeset for help on using the changeset viewer.