IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 4779


Ignore:
Timestamp:
Aug 15, 2005, 4:29:29 PM (21 years ago)
Author:
gusciora
Message:

I added the metadata things.

Location:
trunk/psModules/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/pmAstrometry.c

    r4770 r4779  
    11/** @file  psAstrometry.c
    2  *
    3  *  @brief This file defines the basic types for astronomical coordinate
    4  *  transformation
    5  *
    6  *  @ingroup AstroImage
    7  *
    8  *  @author GLG, MHPCC
    9  *
    10  *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    11  *  @date $Date: 2005-08-16 01:10:34 $
    12  *
    13  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
    14  */
     2*
     3*  @brief This file defines the basic types for astronomical coordinate
     4*  transformation
     5*
     6*  @ingroup AstroImage
     7*
     8*  @author GLG, MHPCC
     9*
     10*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     11*  @date $Date: 2005-08-16 02:29:29 $
     12*
     13*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     14*/
    1515
    1616/******************************************************************************/
     
    700700}
    701701
    702 
    703 
     702/*
     703psMetadataItem* psMetadataLookup(
     704    const psMetadata * md,             ///< Metadata collection to lookup meta!
     705    const char * key                   ///< Name of metadata key.
     706);
     707*/
     708
     709psMetadataItem *pmReadoutGetConcept(pmReadout *readout, const char *concept)
     710{
     711    return(psMetadataLookup(readout->concepts, concept));
     712}
     713
     714psMetadataItem *pmCellGetConcept(pmCell *cell, const char *concept)
     715{
     716    return(psMetadataLookup(cell->concepts, concept));
     717}
     718
     719psMetadataItem *pmChipGetConcept(pmChip *chip, const char *concept)
     720{
     721    return(psMetadataLookup(chip->concepts, concept));
     722}
     723
     724psMetadataItem *pmFPAGetConcept(pmFPA *fpa, const char *concept)
     725{
     726    return(psMetadataLookup(fpa->concepts, concept));
     727}
     728
     729
     730float pmFPAGetAirmass(pmFPA *fpa) // FPA.AIRMASS
     731{
     732    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.AIRMASS");
     733    return((float) tmp->data.F32);
     734}
     735
     736psString pmFPAGetFilter(pmFPA *fpa) // FPA.FILTER
     737{
     738    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.FILTER");
     739    return((psString) tmp->data.V);
     740}
     741
     742float pmFPAGetPosAngle(pmFPA *fpa) // FPA.POSANGLE
     743{
     744    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.POSANGLE");
     745    return((float) tmp->data.F32);
     746}
     747
     748double pmFPAGetRA(pmFPA *fpa) // FPA.RA
     749{
     750    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.RA");
     751    return((float) tmp->data.F32);
     752}
     753
     754double pmFPAGetDec(pmFPA *fpa) // FPA.DEC
     755{
     756    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.DEC");
     757    return((float) tmp->data.F32);
     758}
     759
     760psString pmFPAGetRADecSys(pmFPA *fpa) // FPA.RADECSYS
     761{
     762    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.RADECSYS");
     763    return((psString) tmp->data.V);
     764}
     765
     766psString pmFPAGetName(pmFPA *fpa) // FPA.NAME
     767{
     768    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.NAME");
     769    return((psString) tmp->data.V);
     770}
     771
     772psString pmChipGetName(pmChip *chip) // CHIP.NAME
     773{
     774    psMetadataItem *tmp = pmChipGetConcept(chip, "CHIP.NAME");
     775    return((psString) tmp->data.V);
     776}
     777
     778psString pmCellGetName(pmCell *cell) // CELL.NAME
     779{
     780    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.NAME");
     781    return((psString) tmp->data.V);
     782}
     783
     784psTime *pmCellGetTime(pmCell *cell) // CELL.TIME
     785{
     786    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.TIME");
     787    return((psTime *) tmp->data.V);
     788}
     789
     790psList *pmCellGetBiasSec(pmCell *cell) // CELL.BIASSEC
     791{
     792    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.BIASSEC");
     793    return((psList *) tmp->data.list);
     794}
     795
     796psRegion *pmCellGetTrimSec(pmCell *cell) // CELL.TRIMSEC
     797{
     798    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.TRIMSEC");
     799    return((psRegion *) tmp->data.V);
     800}
     801
     802float pmCellGetGain(pmCell *cell) // CELL.GAIN
     803{
     804    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.GAIN");
     805    return((float) tmp->data.F32);
     806}
     807
     808float pmCellGetReadNoise(pmCell *cell) // CELL.READNOISE
     809{
     810    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.READNOISE");
     811    return((float) tmp->data.F32);
     812}
     813
     814float pmCellGetSaturation(pmCell *cell) // CELL.SATURATION
     815{
     816    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.SATURATION");
     817    return((float) tmp->data.F32);
     818}
     819
     820float pmCellGetBad(pmCell *cell) // CELL.BAD
     821{
     822    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.BAD");
     823    return((float) tmp->data.F32);
     824}
     825
     826psPixelCoord *pmCellGetBin(pmCell *cell) // CELL.BIN
     827{
     828    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.BIN");
     829    return((psPixelCoord *) tmp->data.V);
     830}
     831
     832psPixelCoord *pmCellGetParity(pmCell *cell) // CELL.PARITY
     833{
     834    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.PARITY");
     835    return((psPixelCoord *) tmp->data.V);
     836}
     837
     838float pmReadoutGetExposure(pmReadout *readout) // READOUT.EXPOSURE
     839{
     840    psMetadataItem *tmp = pmReadoutGetConcept(readout, "READOUT.EXPOSURE");
     841    return((float) tmp->data.F32);
     842}
     843
     844float pmReadoutGetDarkTime(pmReadout *readout) // READOUT.DARKTIME
     845{
     846    psMetadataItem *tmp = pmReadoutGetConcept(readout, "READOUT.DARKTIME");
     847    return((float) tmp->data.F32);
     848}
     849
     850
     851
     852
     853/*
     854typedef struct
     855{
     856    float x0;
     857}
     858psJunk;
     859 
     860psJunk *pmCellTmp(pmCell *cell) // CELL.TRIMSEC
     861{
     862    psMetadataItem *tmp;
     863    return((psJunk *) tmp->data.V);
     864}
     865 
     866*/
  • trunk/psModules/src/pmAstrometry.h

    r4770 r4779  
    88*  @author GLG, MHPCC
    99*
    10 *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    11 *  @date $Date: 2005-08-16 01:10:34 $
     10*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     11*  @date $Date: 2005-08-16 02:29:29 $
    1212*
    1313*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    417417
    418418
     419psMetadataItem *pmCellGetConcept(pmCell *cell, const char *concept);
     420psMetadataItem *pmChipGetConcept(pmChip *chip, const char *concept);
     421psMetadataItem *pmFPAGetConcept(pmFPA *fpa, const char *concept);
     422
     423/**
     424 *
     425 *  We next specify a series of specific functions for concept lookups. These
     426 *  will generally be what the user utilises, so the goal is to provide a simple
     427 *  interface providing a single type back, so the user doesnt have to go to the
     428 *  trouble of checking types, etc. These functions should employ the above three
     429 *  general lookup functions and deal with the result appropriately.
     430 *
     431 */
     432float pmFPAGetAirmass(pmFPA *fpa); // FPA.AIRMASS
     433psString pmFPAGetFilter(pmFPA *fpa); // FPA.FILTER
     434float pmFPAGetPosAngle(pmFPA *fpa); // FPA.POSANGLE
     435double pmFPAGetRA(pmFPA *fpa); // FPA.RA
     436double pmFPAGetDec(pmFPA *fpa); // FPA.DEC
     437psString pmFPAGetRADecSys(pmFPA *fpa); // FPA.RADECSYS
     438psString pmFPAGetName(pmFPA *fpa); // FPA.NAME
     439psString pmChipGetName(pmChip *chip); // CHIP.NAME
     440psString pmCellGetName(pmCell *cell); // CELL.NAME
     441psTime *pmCellGetTime(pmCell *cell); // CELL.TIME
     442psList *pmCellGetBiasSec(pmCell *cell); // CELL.BIASSEC
     443psRegion *pmCellGetTrimSec(pmCell *cell); // CELL.TRIMSEC
     444float pmCellGetGain(pmCell *cell); // CELL.GAIN
     445float pmCellGetReadNoise(pmCell *cell); // CELL.READNOISE
     446float pmCellGetSaturation(pmCell *cell); // CELL.SATURATION
     447float pmCellGetBad(pmCell *cell); // CELL.BAD
     448psPixelCoord *pmCellGetBin(pmCell *cell); // CELL.BIN
     449psPixelCoord *pmCellGetParity(pmCell *cell); // CELL.PARITY
     450float pmReadoutGetExposure(pmReadout *readout); // READOUT.EXPOSURE
     451float pmReadoutGetDarkTime(pmReadout *readout); // READOUT.DARKTIME
     452
     453
     454
    419455#endif // #ifndef PS_ASTROMETRY_H
Note: See TracChangeset for help on using the changeset viewer.