IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 23412


Ignore:
Timestamp:
Mar 18, 2009, 4:36:31 PM (17 years ago)
Author:
eugene
Message:

add psastroExtract, modification of psastroLoadRefstars and psastroChooseRefstars APIs (merge from eam_branches_20090312)

Location:
trunk/psastro
Files:
6 edited
6 copied

Legend:

Unmodified
Added
Removed
  • trunk/psastro

  • trunk/psastro/src/Makefile.am

    r23229 r23412  
    1010# FORCE: ;
    1111
    12 bin_PROGRAMS = psastro psastroModel psastroModelFit gpcModel
     12bin_PROGRAMS = psastro psastroExtract psastroModel psastroModelFit gpcModel
    1313
    1414psastro_CFLAGS = $(PSASTRO_CFLAGS) $(PPSTATS_CFLAGS) $(PSMODULE_CFLAGS) $(PSLIB_CFLAGS)
    1515psastro_LDFLAGS = $(PSASTRO_LIBS) $(PPSTATS_LIBS) $(PSMODULE_LIBS) $(PSLIB_LIBS)
    1616psastro_LDADD = libpsastro.la
     17
     18psastroExtract_CFLAGS = $(PSASTRO_CFLAGS) $(PSMODULE_CFLAGS) $(PSLIB_CFLAGS)
     19psastroExtract_LDFLAGS = $(PSASTRO_LIBS) $(PSMODULE_LIBS) $(PSLIB_LIBS)
     20psastroExtract_LDADD = libpsastro.la
    1721
    1822psastroModel_CFLAGS = $(PSASTRO_CFLAGS) $(PSMODULE_CFLAGS) $(PSLIB_CFLAGS)
     
    3539        psastroDataSave.c           \
    3640        psastroMetadataStats.c      \
     41        psastroCleanup.c
     42
     43psastroExtract_SOURCES = \
     44        psastroExtract.c                    \
     45        psastroExtractArguments.c           \
     46        psastroExtractParseCamera.c   \
     47        psastroExtractDataLoad.c      \
     48        psastroExtractAnalysis.c      \
    3749        psastroCleanup.c
    3850
  • trunk/psastro/src/psastro.h

    r23195 r23412  
    6161bool              psPlaneDistortIsIdentity (psPlaneDistort *distort);
    6262
    63 psArray          *psastroLoadRefstars (pmConfig *config);
     63psArray          *psastroLoadRefstars (pmConfig *config, const char *source);
    6464bool              psastroChipAstrom (pmConfig *config);
    6565bool              psastroOneChip (pmFPA *fpa, pmChip *chip, psArray *refset, psArray *rawset, psMetadata *recipe, psMetadata *updates);
    6666bool              psastroOneChipGrid (pmFPA *fpa, pmChip *chip, psArray *refset, psArray *rawset, psMetadata *recipe, psMetadata *updates);
    6767bool              psastroOneChipFit (pmFPA *fpa, pmChip *chip, psArray *refset, psArray *rawset, psMetadata *recipe, psMetadata *updates);
    68 bool              psastroChooseRefstars (pmConfig *config, psArray *refs);
     68bool              psastroChooseRefstars (pmConfig *config, psArray *refs, const char *source);
    6969bool              psastroRefstarSubset (pmReadout *readout);
    7070pmLumFunc        *psastroLuminosityFunction (psArray *stars, pmLumFunc *rawFunc);
     
    121121bool              psastroDumpCorners (char *filenameU, char *filenameD, pmFPA *fpa);
    122122
     123char             *psastroSetMagLimit (float *minMag, float *maxRho, pmConfig *config, const char *source);
    123124
    124125psArray          *psastroReadGetstarCatalog (psFits *fits);
     
    133134bool psastroZeroPointFromRecipe (float *zeropt, float *exptime, pmFPA *fpa, psMetadata *recipe);
    134135
     136// psastroExtract functions
     137bool psastroExtractAnalysis (pmConfig *config);
     138psImage *psastroExtractStar (psImage *input, float x, float y, float dX, float dY);
     139bool psastroExtractParseCamera (pmConfig *config);
     140bool psastroExtractDataLoad (pmConfig *config);
     141pmConfig *psastroExtractArguments (int argc, char **argv);
     142
    135143///@}
    136144# endif /* PSASTRO_H */
  • trunk/psastro/src/psastroAnalysis.c

    r21409 r23412  
    4545
    4646    // load the reference stars overlapping the data stars
    47     psArray *refs = psastroLoadRefstars(config);
     47    psArray *refs = psastroLoadRefstars(config, "PSASTRO.INPUT");
    4848    if (!refs) {
    4949        psError (PSASTRO_ERR_UNKNOWN, false, "failed to load reference data\n");
     
    5656    }
    5757
    58     if (!psastroChooseRefstars (config, refs)) {
     58    if (!psastroChooseRefstars (config, refs, "PSASTRO.INPUT")) {
    5959        psError (PSASTRO_ERR_UNKNOWN, false, "failed to select reference data for chips\n");
    6060        psFree(refs);
    6161        return false;
    6262    }
     63    psFree (refs);  // refs of interest are saved on readout->analysis
    6364
    6465    // check the command-line arguments first
     
    7980        if (!psastroChipAstrom (config)) {
    8081            psError (PSASTRO_ERR_UNKNOWN, false, "failed to perform single chip astrometry\n");
    81             psFree(refs);
    8282            return false;
    8383        }
     
    8686        if (!psastroMosaicAstrom (config)) {
    8787            psError (PSASTRO_ERR_UNKNOWN, false, "failed to perform mosaic camera astrometry\n");
    88             psFree(refs);
    8988            return false;
    9089        }
     
    10099    // psastroStackAstrom (config, refs);
    101100
    102     psFree (refs);
    103101    return true;
    104102}
  • trunk/psastro/src/psastroChooseRefstars.c

    r21409 r23412  
    2020}
    2121
    22 bool psastroChooseRefstars (pmConfig *config, psArray *refs) {
     22bool psastroChooseRefstars (pmConfig *config, psArray *refs, const char *source) {
    2323
    2424    bool status;
     
    3535
    3636    // select the input data sources
    37     pmFPAfile *input = psMetadataLookupPtr (NULL, config->files, "PSASTRO.INPUT");
     37    pmFPAfile *input = psMetadataLookupPtr (NULL, config->files, source);
    3838    if (!input) {
    3939        psError(PSASTRO_ERR_CONFIG, true, "Can't find input data!\n");
  • trunk/psastro/src/psastroLoadRefstars.c

    r21422 r23412  
    1414# define ELIXIR_MODE 1
    1515
    16 char *psastroSetMagLimit (float *minMag, float *maxRho, pmConfig *config);
    17 
    18 psArray *psastroLoadRefstars (pmConfig *config) {
     16psArray *psastroLoadRefstars (pmConfig *config, const char *source) {
    1917
    2018    int fd;
     
    6967    float minMag;
    7068    float maxRho;
    71     char *photcode = psastroSetMagLimit (&minMag, &maxRho, config);
     69    char *photcode = psastroSetMagLimit (&minMag, &maxRho, config, source);
    7270    PS_ASSERT (photcode, NULL);
    7371
     
    240238  goto escape; }
    241239
    242 char *psastroSetMagLimit (float *minMag, float *maxRho, pmConfig *config) {
     240char *psastroSetMagLimit (float *minMag, float *maxRho, pmConfig *config, const char *source) {
    243241
    244242    bool status;
     
    249247
    250248    // select the input data sources
    251     pmFPAfile *input = psMetadataLookupPtr (NULL, config->files, "PSASTRO.INPUT");
     249    pmFPAfile *input = psMetadataLookupPtr (NULL, config->files, source);
    252250    if (!input) {
    253251        psLogMsg ("psastro", PS_LOG_DETAIL, "no supplied reference header data");
Note: See TracChangeset for help on using the changeset viewer.