IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 6568


Ignore:
Timestamp:
Mar 9, 2006, 10:56:39 AM (20 years ago)
Author:
magnier
Message:

fixed compile errors in the new pmFPAview and pmFPAfile

Location:
branches/rel10_ifa/psModules/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/rel10_ifa/psModules/src/astrom/Makefile.am

    r6565 r6568  
    1212        pmConceptsRead.c \
    1313        pmConceptsWrite.c \
    14         pmConceptsStandard.c
    15 #       pmFPAfile.c
    16 #       pmFPAview.c
     14        pmConceptsStandard.c \
     15        pmFPAfile.c \
     16        pmFPAview.c
     17
     18#       pmFPAAstrometry.c
     19#       pmAstrometryObjects.c
    1720#       pmChipMosaic.c
    1821#       pmFPAWrite.c
    19 #       pmFPAAstrometry.c
    20 #       pmAstrometryObjects.c
    2122
    2223psmoduleincludedir = $(includedir)
     
    3132        pmConceptsRead.h \
    3233        pmConceptsWrite.h \
    33         pmConceptsStandard.h
    34 #       pmFPAfile.c
    35 #       pmFPAview.c
    36 #       pmChipMosaic.h
    37 #       pmFPAWrite.h
     34        pmConceptsStandard.h \
     35        pmFPAfile.h \
     36        pmFPAview.h
     37
    3838#       pmFPAAstrometry.h
    3939#       pmAstrometryObjects.h
     40#
     41#       pmChipMosaic.h
     42#       pmFPAWrite.h
  • branches/rel10_ifa/psModules/src/astrom/pmFPAfile.c

    r6565 r6568  
    11#include <stdio.h>
    22#include "pslib.h"
     3#include "pmHDU.h"
     4#include "pmFPA.h"
    35#include "pmFPAview.h"
    46#include "pmFPAfile.h"
    5 
    6 static void pmPFAfileFree (pmFPAfile *file)
     7#include "pmFPAviewObjectsIO.h"
     8
     9static void pmFPAfileFree (pmFPAfile *file)
    710{
    811
     
    1013        return;
    1114
    12     // psFree (file->element);
     15    psFree (file->fits);
     16    psFree (file->filerule);
     17    psFree (file->filextra);
     18    psFree (file->extrule);
     19    psFree (file->extxtra);
     20    psFree (file->filename);
     21    psFree (file->extname);
    1322    return;
    1423}
     
    1827
    1928    pmFPAfile *file = psAlloc (sizeof(pmFPAfile));
    20 
    21     // file->element = foo;
     29    psMemSetDeallocator (file, (psFreeFunc) pmFPAfileFree);
     30
     31    file->fits = NULL;
     32    file->filerule = NULL;
     33    file->filextra = NULL;
     34    file->extrule  = NULL;
     35    file->extxtra  = NULL;
     36    file->filename = NULL;
     37    file->extname  = NULL;
    2238    return (file);
    2339}
    2440
    25 pmFile *pmFPAfileDefine (pmFPAview *view, psMetadata *camera, char *name)
    26 {
     41// XXX is a file allowed to be both READ and WRITE?
     42pmFPAfile *pmFPAfileDefine (pmFPAview *view, psMetadata *camera, char *name)
     43{
     44
     45    bool status;
     46    char *depth;
    2747
    2848    // select the name from the camera config data
    29     psMetadata *data = psMetadataLookup (&status, camera, name);
     49    psMetadata *data = psMetadataLookupPtr (&status, camera, name);
    3050    if (data == NULL) {
    3151        return false;
     
    3959
    4060    file->openDepth = PM_FPA_DEPTH_NONE;
    41     char *depth = psMetadataLookupStr (&status, data, "OPEN.DEPTH");
     61    depth = psMetadataLookupStr (&status, data, "OPEN.DEPTH");
    4262    if (depth != NULL) {
    4363        if (!strcasecmp (depth, "FPA"))     {
     
    5676
    5777    file->readDepth = PM_FPA_DEPTH_NONE;
    58     char *depth = psMetadataLookupStr (&status, data, "READ.DEPTH");
     78    depth = psMetadataLookupStr (&status, data, "READ.DEPTH");
    5979    if (depth != NULL) {
    6080        if (!strcasecmp (depth, "FPA"))     {
     
    7393
    7494    file->writeDepth = PM_FPA_DEPTH_NONE;
    75     char *depth = psMetadataLookupStr (&status, data, "WRITE.DEPTH");
     95    depth = psMetadataLookupStr (&status, data, "WRITE.DEPTH");
    7696    if (depth != NULL) {
    7797        if (!strcasecmp (depth, "FPA"))     {
    78             file->readDepth = PM_FPA_DEPTH_FPA;
     98            file->writeDepth = PM_FPA_DEPTH_FPA;
    7999        }
    80100        if (!strcasecmp (depth, "CHIP"))    {
    81             file->readDepth = PM_FPA_DEPTH_CHIP;
     101            file->writeDepth = PM_FPA_DEPTH_CHIP;
    82102        }
    83103        if (!strcasecmp (depth, "CELL"))    {
    84             file->readDepth = PM_FPA_DEPTH_CELL;
     104            file->writeDepth = PM_FPA_DEPTH_CELL;
    85105        }
    86106        if (!strcasecmp (depth, "READOUT")) {
    87             file->readDepth = PM_FPA_DEPTH_READOUT;
    88         }
    89     }
     107            file->writeDepth = PM_FPA_DEPTH_READOUT;
     108        }
     109    }
     110
     111    if ((file->readDepth != PM_FPA_DEPTH_NONE) && (file->writeDepth != PM_FPA_DEPTH_NONE)) {
     112        psLogMsg (__func__, 3, "warning: file %s is set to both read and write; write is ignored\n", name);
     113        file->writeDepth = PM_FPA_DEPTH_NONE;
     114    }
     115
    90116    return (file);
    91117}
     
    94120{
    95121
     122    bool status;
     123    char *extra;
     124
    96125    // is current depth == open depth?
    97     depth = pmFPAviewDepth (view);
     126    pmFPAdepth depth = pmFPAviewDepth (view);
    98127    if (file->openDepth != depth) {
    99128        return false;
     
    101130
    102131    // determine the file name
    103     file->filename = pmConfigNameFromRule (file->filerule, view);
     132    file->filename = pmFPAviewNameFromRule (file->filerule, view);
    104133
    105134    // indirect filenames
    106135    if (!strcasecmp (file->filename, "@FPAIO")) {
    107         extra = pmConfigNameFromRule (file->filextra, view);
    108         file->filename = psMetadataLookupStr (&status, fpi->IO, extra);
     136        extra = pmFPAviewNameFromRule (file->filextra, view);
     137        file->filename = psMetadataLookupStr (&status, view->IO, extra);
    109138    }
    110139    if (!strcasecmp (file->filename, "@DETDB")) {
    111         extra = pmConfigNameFromRule (file->filextra, camera, view);
    112         file->filename = pmDetrendSelect (extra);
    113     }
    114 
    115     if (file->mode == READ) {
     140        extra = pmFPAviewNameFromRule (file->filextra, view);
     141        // file->filename = pmDetrendSelect (extra);
     142    }
     143
     144    if (file->readDepth != PM_FPA_DEPTH_NONE) {
    116145        file->fits = psFitsOpen (file->filename, "r");
    117     } else {
     146    } else if (file->writeDepth != PM_FPA_DEPTH_NONE) {
    118147        file->fits = psFitsOpen (file->filename, "w");
    119148    }
    120 }
    121 
    122 bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view, psMetadata *camera)
     149    return true;
     150}
     151
     152bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view)
    123153{
    124154
    125155    // is current depth == open depth?
    126     depth = pmFPAviewDepth (view);
     156    pmFPAdepth depth = pmFPAviewDepth (view);
    127157    if (file->readDepth != depth) {
    128158        return false;
    129159    }
    130160
    131     if (file->mode != READ) {
    132         return false;
    133     }
    134 
    135     if (file->type == FITS) {
    136         // read all selected elements for this view?
    137         pmFPAviewReadFitsImage (view, file->fits, phu?, database?);
    138     }
    139 
    140     if (file->type == SMP) {
    141         // read all selected elements for this view?
    142         pmFPAviewReadSMP (view->fpa, file->fits, phu?, database?);
    143     }
    144 }
    145 
    146 bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view, psMetadata *camera)
     161    if (file->readDepth == PM_FPA_DEPTH_NONE) {
     162        return false;
     163    }
     164
     165    switch (file->type) {
     166    case PM_FPA_FILE_IMAGE:
     167        pmFPAviewReadFitsImage (view, file->fits);
     168        break;
     169
     170    case PM_FPA_FILE_SX:
     171    case PM_FPA_FILE_OBJ:
     172    case PM_FPA_FILE_CMP:
     173    case PM_FPA_FILE_CMF:
     174        pmFPAviewReadObjects (view, file);
     175        break;
     176
     177    default:
     178        fprintf (stderr, "warning: type mismatch\n");
     179        return false;
     180    }
     181    return true;
     182}
     183
     184bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view)
    147185{
    148186
    149187    // is current depth == open depth?
    150     depth = pmFPAviewDepth (view);
     188    pmFPAdepth depth = pmFPAviewDepth (view);
    151189    if (file->writeDepth != depth) {
    152190        return false;
    153191    }
    154192
    155     if (file->mode != WRITE) {
    156         return false;
    157     }
    158 
    159     if (file->type == FITS) {
    160         // read all selected elements for this view?
    161         pmFPAviewWriteFitsImage (view, file->fits, phu?, database?);
    162     }
    163 
    164     if (file->type == SMP) {
    165         // read all selected elements for this view?
    166         pmFPAviewWriteSMP (view->fpa, file->fits, phu?, database?);
    167     }
     193    if (file->writeDepth == PM_FPA_DEPTH_NONE) {
     194        return false;
     195    }
     196
     197    switch (file->type) {
     198    case PM_FPA_FILE_IMAGE:
     199        psLogMsg (__func__, 3, "write image disabled\n");
     200        // XXX disabled for now
     201        // XXX pmFPAviewWriteFitsImage (view, file->fits);
     202        break;
     203
     204    case PM_FPA_FILE_SX:
     205    case PM_FPA_FILE_OBJ:
     206    case PM_FPA_FILE_CMP:
     207    case PM_FPA_FILE_CMF:
     208        pmFPAviewWriteObjects (view, file);
     209        break;
     210
     211    default:
     212        fprintf (stderr, "warning: type mismatch\n");
     213        return false;
     214    }
     215    return true;
    168216}
    169217
     
    179227
    180228        pmFPAfileOpen (file, view, camera);
    181         pmFPAfileRead (file, view, camera);
     229        pmFPAfileRead (file, view);
    182230    }
    183231    psFree (iter);
  • branches/rel10_ifa/psModules/src/astrom/pmFPAfile.h

    r6559 r6568  
    77*  @author EAM, IfA
    88*
    9 *  @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $
    10 *  @date $Date: 2006-03-09 03:24:49 $
     9*  @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $
     10*  @date $Date: 2006-03-09 20:56:39 $
    1111*
    1212*  Copyright 2004-2005 Institute for Astronomy, University of Hawaii
     
    4040    char *extname;
    4141
    42     int mode;
    4342    pmFPAfileType type;
    4443}
     
    4847pmFPAfile *pmFPAfileDefine (pmFPAview *view, psMetadata *camera, char *name);
    4948bool pmFPAfileOpen (pmFPAfile *file, pmFPAview *view, psMetadata *camera);
    50 bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view, psMetadata *camera);
    51 bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view, psMetadata *camera);
     49bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view);
     50bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view);
    5251bool pmFPAfileIOCheck (pmFPAview *view, psMetadata *camera);
    53 bool pmFPAviewReadFitsImage (pmFPAview *view, psFits *fits);
    5452
    5553# endif
  • branches/rel10_ifa/psModules/src/astrom/pmFPAview.c

    r6559 r6568  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.1.2.2 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2006-03-09 03:24:49 $
     5 *  @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2006-03-09 20:56:39 $
    77 *
    88 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2020#include "pmFPAWrite.h"
    2121
    22 bool pmChipRead(pmChip *fpa,              // FPA to read into
    23                 psFits *fits,            // FITS file from which to read
    24                 psMetadata *phu,         // Primary header
    25                 psDB *db                 // Database handle, for concept ingest
    26                );
    27 
    28 bool pmCellRead(pmCell *fpa,              // FPA to read into
    29                 psFits *fits,            // FITS file from which to read
    30                 psMetadata *phu,         // Primary header
    31                 psDB *db                 // Database handle, for concept ingest
    32                );
    33 
    34 bool pmReadoutRead(pmReadout *fpa,              // FPA to read into
    35                    psFits *fits,            // FITS file from which to read
    36                    psMetadata *phu,         // Primary header
    37                    psDB *db                 // Database handle, for concept ingest
    38                   );
    39 
    40 bool pmReadoutReadSegment(pmReadout *fpa,              // FPA to read into
    41                           psFits *fits,            // FITS file from which to read
    42                           int n, int i,
    43                           psMetadata *phu,         // Primary header
    44                           psDB *db);
    45 
    4622static void pmFPAviewFree (pmFPAview *view)
    4723{
     
    308284
    309285    if (view->chip == -1) {
    310         pmFPARead (fpa, fits, NULL, NULL);
     286        pmFPARead (fpa, fits, NULL);
    311287        return true;
    312288    }
     
    318294
    319295    if (view->cell == -1) {
    320         pmChipRead (chip, fits, NULL, NULL);
     296        pmChipRead (chip, fits, NULL);
    321297        return true;
    322298    }
     
    328304
    329305    if (view->readout == -1) {
    330         pmCellRead (cell, fits, NULL, NULL);
    331         return true;
    332     }
    333 
    334     if (view->readout >= cell->readouts->n) {
    335         return false;
    336     }
     306        pmCellRead (cell, fits, NULL);
     307        return true;
     308    }
     309
     310    // XXX pmReadoutRead, pmReadoutReadSegement disabled for now
     311    return false;
     312
     313    # if (0)
     314
     315        if (view->readout >= cell->readouts->n) {
     316            return false;
     317        }
    337318    pmReadout *readout = cell->readouts->data[view->readout];
    338319
    339320    if (view->nRows == 0) {
    340         pmReadoutRead (readout, fits, NULL, NULL);
     321        pmReadoutRead (readout, fits, NULL);
    341322    } else {
    342323        pmReadoutReadSegment (readout, fits, view->nRows, view->iRows, NULL, NULL);
    343324    }
    344325    return true;
    345 }
     326    # endif
     327}
     328
     329// XXX image writes disabled for now
     330# if (0)
     331    // given an already-opened fits file, write the components corresponding
     332    // to the specified view
     333    bool pmFPAviewWriteFitsImage (pmFPAview *view, psFits *fits)
     334{
     335
     336    pmFPA *fpa = view->fpa;
     337
     338    if (view->chip == -1) {
     339        pmFPAWrite (fpa, fits, NULL, NULL);
     340        return true;
     341    }
     342
     343    if (view->chip >= fpa->chips->n) {
     344        return false;
     345    }
     346    pmChip *chip = fpa->chips->data[view->chip];
     347
     348    if (view->cell == -1) {
     349        pmChipWrite (chip, fits, NULL, NULL);
     350        return true;
     351    }
     352
     353    if (view->cell >= chip->cells->n) {
     354        return false;
     355    }
     356    pmCell *cell = chip->cells->data[view->cell];
     357
     358    if (view->readout == -1) {
     359        pmCellWrite (cell, fits, NULL, NULL);
     360        return true;
     361    }
     362
     363    if (view->readout >= cell->readouts->n) {
     364        return false;
     365    }
     366    pmReadout *readout = cell->readouts->data[view->readout];
     367
     368    if (view->nRows == 0) {
     369        pmReadoutWrite (readout, fits, NULL, NULL);
     370    } else {
     371        pmReadoutWriteSegment (readout, fits, view->nRows, view->iRows, NULL, NULL);
     372    }
     373    return true;
     374}
     375# endif
  • branches/rel10_ifa/psModules/src/astrom/pmFPAview.h

    r6559 r6568  
    77*  @author EAM, IfA
    88*
    9 *  @version $Revision: 1.1.2.2 $ $Name: not supported by cvs2svn $
    10 *  @date $Date: 2006-03-09 03:24:49 $
     9*  @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $
     10*  @date $Date: 2006-03-09 20:56:39 $
    1111*
    1212*  Copyright 2004-2005 Institute for Astronomy, University of Hawaii
     
    7474bool pmFPAviewReadFitsImage (pmFPAview *view, psFits *fits);
    7575
     76// write the components for the specified view
     77bool pmFPAviewWriteFitsImage (pmFPAview *view, psFits *fits);
     78
    7679# endif
  • branches/rel10_ifa/psModules/src/objects/Makefile.am

    r6565 r6568  
    33libpsmoduleobjects_la_CPPFLAGS = $(SRCINC) $(PSMODULE_CFLAGS) -I../pslib/
    44libpsmoduleobjects_la_LDFLAGS  = -release $(PACKAGE_VERSION)
    5 libpsmoduleobjects_la_SOURCES  =
    6 #     pmPeaks.c \
    7 #     pmMoments.c \
    8 #     pmModel.c \
    9 #     pmModelGroup.c \
    10 #     pmSource.c \
    11 #     pmSourceSky.c \
    12 #     pmSourceContour.c \
    13 #     pmSourceFitModel.c \
    14 #     pmSourceFitSet.c \
    15 #     pmSourcePhotometry.c \
    16 #     pmSourceIO.c \
    17 #     pmSourceIO_CMF.c \
    18 #     pmSourceIO_CMP.c \
    19 #     pmSourceIO_OBJ.c \
    20 #     pmSourceIO_SX.c \
    21 #     pmPSF.c \
    22 #     pmPSFtry.c \
    23 #     pmGrowthCurve.c \
    24 #     pmFPAviewReadObjects.c \
    25 #     pmFPAviewWriteObjects.c
     5libpsmoduleobjects_la_SOURCES  = \
     6     pmPeaks.c \
     7     pmMoments.c \
     8     pmModel.c \
     9     pmModelGroup.c \
     10     pmSource.c \
     11     pmSourceSky.c \
     12     pmSourceContour.c \
     13     pmSourceFitModel.c \
     14     pmSourceFitSet.c \
     15     pmSourcePhotometry.c \
     16     pmSourceIO.c \
     17     pmSourceIO_CMF.c \
     18     pmSourceIO_CMP.c \
     19     pmSourceIO_OBJ.c \
     20     pmSourceIO_SX.c \
     21     pmPSF.c \
     22     pmPSFtry.c \
     23     pmGrowthCurve.c \
     24     pmFPAviewReadObjects.c \
     25     pmFPAviewWriteObjects.c
    2626
    2727EXTRA_DIST = \
     
    3232
    3333psmoduleincludedir = $(includedir)
    34 psmoduleinclude_HEADERS =
    35 #     pmPeaks.h \
    36 #     pmMoments.h \
    37 #     pmModel.h \
    38 #     pmModelGroup.h \
    39 #     pmSource.h \
    40 #     pmSourceSky.h \
    41 #     pmSourceContour.h \
    42 #     pmSourceFitModel.h \
    43 #     pmSourceFitSet.h \
    44 #     pmSourcePhotometry.h \
    45 #     pmSourceIO.h \
    46 #     pmPSF.h \
    47 #     pmPSFtry.h \
    48 #     pmGrowthCurve.h
     34psmoduleinclude_HEADERS = \
     35     pmPeaks.h \
     36     pmMoments.h \
     37     pmModel.h \
     38     pmModelGroup.h \
     39     pmSource.h \
     40     pmSourceSky.h \
     41     pmSourceContour.h \
     42     pmSourceFitModel.h \
     43     pmSourceFitSet.h \
     44     pmSourcePhotometry.h \
     45     pmSourceIO.h \
     46     pmPSF.h \
     47     pmPSFtry.h \
     48     pmGrowthCurve.h
Note: See TracChangeset for help on using the changeset viewer.