Changeset 1385 for trunk/psLib/src/astronomy/psAstrometry.c
- Timestamp:
- Aug 4, 2004, 1:37:39 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/astronomy/psAstrometry.c (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/astronomy/psAstrometry.c
r1382 r1385 8 8 * @author George Gusciora, MHPCC 9 9 * 10 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $11 * @date $Date: 2004-08-04 2 2:11:09 $10 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2004-08-04 23:37:39 $ 12 12 * 13 13 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 30 30 { 31 31 psExposure * exp = psAlloc( sizeof( psExposure ) ); 32 32 33 33 *( double* ) & exp->ra = ra; 34 34 *( double* ) & exp->dec = dec; … … 43 43 *( float* ) & exp->humidity = humidity; 44 44 *( float* ) & exp->exposureTime = exposureTime; 45 45 46 46 return exp; 47 47 48 48 } 49 49 … … 85 85 *( double* ) & grommit->longitudeOffset = exp->ra; // XXX Is this correct? 86 86 *( double* ) & grommit->siderealTime = 0.0; 87 87 88 88 psFree( slaGrommit ); 89 89 return ( grommit ); … … 101 101 psChip * tmpChip = NULL; 102 102 psCell *tmpCell = NULL; 103 103 104 104 tmpChip = psChipinFPA( tmpChip, coord, FPA ); 105 105 tmpCell = psCellinChip( tmpCell, coord, tmpChip ); … … 120 120 int nChips = chips->n; 121 121 psPlane* tmpCoord = NULL; 122 122 123 123 for ( int i = 0; i < nChips; i++ ) { 124 psChip* tmpChip = chips->data[ i ]; 125 tmpCoord = psPlaneTransformApply( tmpCoord, tmpChip->fromFPA, coord ); 126 if ( checkValidChipCoords( tmpCoord->x, tmpCoord->y, 127 tmpChip ) ) { 128 psFree( tmpCoord ); 129 // XXX: George, you didn't use the out parameter! 130 return ( tmpChip ); 131 } 124 psChip* tmpChip = chips->data[ i ]; 125 tmpCoord = psPlaneTransformApply( tmpCoord, tmpChip->fromFPA, coord ); 126 if ( checkValidChipCoords( tmpCoord->x, tmpCoord->y, 127 tmpChip ) ) { 132 128 psFree( tmpCoord ); 129 // XXX: George, you didn't use the out parameter! 130 return ( tmpChip ); 133 131 } 132 psFree( tmpCoord ); 133 } 134 134 psFree( tmpCoord ); 135 135 return ( NULL ); … … 142 142 ( y < 0.0 ) || 143 143 ( y > ( double ) tmpImage->numRows ) ) { 144 return ( 0 );145 }144 return ( 0 ); 145 } 146 146 return ( 1 ); 147 147 } … … 166 166 psPlane * tmpCoord = NULL; 167 167 psArray* cells; 168 168 169 169 if ( chip == NULL ) { 170 return NULL; 170 return NULL; 171 } 172 173 cells = chip->cells; 174 175 if ( cells == NULL ) { 176 return NULL; 177 } 178 179 for ( int i = 0; i < cells->n; i++ ) { 180 psCell* tmpCell = ( psCell* ) cells->data[ i ]; 181 psArray* readouts = tmpCell->readouts; 182 if ( readouts != NULL ) { 183 for ( int j = 0; j < readouts->n; j++ ) { 184 psReadout* tmpReadout = readouts->data[ j ]; 185 tmpCoord = psPlaneTransformApply( tmpCoord, tmpCell->fromChip, coord ); 186 if ( checkValidImageCoords( tmpCoord->x, tmpCoord->y, 187 tmpReadout->image ) ) { 188 return ( tmpCell ); 189 } 190 } 171 191 } 172 173 cells = chip->cells; 174 175 if ( cells == NULL ) { 176 return NULL; 177 } 178 179 for ( int i = 0; i < cells->n; i++ ) { 180 psCell* tmpCell = ( psCell* ) cells->data[ i ]; 181 psArray* readouts = tmpCell->readouts; 182 if ( readouts != NULL ) { 183 for ( int j = 0; j < readouts->n; j++ ) { 184 psReadout* tmpReadout = readouts->data[ j ]; 185 tmpCoord = psPlaneTransformApply( tmpCoord, tmpCell->fromChip, coord ); 186 if ( checkValidImageCoords( tmpCoord->x, tmpCoord->y, 187 tmpReadout->image ) ) { 188 return ( tmpCell ); 189 } 190 } 191 } 192 } 192 } 193 193 return ( NULL ); 194 194 } … … 229 229 sla_OAPQK(TYPE, OB1, OB2, *grommit, &RAP, &DAP); 230 230 */ 231 231 232 232 return ( out ); 233 233 } … … 253 253 psFPA *parFPA = ( cell->parent ) ->parent; 254 254 psGrommit *tmpGrommit = NULL; 255 255 256 256 tmp1 = psPlaneTransformApply( tmp1, cell->toFPA, in ); 257 257 tmp2 = psPlaneTransformApply( tmp2, parFPA->toTangentPlane, tmp1 ); 258 258 tmpGrommit = psGrommitAlloc( parFPA->exposure ); 259 259 tmp3 = psCoordTPtoSky( out, tmp2, psGrommit ); 260 260 261 261 psFree( tmp1 ); 262 262 psFree( tmp2 ); 263 263 psFree( tmpGrommit ); 264 264 265 265 return ( psCoordTPtoSky( out, tmp2, psGrommit ) ); 266 266 267 267 } 268 268 … … 272 272 { 273 273 psPlane * tmp1 = NULL; 274 274 275 275 tmp1 = psPlaneTransformApply( tmp1, cell->toSky, in ); 276 276 277 277 //XXX: Do something to convert the linear coords in tmp1 to spherical 278 278 // coords in out. 279 279 280 280 psFree( tmp1 ); 281 281 282 282 return ( out ); 283 283 } … … 294 294 double DOB; 295 295 double ROB; 296 296 297 297 if ( out == NULL ) { 298 out = ( psPlane * ) psAlloc( sizeof( psPlane ) );299 }300 298 out = ( psPlane * ) psAlloc( sizeof( psPlane ) ); 299 } 300 301 301 sla_AOPQK( psSphere->r, psSphere->d, *grommit, &AOB, &ZOB, &HOB, &DOB, &ROB ); 302 302 out->x = XXX; … … 335 335 out = psCoordFPAtoChip( out, out, whichChip ); 336 336 out = psCoordChiptoCell( out, out, whichCell ); 337 337 338 338 return ( out ); 339 339 } … … 344 344 { 345 345 if ( out == NULL ) { 346 out = ( psPlane * ) psAlloc( sizeof( psPlane ) );347 }348 349 return ( out ); 350 } 351 352 353 354 346 out = ( psPlane * ) psAlloc( sizeof( psPlane ) ); 347 } 348 349 return ( out ); 350 } 351 352 353 354
Note:
See TracChangeset
for help on using the changeset viewer.
