IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 1384


Ignore:
Timestamp:
Aug 4, 2004, 1:12:34 PM (22 years ago)
Author:
desonia
Message:

Added doxygen documentation.

Location:
trunk/psLib/src/astronomy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/astronomy/psAstrometry.h

    r1382 r1384  
    88*  @author George Gusciora, MHPCC
    99*
    10 *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    11 *  @date $Date: 2004-08-04 22:11:09 $
     10*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     11*  @date $Date: 2004-08-04 23:12:34 $
    1212*
    1313*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    3434/// @{
    3535
     36/** Wallace's Grommit
     37 *
     38 *  SLALib requires several elements to perform the transformations between
     39 *  the tangent plane and the sky.  Pre-computing these quantities for each
     40 *  exposure means that subsequent transformations are faster.  For historical
     41 *  reasons, this structure is known colloquially as "Wallace's Grommit".
     42 * 
     43 */
    3644typedef struct
    3745    {
    38         const double latitude;             ///<
    39         const double sinLat, cosLat;       ///<
    40         const double abberationMag;        ///<
    41         const double height;               ///<
    42         const double temperature;          ///<
    43         const double pressure;             ///<
    44         const double humidity;             ///<
    45         const double wavelength;           ///<
    46         const double lapseRate;            ///<
    47         const double refractA, refractB;   ///<
    48         const double longitudeOffset;      ///<
    49         const double siderealTime;         ///<
     46        const double latitude;             ///< geodetic latitude (radians)
     47        const double sinLat;               ///< sine of geodetic latitude
     48        const double cosLat;               ///< cosine of geodetic latitude
     49        const double abberationMag;        ///< magnitude of diurnal aberration vector
     50        const double height;               ///< height (HM)
     51        const double temperature;          ///< ambient temperature (TDK)
     52        const double pressure;             ///< pressure (PMB)
     53        const double humidity;             ///< relative humidity (RH)
     54        const double wavelength;           ///< wavelength (WL)
     55        const double lapseRate;            ///< lapse rate (TLR)
     56        const double refractA;             ///< refraction constant A (radians)
     57        const double refractB;             ///< refraction constant B (radians)
     58        const double longitudeOffset;      ///< longitude + ... (radians)
     59        const double siderealTime;         ///< local apparent sidereal time (radians)
    5060    }
    5161psGrommit;
    5262
     63/** Fixed Pattern Corrections
     64 *
     65 *  The fixed pattern is a correction to the general astrometric solution
     66 *  formed by summing the residuals from many observations. The intent is to
     67 *  correct for higher-order distortions in the camera system on a coarse
     68 *  grid (larger than individual pixels, but smaller than a single cell).
     69 *  Hence, in addition to the offsets, we need to specify the size and scale
     70 *  of the grid in x and y as well as the origin of the grid.
     71 */
    5372typedef struct
    5473    {
    55         int nX, nY;               ///<
    56         double x0, y0;            ///<
    57         double xScale, yScale;    ///<
    58         double **x, **y;          ///<
     74        int nX;                            ///< Number of elements in x direction
     75        int nY;                            ///< Number of elements in y direction
     76        double x0;                         ///< X Position of 0,0 corner on focal plane
     77        double y0;                         ///< Y Position of 0,0 corner on focal plane
     78        double xScale;                     ///< Scale of the grid in x direction
     79        double yScale;                     ///< Scale of the grid in x direction
     80        double **x;                        ///< The grid of offsets in x
     81        double **y;                        ///< The grid of offsets in y
    5982    }
    6083psFixedPattern;
     
    77100       
    78101        psImage* image;                    ///< imaging area of Readout
    79         psList* objects;                  ///< objects derived from Readout
     102        psList* objects;                   ///< objects derived from Readout
    80103        psMetadata* metadata;              ///< readout-level metadata
    81104    }
     
    191214
    192215psExposure* psExposureAlloc(
    193     double ra,                          ///< Telescope boresight, right ascention
    194     double dec,                         ///< Telescope boresight, declination
    195     double hourAngle,                   ///< Hour angle
    196     double zenith,                      ///< Zenith distance
    197     double azimuth,                     ///< Azimuth
    198     double localTime,                   ///< Local Sidereal Time
    199     float date,                         ///< MJD
    200     float rotAngle,                     ///< Rotator position angle
    201     float temperature,                  ///< Temperature
    202     float pressure,                     ///< Pressure
    203     float humidity,                     ///< Relative humidity
     216    double ra,                           ///< Telescope boresight, right ascention
     217    double dec,                          ///< Telescope boresight, declination
     218    double hourAngle,                    ///< Hour angle
     219    double zenith,                       ///< Zenith distance
     220    double azimuth,                      ///< Azimuth
     221    double localTime,                    ///< Local Sidereal Time
     222    float date,                          ///< MJD
     223    float rotAngle,                      ///< Rotator position angle
     224    float temperature,                   ///< Temperature
     225    float pressure,                      ///< Pressure
     226    float humidity,                      ///< Relative humidity
    204227    float exposureTime                 ///< Exposure time
    205228);
    206229
    207 psGrommit* psGrommitAlloc( const psExposure* exp );
    208 
    209 psCell *psCellinFPA( psCell *out,
    210                      const psPlane *coord,
    211                      const psFPA *FPA );
    212                      
    213 psChip *psChipinFPA( psChip *out,
    214                      const psPlane *coord,
    215                      const psFPA *FPA );
    216                      
    217 psCell *psCellinChip( psCell *out,
    218                       const psPlane *coord,
    219                       const psChip *chip );
    220                      
    221                      
    222                      
    223                      
    224 psPlane *psCoordCelltoChip( psPlane *out,
    225                             const psPlane *in,
    226                             const psCell *cell );
    227                            
    228 psPlane *psCoordChipToFPA( psPlane *out,
    229                            const psPlane *in,
    230                            const psChip *chip );
    231                            
    232 psPlane *psCoordFPAtoTP( psPlane *out,
    233                          const psPlane *in,
    234                          const psFPA *fpa );
    235                          
    236 psSphere *psCoordTPtoSky( psSphere *out,
    237                           const psPlane *in,
    238                           const psGrommit *grommit );
    239                          
    240 psPlane *psCoordCellToFPA( psPlane *out,
    241                            const psPlane *in,
    242                            const psCell *cell );
    243                            
    244 psSphere *psCoordCelltoSky( psSphere *out,
    245                             const psPlane *in,
    246                             const psCell *cell );
    247                            
    248 psSphere *psCoordCelltoSkyQuick( psSphere *out,
    249                                  const psPlane *in,
    250                                  const psCell *cell );
    251                                  
    252 psPlane *psCoordSkytoTP( psPlane *out,
    253                          const psSphere *in,
    254                          const psGrommit *grommit );
    255                          
    256 psPlane *psCoordTPtoFPA( psPlane *out,
    257                          const psPlane *in,
    258                          const psFPA *fpa );
    259                          
    260 psPlane *psCoordFPAtoChip( psPlane *out,
    261                            const psPlane *in,
    262                            const psChip *chip );
    263                            
    264 psPlane *psCoordChiptoCell( psPlane *out,
    265                             const psPlane *in,
    266                             const psCell *cell );
    267                            
    268 psPlane *psCoordSkytoCell( psPlane *out,
    269                            const psSphere *in,
    270                            const psCell *cell );
    271                            
    272 psPlane *psCoordSkytoCellQuick( psPlane *out,
    273                                 const psSphere *in,
    274                                 const psCell *cell );
    275                                
     230/** Allocates a Wallace's Grommit structure.
     231 *
     232 *  The psGrommit is calculated from telescope information for the particular
     233 *  exposure.
     234 *
     235 *  @return psGrommit*     New grommit structure.
     236 */
     237psGrommit* psGrommitAlloc(
     238    const psExposure* exp              ///< the cooresponding exposure structure.
     239);
     240
     241psCell *psCellinFPA(
     242    psCell *out,
     243    const psPlane *coord,
     244    const psFPA *FPA
     245);
     246
     247psChip *psChipinFPA(
     248    psChip *out,
     249    const psPlane *coord,
     250    const psFPA *FPA
     251);
     252
     253psCell *psCellinChip(
     254    psCell *out,
     255    const psPlane *coord,
     256    const psChip *chip
     257);
     258
     259psPlane *psCoordCelltoChip(
     260    psPlane *out,
     261    const psPlane *in,
     262    const psCell *cell
     263);
     264
     265psPlane *psCoordChipToFPA(
     266    psPlane *out,
     267    const psPlane *in,
     268    const psChip *chip
     269);
     270
     271psPlane *psCoordFPAtoTP(
     272    psPlane *out,
     273    const psPlane *in,
     274    const psFPA *fpa
     275);
     276
     277psSphere *psCoordTPtoSky(
     278    psSphere *out,
     279    const psPlane *in,
     280    const psGrommit *grommit
     281);
     282
     283psPlane *psCoordCellToFPA(
     284    psPlane *out,
     285    const psPlane *in,
     286    const psCell *cell
     287);
     288
     289psSphere *psCoordCelltoSky(
     290    psSphere *out,
     291    const psPlane *in,
     292    const psCell *cell
     293);
     294
     295psSphere *psCoordCelltoSkyQuick(
     296    psSphere *out,
     297    const psPlane *in,
     298    const psCell *cell
     299);
     300
     301psPlane *psCoordSkytoTP(
     302    psPlane *out,
     303    const psSphere *in,
     304    const psGrommit *grommit
     305);
     306
     307psPlane *psCoordTPtoFPA(
     308    psPlane *out,
     309    const psPlane *in,
     310    const psFPA *fpa
     311);
     312
     313psPlane *psCoordFPAtoChip(
     314    psPlane *out,
     315    const psPlane *in,
     316    const psChip *chip
     317);
     318
     319psPlane *psCoordChiptoCell(
     320    psPlane *out,
     321    const psPlane *in,
     322    const psCell *cell
     323);
     324
     325psPlane *psCoordSkytoCell(
     326    psPlane *out,
     327    const psSphere *in,
     328    const psCell *cell
     329);
     330
     331psPlane *psCoordSkytoCellQuick(
     332    psPlane *out,
     333    const psSphere *in,
     334    const psCell *cell
     335);
     336
    276337#endif
  • trunk/psLib/src/astronomy/psPhotometry.h

    r1374 r1384  
    99*  @author George Gusciora, MHPCC
    1010*
    11 *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2004-08-04 00:55:17 $
     11*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2004-08-04 23:12:34 $
    1313*
    1414*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2727/// @{
    2828
     29/** The photometric system description
     30 *
     31 *  The photometric system is defined by the psPhotSystem structure. A
     32 *  photometric system is identified by a human-readable name (ie, SDSS.g,
     33 *  Landolt92.B, GPC1.OTA32.r). Each photometric system is given a unique
     34 *  identifier ID. Observations taken with a specific camera, detector, and
     35 *  filter represent their own photometric system, and it may be necessary to
     36 *  perform transformations between these systems. Photometric systems
     37 *  associated with observations from a specific camera/ detector/filter
     38 *  combination can be associated with those components.
     39 *
     40 */
    2941typedef struct
    3042    {
    31         const int ID;
    32         const char *name;
    33         const char *camera;
    34         const char *filter;
    35         const char *detector;
     43        const int ID;                  ///< ID number for this photometric system
     44        const char *name;              ///< Name of photometric system
     45        const char *camera;            ///< Camera for photometric system
     46        const char *filter;            ///< Filter used for photometric system
     47        const char *detector;          ///< Detector used for photometric system
    3648    }
    3749psPhotSystem;
    3850
     51/** Photometric system transformation
     52 *
     53 *  This structure defines the transformation between two photometric systems.
     54 *
     55 */
    3956typedef struct
    4057    {
    41         psPhotSystem src;
    42         psPhotSystem dst;
    43         psPhotSystem pP, pM;
    44         psPhotSystem sP, sM;
    45         float pA, sA;
    46         psPolynomial3D transform;
     58        psPhotSystem src;                  ///< Source photometric system
     59        psPhotSystem dst;                  ///< Destination photometric system
     60        psPhotSystem pP;                   ///< Primary color reference
     61        psPhotSystem pM;                   ///< Primary color reference
     62        psPhotSystem sP;                   ///< Secondary color reference
     63        psPhotSystem sM;                   ///< Secondary color reference
     64        float pA;                          ///< Color offset for references
     65        float sA;                          ///< Color offset for references
     66        psPolynomial3D transform;          ///< Transformation from source to destination
    4767    }
    4868psPhotTransform;
Note: See TracChangeset for help on using the changeset viewer.